A lightweight macOS menu bar app for tracking nearby aircraft using ADS-B receivers.
- Menu Bar Integration — Lives in your menu bar, always accessible without cluttering your Dock
- Multiple ADS-B Sources — Connect to dump1090, SBS (BaseStation), or Beast protocol receivers
- Real-time Updates — See aircraft appear and update as they fly through your area, with color-coded freshness indicators
- Configurable Alerts — Get notified for proximity, specific squawk codes, watchlist aircraft, or aircraft types
- Highlight Colors — Assign custom colors to alert rules for visual identification
- Mini-map View — Quick visual overview of aircraft positions relative to your location
- Distance Filtering — Focus on aircraft within a specific range
- macOS 14.0 (Sonoma) or later
- An ADS-B receiver accessible on your network (e.g., RTL-SDR with dump1090, FlightAware PiAware, or similar)
Download the latest release from the Releases page and drag AirJedi.app to your Applications folder.
# Install xcodegen if you haven't already
brew install xcodegen
# Clone the repository
git clone https://github.com/airjedi/airjedi-notifier.git
cd airjedi-notifier
# Build and install
make install- Launch AirJedi from your Applications folder
- Click the airplane icon in the menu bar
- Open Settings to configure your ADS-B sources
- Add a source with your receiver's IP address and select the protocol
| Protocol | Default Port | Description |
|---|---|---|
| Dump1090 | 8080 | HTTP JSON polling — works with dump1090-fa, readsb, tar1090 |
| SBS/BaseStation | 30003 | TCP text stream — widely supported format |
| Beast | 30005 | TCP binary AVR frames — low-latency, efficient |
AirJedi stores settings in ~/Library/Preferences/com.airjedi.notifier.plist. You can configure:
- Sources — Multiple ADS-B receiver connections
- Display Settings — Maximum aircraft to show, stale threshold
- Location — Your position for distance calculations (or use automatic location)
- Alerts — Rules for proximity, squawk codes, ICAO watchlist, and aircraft types
Create custom alert rules to be notified when specific conditions are met:
- Proximity — Aircraft within a specified distance
- Squawk Code — Emergency (7500, 7600, 7700) or custom codes
- Watchlist — Specific ICAO hex codes you want to track
- Aircraft Type — Filter by aircraft type designator
Each rule can have a custom highlight color for easy visual identification in the aircraft list.
This project uses XcodeGen to generate the Xcode project from project.yml.
make build # Generate project and build (Debug)
make run # Build and launch the app
make release # Build release configuration
make clean # Remove build artifacts
make install # Build release and install to /Applications
make generate # Regenerate Xcode project onlyairjedi-notifier/
├── Sources/
│ ├── App/ # App entry point, state management, settings
│ ├── Models/ # Data models (Aircraft, Coordinate, etc.)
│ ├── Providers/ # ADS-B protocol implementations
│ ├── Services/ # Business logic (alerts, notifications)
│ ├── Utilities/ # Shared helpers (time formatting, etc.)
│ └── Views/ # SwiftUI views
├── Resources/
│ └── Info.plist
├── project.yml # XcodeGen configuration
└── Makefile # Build automation
Apache License 2.0 — see LICENSE for details.
- dump1090 and its many forks for ADS-B decoding
- The aviation enthusiast community for protocol documentation

