◉ Pulse
jackhumphries avatar
#50 today ▼ 2

jackhumphries/airport-utility

Swift AI #afp #airport #airport-express #airport-extreme

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

Created Jul 27, 2026
Stars
11
Today
+1
Forks
1
Quality
100/100
Momentum
20

README

Fetched from GitHub on Oct 30, 2026, 10:18 PM UTC · README.md

View original on GitHub

Third-party content — Open Source Pulse is not the owner of this repository.

This README belongs to jackhumphries/airport-utility and its contributors. We fetch it directly from the project’s public GitHub repository and display it for reference only. All text, code, images and trademarks remain the property of their respective authors. See the repository for its license terms. Copyright / takedown policy.

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, using the techniques I describe in this HotNets 2026 paper (preprint pdf): "You Bought It, They Bricked It: A Call for Reclaiming Local Control".

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
Rendered by GitHub from the repository’s README. Scroll to read the full file.
First trending

Jul 28, 2026

first spotted on the list

Best rank

#20

highest position reached

Appearances

2

times on the trending list

Quality score

100

out of 100

Momentum

20

trend strength indicator

Star velocity

0.12

stars per day since creation

Activity — last 60 days

daily counts, collected every 6 hours
  • Stars
  • Forks
  • Merged PRs
  • Issues
  • Closed issues

Collecting activity data since launch — check back in a few days.

Star history

total stars per snapshot
9101112jackhumphries/airport-utility · Jul 28, 2 AM UTC: 10 starsjackhumphries/airport-utility · Jul 28, 8 AM UTC: 11 stars2:47 AM5:43 AM8:40 AM

Rank history

position on trending · lower is better
#1#20#25#30#35#40#45#50Jul 28, 2 AM UTC: rank #20Jul 28, 8 AM UTC: rank #502:47 AM5:43 AM8:40 AM

3D card for your website

Live HTML card with a glass surface and pointer tilt. Paste the iframe on any website.

<iframe src="https://www.notionpulse.cc/embed/jackhumphries/airport-utility" width="420" height="240" style="border:0;max-width:100%;background:transparent" loading="lazy" title="jackhumphries/airport-utility — trending on Open Source Pulse"></iframe>

Stars badge

Show current stars in your README or profile. Auto-updates every 6 hours.

jackhumphries/airport-utility stars badge
Markdown
[![jackhumphries/airport-utility](https://www.notionpulse.cc/api/badge/jackhumphries/airport-utility.svg)](https://www.notionpulse.cc/repo/jackhumphries/airport-utility)
HTML
<a href="https://www.notionpulse.cc/repo/jackhumphries/airport-utility"><img src="https://www.notionpulse.cc/api/badge/jackhumphries/airport-utility.svg" alt="jackhumphries/airport-utility stars badge" /></a>

Repository of the Day

#20 Repository of the Day

Repository of the Week

#20 Repository of the Week

Repository of the Month

#20 Repository of the Month