Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AirPort Utility (beta)

Apple's AirPort Utility is not guaranteed to run on macOS 27 and newer, so I reverse engineered the application and have reimplemented it for macOS 27 and newer with Swift (front-end code) and Python (backend protocol code). I leveraged Codex to accelerate this work.

AirPort Utility network topology

AirPort Utility Internet settings

I have tested the app with the AirPort models below. However, bugs still remain and there are models I have not tested with. Even for devices that I have tested with, I cannot test all features, such as PPPoE, as I lack the necessary hardware. All contributions are welcome! Please open bug reports for any issues you find and pull requests are greatly appreciated!


Compilation

The build and runtime requirements are:

  • macOS 13 or newer
  • Swift 6.0 or newer, provided by Xcode 16 or newer or the corresponding Command Line Tools
  • Python 3.10 or newer available on PATH as python3

The project has no third-party Swift packages or Python packages to install. AppKit, SwiftUI, Security, Bonjour, and CommonCrypto are provided by macOS.

On a new Mac, install the Command Line Tools:

xcode-select --install

If python3 --version reports a version older than 3.10, install a newer Python. For example, with Homebrew:

brew install python

Verify that the required tools are selected:

swift --version
python3 --version

Then compile and run the application from the root of the repository:

./run.sh

Testing

Run the Swift unit tests from the root of the repository:

swift test

The default test run skips slower subprocess integration tests. Include them with:

AIRPORT_UTILITY_SLOW_TESTS=1 swift test

Run the Python backend unit tests separately:

python3 -m unittest Tests/BackendPythonTests/test_backend_modules.py

Live base-station tests are skipped unless their AIRPORT_LIVE_* environment flags are explicitly set. These tests can change network, password, disk, or firmware settings on real hardware and are not required for the normal test suite.


Recovered AirPort models

The app has been tested with these AirPort models. The app is still likely to work with AirPort models not listed, at least partially. The goal is to fully support all features of all models.

Name Model ACP Version Device-Specific Features
AirPort Express A1088 v1 AirPlay
AirPort Express A1392 v2 AirPlay
AirPort Extreme A1034 v1 Modem, No NAS
AirPort Extreme A1354 v2 NAS
AirPort Extreme A1521 v2 NAS
Time Capsule A1254 v2 NAS, Internal Disk
Time Capsule A1470 v2 NAS, Internal Disk

About

Re-creation of Apple's AirPort Utility for macOS 27 and newer

Topics

Resources

Security policy

Stars

36 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages