Tether adds iMessage, SMS and notifications to Linux

A developer who switched to Linux full time found they did not miss much from macOS, with one exception: Apple's 'Continuity' features, the ability to send and receive iMessages and SMS, share files, sync the clipboard and see iPhone notifications on the computer. The single feature missed most was OTP codes sent to Mail or Messages autofilling into a login form. Since Continuity cannot be fully replicated outside Apple's own ecosystem, the developer set out to build as much of it as is technically possible on Linux, in a tool called Tether.

KDE Connect, an existing tool the developer calls great for Android users, was ruled out: it did not do what the developer wanted, and its roadmap suggested it never would.

Clipboard sync came first, both because it was needed for the planned OTP flow and because it was the easiest feature to build; it let the developer copy and paste between macOS and a Wayland Linux desktop while laying the technical foundation for everything that followed. Expecting Apple's App Store review to be a hurdle, the developer shipped the iOS app first with only clipboard sync, while the Linux side had just a bare 'tetherd' daemon. Security was built in from day one: networking between the iOS and Linux sides has used mutual TLS since the start, and both devices must explicitly agree before any data moves between them; the developer has since run recurring 'Opus' and 'Fable' bug and security sweeps, though the source does not say what those two sweeps involve. File transfer came next and, unlike the rest, went in quickly and easily.

For OTP autofill, the developer built a pair of extensions rather than anything more elaborate, relying on WebExtensions support in Zen Browser (built on Firefox) and Betterbird (built on Thunderbird). A mail extension watches for OTP codes and passes them to a browser extension, which finds OTP input fields on the page and fills them in as codes arrive. It works well, but only for that specific browser and mail client: anyone using a different mail client is, in the developer's words, 'kinda out of luck for now,' and the developer is asking for help extending support.

The hardest piece was iMessage and SMS. Until this project, the developer believed there was no direct interface to iMessage or SMS at all, short of running a proxy on a Mac, which the developer tried over Tailscale and found unpleasant. That changed after finding two existing projects, ancs4linux and BlueFerry, and protocol documentation credited to a contributor called erikwb, which finally explained the underlying mechanism. Because ancs4linux and BlueFerry are GPL-licensed and Tether is, and will remain, MIT-licensed, the developer wrote a clean-room implementation in C++ rather than reuse their code. The developer calls it 'a little unfortunate' to put an interoperability protocol implementation behind a copyleft license, and would rather see this kind of implementation usable regardless of the license of whatever project adopts it, floating the idea of a separate library called 'libtether.'

Even with the protocol understood, the Bluetooth integration itself was rough: the developer describes 'problem after problem with no clear explanation,' an 'automatic kicking machine' that disconnects devices, and a long list of edge cases added to compensate for what the developer calls 'bluetooth's inadequacies.' The result is that Tether now adds iMessage, SMS, notifications and contact sync on Linux, on top of the file transfer, clipboard sync and OTP handling it already had, and the OTP autofill that started the whole project finally works in the browser.

The developer says Tether scratched a personal itch but is meant for everyone, and that using it brings no benefit beyond the satisfaction of having built something useful. The post closes with a call for contributions, bug reports, feature requests, translations and documentation, and an invitation for any Linux user with an iPhone to try it. The source does not name the developer, give a timeline for when any feature shipped, state how many people use Tether, or say where its source is published; it states only that the license is MIT.

Key facts

  • Tether is an MIT-licensed, open-source Linux tool built to replicate as much of Apple's Continuity suite as is technically possible: iMessage, SMS, clipboard sync, file transfer, notifications, contact sync and OTP autofill.
  • The newest features, iMessage, SMS, notifications and contact sync, needed a clean-room C++ implementation of a Bluetooth-based protocol, built after studying the GPL-licensed ancs4linux and BlueFerry projects and documentation credited to a contributor called erikwb.
  • Networking between the iOS and Linux sides has used mutual TLS since Tether's start, requiring both devices to explicitly agree before they communicate, and the developer runs recurring 'Opus' and 'Fable' bug and security sweeps.
  • OTP autofill, the feature that motivated the whole project, works through a Betterbird mail extension that detects codes and a Zen Browser extension that fills them in, currently limited to that one mail and browser pairing.
  • The developer rejected KDE Connect as not meeting their needs and found running a Mac-based proxy for iMessage and SMS, even over Tailscale, an unpleasant experience before building Tether's own implementation.

Why it matters

Tether shows a single developer can, working alone, understand and reimplement enough of Apple's proprietary Continuity mechanism, iMessage and SMS on the desktop, clipboard sync, file transfer, notifications and contact sync, to bring most of it to Linux, a platform Apple's own software does not support. The story also carries a live licensing argument: because the existing groundwork projects, ancs4linux and BlueFerry, are GPL-licensed and Tether is and will remain MIT-licensed, the developer chose to write a clean-room implementation rather than reuse their code, arguing that an interoperability protocol implementation should be usable regardless of the license of whatever project adopts it.

Who it affects

The tool targets a narrow group: people who use Linux as their main desktop but carry an iPhone, a combination Apple's own software does nothing for. Within that group, OTP autofill currently only helps people who also use Zen Browser and Betterbird, the one mail and browser pairing the extensions support; the developer says users of other mail clients are 'kinda out of luck for now.' It has no particular relevance to Android users, who already have KDE Connect, or to anyone not running Linux and iOS side by side.

How to use it

Tether is an iOS app paired with a Linux-side 'tetherd' daemon; the two must pair and mutually agree over mTLS before exchanging any data. Getting OTP codes to autofill in the browser additionally requires the Betterbird mail extension and the matching Zen Browser extension the developer built. The project is MIT-licensed and open to contributions, bug reports, feature requests, translations and documentation, and the developer explicitly asks people on other mail or browser setups to help extend support. The source gives no download link or repository location, no pricing or user-count information, and no list of tested Linux distributions or iPhone models.

How solid is it

This is a first-person account from Tether's own developer, not an independent review, so every claim about its design comes from the person who built it. The developer describes concrete security choices, mTLS from the start and mandatory device pairing, plus recurring 'Opus' and 'Fable' bug and security sweeps, though the source never explains what those two sweeps actually check. The iMessage and SMS bridge was not built from scratch: it rests on protocol groundwork from the existing ancs4linux and BlueFerry projects and documentation credited to a contributor called erikwb. The post drew substantial discussion after being shared on Hacker News, though that reception speaks to reader interest rather than to any independent verification of the claims themselves.

Risks and caveats

The developer's own account of building the Bluetooth integration is blunt: 'problem after problem with no clear explanation,' an 'automatic kicking machine' that disconnects devices, and a long list of edge cases patched in to compensate for what the developer calls 'bluetooth's inadequacies,' with a side comment that Bluetooth integration generally remains messy in 2026. That does not mean Tether's own Bluetooth link is unreliable today, only that getting there took considerable trial and error. OTP autofill, separately, works with only one mail client and one browser at the moment. The source does not name the developer, give a timeline for when any feature shipped, state how many people use Tether, or say where its source code is published, so there is no way to independently check maturity, activity level or real-world adoption beyond the fact that it drew attention on Hacker News.

“I don't get anything out of people using it other than the satisfaction of knowing that something I built is useful.”

— Tether's developer, in the blog post announcing the release