wfb-link, a userspace WiFiBroadcast radio stack for macOS
InfrastructureFeatures
- Cross‑platform Rust facade for WFB link stacks
- macOS userspace radio backend using RTL8812AU USB adapters (e.g., ALFA AWUS036ACH)
- Linux native WFB-NG integration with rtl88xxau drivers
- Android USB host runtime and JNI transport support
- Product‑facing lifecycle API (`LinkBackend`, `LinkHandle`) for unified usage across platforms
Recent releases
View all 3 releases →- macOS 26 users should enable native IOUSBHost transport (`macos_usbhost.enabled = true` or `--macos-usbhost`) – the libusb claim path is not recommended
- Older Rust API aliases `MacosUserspaceRadio*` are deprecated and will be removed in a future release
- First alpha release of `wfb-radio-service` production‑oriented macOS RTL8812AU userspace radio service
- Addition of `wfb-radio-diag` for hardware bring‑up and RF/link diagnostics
- Introduction of `wfb-tun-macos` utun bridge helper for WFB tunnel recovery
Full changelog
wfb-link v0.1.0-alpha.1
First alpha release of wfb-link, a cross-platform WFB link stack and Rust integration facade.
Included
wfb-radio-service: production-oriented macOS RTL8812AU userspace radio service.wfb-radio-diag: hardware bring-up and RF/link diagnostics.wfb-tun-macos: macOS utun bridge helper for WFB tunnel recovery.- Example production configs and integration docs.
- Bundled
libusb-1.0.0.dylibwith binaries relinked to load it from../lib.
Integration
Rust product binaries should pin this release by tag for now:
wfb-link = { git = "[email protected]:arc-edge/wfb-link.git", tag = "v0.1.0-alpha.1" }
Use the generic UserspaceRadio* API names for direct-radio integrations. The older
MacosUserspaceRadio* names remain as deprecated compatibility aliases.
Current Platform Shape
- macOS: native userspace USB radio path for RTL8812AU adapters, tested with ALFA AWUS036ACH.
- macOS 26: use the native IOUSBHost transport (
macos_usbhost.enabled = true
in service configs, or--macos-usbhostin diagnostic/runtime commands). The
libusb claim path is not recommended on macOS 26. - Linux: intended path is native WFB-NG over
wfb0monitor mode with the aircrack/rtl88xxau driver. - Android: planned future backend using the same userspace radio contract with Android USB host transport.
Known Limitations
- This is a pre-release. The Rust API is intended for product integration, but not yet crates.io-stable.
- macOS binaries are ad-hoc signed, not notarized.
- RF quality and long-distance acceptance profiles are still being validated.
- Runtime IQK/LCK work is still evolving; use documented conservative profiles for production-style tests.
- macOS direct-radio support currently targets RTL8812AU/AWUS036ACH-class adapters.
Verification
Built on macOS 15.7.4 arm64 from commit 82468ed. The packaged binaries target
Apple Silicon macOS and should run on newer macOS releases; macOS 26 hardware
access should use the IOUSBHost backend rather than libusb.
Package smoke-tested on macOS 26.4.1 arm64:
- archive checksum verified and unpacked
- packaged binaries launched with
--help - packaged dylib load paths resolve through
@executable_path/../lib - ad-hoc code signatures verified
- read-only USB registry probe ran successfully; no RTL8812AU adapter was
attached to that host during the package smoke, so macOS 26 hardware claim/init
validation remains pending for a follow-up hardware-attached run
Checks run:
cargo fmt --all -- --checkcargo check --workspace --lockedcargo build -p wfb-link --examples --lockedcargo test --workspace --lockedcargo build --release --locked -p wfb-radio-service -p wfb-radio-diag -p wfb-tun- packaged binary help smoke for all three release binaries
codesign --verifyfor all packaged binaries and bundled libusb dylib
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.