Tether for Linux: iPhone Continuity Features on Wayland
Linux + iPhone Continuity / iMessage / SMS
At a glance
- What is it?
- Tether is a C++ Linux desktop bridge for iPhone users who want Continuity-style clipboard sync, file transfer, messages, notifications, and calls. It uses Wi-Fi and Bluetooth LE through the iOS companion app, browser extension, and mail extension, with several features still marked Beta or Alpha.
- Who is it for?
- Adopt Tether if you use an iPhone with a Linux Wayland desktop and specifically need clipboard sharing, file transfer, OTP workflows, or message access. Do not adopt it as a complete macOS replacement, since notification mirroring, calls, and AirPods remain Beta or Alpha.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 21, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Why Tether exists for Linux and iPhone users
Tether addresses a specific gap for people who have moved from macOS to Linux but continue using an iPhone. The repository describes the goal as supporting Apple Continuity features that are technically possible on Linux, rather than reproducing the entire macOS ecosystem. Its documented feature set includes text clipboard synchronization, file transfer, SMS and iMessage conversations, notification mirroring, phone-call control, OTP handling, and opt-in AirPods integration.
The intended user is someone running a Linux Wayland desktop with an iPhone. Tether is not a general-purpose phone backup tool, a remote administration system, or a replacement for every Apple service. Its value comes from keeping common phone and desktop interactions available on Linux. The project also includes three companion components that participate in the workflow: the iOS app named Tether - Linux Companion, the Tether Browser Extension for Firefox and locally built Chrome or Chromium, and the Tether Mail Extension for Thunderbird or Betterbird.
The feature table is more useful than the project's broad Continuity wording because it distinguishes stable capabilities from experimental ones. Clipboard Sync, File Transfer, the iOS App, Browser Extension, Mail Extension, and Messages are listed as Stable. Notification Mirroring is Beta, Phone Calls are Alpha and limited to PipeWire, and AirPods support is Alpha and opt-in. That distinction matters when deciding whether Tether can support a daily workflow.
Tether's Wi-Fi and Bluetooth data paths
Tether communicates with the iPhone through two paths. Wi-Fi is used for clipboard synchronization, file transfer, and OTP handling. Bluetooth is used for Messages, Notifications, and Calls. The README says that users can use either connection or both, depending on which features they need. This design means that a deployment may need both Linux network access and Bluetooth LE configuration, even when a particular feature only depends on one path.
The transport uses TLS 1.2, and both sides present a self-signed X.509 certificate. The documentation states that the connections are encrypted in transit, but it does not describe certificate distribution, trust verification, key rotation, or the full pairing procedure. For an engineer reviewing a deployment, that omission is significant. A self-signed certificate is part of the documented connection model, but the README does not explain how a Linux operator should inspect or renew those certificates.
The desktop side is divided into a daemon, a GTK application, and a command-line program. The repository Makefile identifies the daemon as `tetherd`, the GTK executable as `tether-gtk`, and the CLI as `tether`. The README's AppImage instructions expose Bluetooth setup and extension-host installation through command-line modes on the same binary. Browser and mail extensions communicate with `tetherd` through native messaging. This creates a concrete data path from the iPhone or mail client, through the daemon, to a browser form or desktop interface, although the README does not publish the internal message schema.
Installing Tether on Linux distributions and immutable systems
For Arch Linux, the README gives a single package installation command. The package is named `tether`, so users of Arch-based distributions can begin with the documented package path rather than compiling the repository.
yay -S tetherFor systems without a package, the README points to the releases page for an AppImage named `tether-<version>-<arch>.AppImage`. The file must be made executable before it can be started. The GTK application, Bluetooth setup command, and extension-host installation are launched from that same AppImage.
chmod +x tether-*.AppImage
./tether-*.AppImage
./tether-*.AppImage --bt-setup
./tether-*.AppImage --install-extension-hostThe first command changes the downloaded file's permissions. The next starts the GTK app. The `--bt-setup` mode prints the one-time system commands needed for Bluetooth features, while `--install-extension-host` installs the component used by the browser or mail extension. The AppImage requires glibc 2.38 and libstdc++ from GCC 13, with the README naming Fedora 39+, Ubuntu 23.10+, Debian 13+, and Arch as compatible targets. The README also warns that the AppImage cannot perform the iPhone Bluetooth system setup automatically.
A Flatpak build is available from the same releases location. The documented installation and launch commands are:
flatpak install ./tether-*.flatpak
flatpak run com.tether.desktop
flatpak run --command=tether com.tether.desktop --bt-setup
flatpak run --command=tether com.tether.desktop --install-extension-hostThe Flatpak route has a documented limitation: clipboard sync will most likely not work because the feature depends on the privileged `data-control` protocol. The README recommends the AppImage when clipboard sync is required. That makes AppImage the more appropriate documented choice for users who treat clipboard synchronization as a core requirement.
Building Tether from source for a first Linux run
The repository includes a Makefile for source builds and a Nix development shell. The README shows the following test workflow after entering the development shell:
nix develop
make test`make test` first builds the debug target through the Makefile, then runs `ctest` in `build/debug` and executes the extension test suite from the `extension` directory. The Makefile also exposes a release build:
make releaseThat target configures and builds the `release` preset, then creates a `compile_commands.json` symlink for editor tooling. The repository Makefile also provides `make run-daemon`, `make run-cli`, and `make run-gtk`, which invoke the debug binaries after building them. These targets give a source-based user a practical first path without inventing flags that are not present in the repository.
The README documents installation of the iOS app through the App Store link and installation of the Firefox and Thunderbird extensions through their respective add-on stores. Chrome and Chromium users are directed to the local installation instructions in `extension/README.md`, but those instructions are not included in the available repository text. The first real workflow therefore depends on the distribution choice: install the Linux package or application bundle, install the iOS companion app, then install the relevant extension if OTP autofill or email parsing is required. The documentation does not give a single end-to-end pairing command for all features.
Using clipboard, files, messages, notifications, and OTP handling
Clipboard Sync is listed as stable and works in both directions. The README states that text copied on Linux appears on the iPhone and text copied on the iPhone appears on Linux. File Transfer is also stable. Users can drag and drop files from Linux into the iPhone app, or configure files to arrive automatically in `$XDG_DOWNLOAD_DIR`, which the README identifies as `~/Downloads` in the usual home-directory layout.
Messages support covers reading and replying to SMS and iMessage conversations from the desktop. Notification Mirroring is intended to surface notifications from any phone app, but its status is Beta. The distinction between stable and Beta functionality should be preserved in an adoption decision. The documentation does not specify notification ordering, attachment limits, message history limits, delivery status, or behavior when the iPhone is offline.
OTP handling spans several components. The iOS Share Extension can send OTP codes from the iPhone to the Linux clipboard. The Thunderbird or Betterbird extension can parse incoming email for verification codes. The browser extension can retrieve stored codes and autofill them into login forms, including one-click verification for sites using TOTP-based two-factor authentication. SMS and iMessage OTP detection is offered to the browser extension. These features rely on the iPhone, mail client, browser extension, and `tetherd` being correctly connected, so installing only the desktop app does not enable the full chain.
The phone-call feature is different from a full audio bridge. It supports placing, answering, and ending calls, shows caller ID, carrier, and signal, lists recent calls, and marks iPhone favorites in Contacts. The call audio stays on the iPhone. The README says users must enable `Phone Recents` and `Phone Favorites` under the iPhone's Bluetooth settings for the computer. With stock PipeWire, the computer can act as the phone speaker, but that moves the phone's music and sounds to the desktop. Calls are Alpha and PipeWire only, while AirPods support is also Alpha and opt-in.
Tether's maintenance signals and upgrade work
The repository is not archived, and its last push was on 2026-10-15. The recent release list includes v0.2.38 on 2026-10-14, v0.2.37 on 2026-10-10, and v0.2.36 on 2026-10-07. These are recent maintenance signals based on the repository facts, but they do not establish compatibility with every Linux distribution or every iPhone update.
Tether is written primarily in C++ and uses CMake and a Makefile for native builds. The Makefile provides separate `debug`, `release`, `install`, `package`, `test`, `run-daemon`, `run-cli`, and `run-gtk` targets. It also includes `reset`, `reset-wifi`, and `reset-bt` targets that call `scripts/tether-reset.sh`. Those reset targets are relevant when changing pairing or connection state, although the README does not describe when they should be used or what data they remove.
The project is licensed under MIT. That permits use and modification under the license's conditions, but this review does not interpret the legal terms or advise on distribution. Upgrade cost is not a single installation step: users may need to update the Linux package or AppImage, the iOS companion app, the Firefox or Chromium extension, and the Thunderbird extension separately. Native messaging and Bluetooth setup may also need to be checked after an upgrade. The documentation does not state a migration procedure, rollback process, or compatibility policy between releases.
Choosing Tether against simpler Linux alternatives
The practical alternative is to keep the iPhone's features separate: use the phone's native iMessage and notification handling on iOS, use a Linux file manager or Bluetooth transfer utility for files, and use a password manager or the desktop clipboard for OTP codes. That approach avoids Tether's daemon, native messaging, iOS companion app, browser extension, mail extension, Bluetooth setup, and device pairing. It is simpler when the requirement is limited to one or two isolated functions.
Tether is different because it attempts a shared desktop integration across several Apple workflows. The browser and mail extensions use native messaging to communicate with `tetherd`, while the desktop application provides access to messages and phone controls. The README also describes automatic incoming-file handling and cross-device clipboard behavior. Those capabilities are the reason to accept the additional setup cost.
The trade-off is feature maturity and platform scope. Tether cannot be evaluated as a uniform Continuity replacement because Notification Mirroring is Beta, Phone Calls are Alpha and PipeWire-only, and AirPods are Alpha and opt-in. Flatpak users also face a likely clipboard-sync failure. The project is therefore a better fit for an iPhone user who values several integrations together than for someone who needs one reliable transfer function or a complete audio bridge.
Editorial conclusion
Adopt Tether if you use an iPhone with a Linux Wayland desktop and specifically need clipboard sharing, file transfer, OTP workflows, or message access. Do not adopt it as a complete macOS replacement, since notification mirroring, calls, and AirPods remain Beta or Alpha. Verify first that your required Bluetooth setup, Linux audio path, distribution, and browser integration match your deployment.
Frequently asked questions
What does Tether do on Linux?
Tether links an iPhone to a Linux Wayland desktop. Its documented features include clipboard sync, file transfer, SMS and iMessage access, notifications, phone-call control, OTP handling, and opt-in AirPods integration.
How do I install Tether on Linux?
Arch Linux users can run `yay -S tether`. Other users can download an AppImage or Flatpak from the releases page, while source users can enter `nix develop` and run `make test`.
Does Tether support phone calls and AirPods?
Phone calls are listed as Alpha and require PipeWire. The call audio stays on the iPhone by default, while AirPods support is also Alpha and must be enabled as an opt-in feature.
Why might clipboard sync fail in the Flatpak version?
The README says clipboard sync will most likely not work in the Flatpak version because it depends on the privileged `data-control` protocol. It recommends using the AppImage when clipboard sync is required.
What components are needed for Tether OTP autofill?
The workflow can involve the iOS Share Extension, the Thunderbird or Betterbird extension, the browser extension, and `tetherd` through native messaging. The mail extension parses codes, while the browser extension retrieves secrets for login-form autofill.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/zackb-tether)