Tether: iMessage, SMS, and Apple Continuity on Linux — No Mac Required
For years, the one thing keeping Linux users tied to a MacBook wasn’t the software — it was the blue bubbles.
Zack Bartel moved to Linux full-time and found he missed almost nothing from macOS. Almost. The one thing he kept wishing for was Apple’s Continuity: iMessage and SMS from the computer, file sharing, clipboard sync, notifications — and especially that magic moment when an OTP code from Mail or Messages autofills into the login form you’re waiting on.
So he built Tether — an open-source, MIT-licensed bridge that brings Continuity to Linux+iPhone, no Mac relay required. It hit HN with 450 points and 178 comments and was instantly recognized as the missing piece of Apple lock-in.
What Tether does
| Feature | Transport | Details |
|---|---|---|
| iMessage / SMS | Bluetooth (MAP) | Send and receive over standard Message Access Profile |
| Notifications | Bluetooth (ANCS) | Full system notification mirroring over BLE |
| Contact sync | Bluetooth (PBAP) | Phonebook pulled from iPhone |
| File transfer | WiFi (mTLS) | Direct, end-to-end encrypted |
| Clipboard sync | WiFi (mTLS) | Copy/paste between iPhone and Linux (Wayland) |
| OTP autofill | WiFi + extensions | Mail extension → browser extension → autofill |
All networking is secured with mutually-authenticated TLS (mTLS) using X.509 RSA certificates — both sides must authenticate before anything communicates. The Bluetooth messaging layer rides on standard Bluetooth encryption. Security was a first-class citizen from day one, with regular bug/security sweeps since.
The trick: the EU smartwatch loophole
How does iMessage work on Linux without a Mac, a jailbreak, or Apple’s blessing? The answer is one of the most elegant security stories of 2026:
iOS 26.5 exposes full iMessage, RCS, and notification metadata over standard Bluetooth profiles — not by accident, but because EU smartwatch interoperability rules forced Apple to open them so third-party watches (Garmin, etc.) could show notifications and handle basic replies.
Tether’s Linux Bluetooth controller then does something delightfully cheeky: it spoofs its Bluetooth Class-of-Device to look like a car entertainment system. The iPhone, believing it’s connected to a vehicle dashboard, happily enables the “Show Message Notifications” toggle and grants MAP access.
And Apple can’t close the loophole without breaking Bluetooth integration for millions of smartwatches and cars worldwide — which EU regulators would never allow. The community’s verdict on HN: this is as safe as it gets.
The engineering behind the magic
- MAP (Message Access Profile) pulls inbox messages over Bluetooth Classic (OBEX), receives incoming-text notifications via MAP MNS push, and sends outgoing messages with MAP PushMessage
- PBAP (Phone Book Access Profile) resolves raw numbers/emails into contact names
- ANCS (Apple Notification Center Service) monitors all system notifications over a BLE GATT link
Group message threading was the hard part: MAP messages historically fail to list group recipients, breaking standard threading. The fix is a side-channel trick — ANCS notifications carry the group name and metadata over BLE, so the daemon deduplicates and cross-references both channels to reconstruct group structure.
The project also shipped with an OTP system built on browser and mail extensions (Zen Browser/Betterbird), and a planned TOTP vault.
The GPL vs MIT drama that changed a project
Tether is a clean-room C++ implementation because the existing reverse-engineered bridges (BlueFerry, iphonebridge) are GPL — and Zack wanted Tether to stay MIT:
“Personally, I think putting an interoperability protocol implementation behind a copyleft license is a little unfortunate! I’d rather see something like this usable by anyone.”
The post had a real, immediate effect: Paweł Zmarzły, creator of ancs4linux (which Tether’s notification code builds on), read the article and replied on HN: “Huh, haven’t thought of it. Just relicensed ancs4linux to MIT.”
The copyleft camp pushed back hard — AGPLv3 advocates argued that permissive licenses let corporations exploit volunteer labor. It’s a genuinely unresolved philosophical split, and this thread gave both sides a concrete case.
The ecosystem: who should use what
| Tool | License | Best for |
|---|---|---|
| Tether | MIT | Wayland users wanting the full Continuity suite (file drop, clipboard, OTP) + messaging |
| BlueFerry | GPL-2.0+ | Terminal power users wanting CLI/TUI with keyring-encrypted history |
| iphonebridge | GPL-2.0+ | Users who must have hands-free phone calls (HFP via oFono/PipeWire) |
| ancs4linux | MIT (now!) | Pure notification mirroring over BLE |
| KDE Connect | GPL | Android+Linux (iOS support officially ‘Won’t Implement’) |
| OpenBubbles | — | Serverless iMessage/FaceTime on Android (emulates a Mac on-device) |
| BlueBubbles / AirMessage | — | Android + always-on Mac server for full iMessage parity |
The reality check: Bluetooth on Linux, 2026
Zack’s own verdict: “a complete shit show.”
- Standard MAP messaging works on most controllers, but ANCS notification mirroring requires a secure BLE bond — and hardware support is a lottery
- Intel AX-series chipsets handle the key negotiation flawlessly
- Realtek chipsets and generic USB dongles fail entirely — their firmware negotiates legacy pairing keys that block the cross-transport key derivation iOS requires
- You need BlueZ 5.86+ with the experimental bearer API, manual systemd policies for non-root users, and the Class-of-Device spoof
Early adopters on HN reported installation friction on Fedora 44, Ubuntu 24.04, and Hyprland, plus outdated pairing docs. It’s a project for the technically willing — at least for now.
The bottom line
Tether is the closest thing yet to a complete Apple Continuity replacement on Linux — and its existence proves a larger point: Apple’s walled garden has cracks, and EU interoperability rules are widening them. The blue bubbles finally float on Linux.
If you’re on Linux with an iPhone, give it a try. The OTP autofill alone is worth it. 🔵💬
Build your own online course platform! Self-hosted, pay once and own it forever — with AI you can draft course content and outlines in minutes, and keep 100% of your revenue.