Bridge your iPhone to the Linux Wayland desktop
Tether aims to support all of the Apple Continuity features on Linux that are technically possible. If you've migrated away from macOS but still carry an iPhone, Tether provides the missing ecosystem integration.
| Feature | Status |
|---|---|
| Clipboard Sync | ✅ Stable |
| File Transfer | ✅ Stable |
| iOS App | ✅ Stable |
| Browser Extension | ✅ Stable |
| Mail Extension | 🔄 In Progress |
| TOTP/OTP Vault | 🗓️ Planning |
Seamlessly share your Wayland compositor (wlr-data-control) clipboard over the Tether network. Text copied on your Linux desktop appears instantly on your iPhone, and vice versa.
Drag and drop files from Linux directly into the iPhone app, or receive files automatically deposited to your $XDG_DOWNLOAD_DIR.
Securely pair devices using Mutually Authenticated TLS (mTLS), restricting TCP traffic securely using X.509 RSA certificates.
Streamline two-factor authentication across your devices:
- iOS Share Extension: Send OTP codes from your iPhone to your Linux clipboard.
- Thunderbird Addon: Automatically parse OTP codes from incoming email messages.
- Browser Extension: Autofill OTP codes into login forms from the iOS app or the mail extension.
A unified WebExtension that works across Thunderbird/Betterbird and Firefox/Chromium browsers:
- Thunderbird/Betterbird: Detects OTP codes in incoming emails (verification codes, 2FA messages) and copies them to the clipboard or sends them to the Tether daemon for vault storage
- Firefox/Chromium: Autofills OTP codes into login forms by retrieving secrets from the Tether vault, with one-click verification for sites using TOTP-based 2FA
The extension communicates with tetherd via native messaging. This allows users to autofill OTP codes into websites when the email arrives.
Tether uses a multi-component architecture:
-
tetherd(Linux Daemon) — A background C++ process built onepolland Wayland protocols viahyprwayland-scanner. Anchors the Linux clipboard and broadcasts events over UNIX Domain Sockets ($XDG_RUNTIME_DIR/tether/tetherd.sock). Network traffic securely traverses local TCP via OpenSSL. -
tether(CLI) — A lightweight C++ CLI program to communicate with the daemon. This also allows the WebExtension to interface with the daemon via native messaging. -
tether-gtk(GTK App) — A native GTK4 application for Linux that provides a graphical interface to manage devices, send files, trigger clipboard sync, and monitor connection status. -
iPhone App — Native SwiftUI iOS 16+ app that discovers the daemon via Bonjour/mDNS, utilizing Apple's
Network.frameworkfor secure TLS negotiation. -
Browser/Mail Extension — WebExtension that interfaces with the daemon via native messaging. Use with Thunderbird/Betterbird and Firefox or Chromium-based browsers.
- Wayland compositor with
wlr-data-controlprotocol (Hyprland, Sway, etc.) - Linux 5.15+ with glibc
- Build tools: CMake, Ninja, pkg-config
wayland-clientopensslpkg-configninjagtk4(fortether-gtk)nlohmann-jsonglib2
- iOS 16+
- Get the app: Tether - Linux Companion
- Firefox: Tether Browser Extension
yay -S tether# Clone the repository
git clone https://github.com/yourusername/tether.git
cd tether
# Build with CMake presets
make debug
# Run the daemon
make run-daemonThe daemon uses an advisory lock ($XDG_RUNTIME_DIR/tether/tetherd.lock) ensuring only one instance controls the Wayland connection at a time.
-
Build the project:
make debug
-
Start the daemon: (optional, the GTK app will auto-launch it if not running)
make run-daemon
-
Launch the GTK app (optional, for GUI-based device management):
make run-gtk
-
Pair your devices (select the auto-discovered iPhone from the GTK app or CLI):
./build/debug/tether pair
-
Start syncing clipboard and transferring files
- Complete iOS app development
- Add end-to-end encryption for file transfers
- Release browser extension for Firefox
- Release mail extension for Thunderbird
- Implement TOTP/OTP vault with Safari autofill
- Explore macOS support
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
Tether is licensed under the MIT License.
