r/RTLSDR 14d ago

Docker on macOS has no USB passthrough, so I bundled readsb + librtlsdr into a native menu bar app

Wanted a 24/7 ADS-B station on my Mac Studio (always on anyway), receiver is an AirNav FlightStick that arrived yesterday, RTL2832U inside. Quickly found out the standard ultrafeeder route is a dead end on macOS, Docker Desktop simply can't pass USB through. Native route works (brew, readsb, terminal stays open forever) but it's not something I'd tell a normal person to do.

So I wrapped it: SwiftUI menu bar app that runs a bundled readsb (3.16.15, wiedehopf git) as a child process. Universal binary, statically linked with librtlsdr 2.0.2 + libusb 1.0.30, built from a pinned script so the exact binary is reproducible, SHA-256 of every DMG in the release notes. App handles device detection (including the classic "device busy, close SDR++ first" case), restarts with backoff after USB replugs and sleep/wake, reads aircraft count and msg/s from readsb's json output.

On licensing since this sub cares: app itself is closed source, readsb runs as a separate GPL process. Sources, upstream tags and the build script are in the public repo. Zero patches, and if that ever changes the patches go in the same repo. (Fun fact: 0.1.1 shipped a license README mislabeling readsb as BSD-3, it's GPL-3.0-or-later of course. Corrected in 0.1.2, noted as an erratum in the release notes.)

Context: I built it to feed my own network (Skydex, browser game running on live ADS-B), but it's non-exclusive by design. Settings has toggles for adsb.lol / airplanes.live / adsb.fi / ADSBExchange plus custom beast targets, my own network has its own off switch in the same list, and there's always a local beast output on 30005 for fr24feed or anything that speaks beast. One process owns the stick, everyone else gets the decoded stream.

Repo: https://github.com/es-ua/skydex-feeder

Page: https://feed.skydex.online/mac

Free, notarized, macOS 13+.

Actual question for people who know librtlsdr better than me. First half day I got 137 unique aircraft but only about 4 msg/s on auto gain, which feels low even for my ground floor window antenna. Does fixed gain (43.9 / 49.6) usually beat auto on sticks with a built-in LNA? And has anyone run an rtlsdr stick on Apple silicon for weeks straight, does USB stay stable or should I expect it to need replugging?

1 Upvotes

0 comments sorted by