Tether: Apple Continuity Like Experience Between iOS and Linux Desktop Machines
Zack Bartel has developed Tether, an open-source project designed to integrate Apple Continuity features with Linux workstations. Tether allows users to send iMessages, sync clipboards, and view iOS notifications directly on Linux. It uses secure local network communication and a custom Bluetooth stack to ensure reliable connectivity and robust security in cross-platform interactions. By Olimpiu…
Zack Bartel, a developer, recently unveiled Tether, an open-source initiative designed to mirror Apple's Continuity features for Linux users. The application facilitates various functions such as sending and receiving iMessages, syncing clipboards, transferring files, and viewing iOS notifications on a Linux machine. The core of Tether's architecture rests on two significant components: secure local network communication and a custom Bluetooth stack, both of which are engineered to circumvent traditional operating system constraints. Bartel emphasized that security and dependable networking are the bedrock of Tether's design.
Initially, data exchange between the iPhone application and the Linux server was protected through mutual TLS authentication. This meant both the mobile device and the computer had to mutually agree to the connection before any data could be transferred. Security is a top priority for Tether, with regular security audits conducted by Opus and Fable.
The most challenging technical feat, according to Bartel, lies in bridging the gap between iOS notifications and messages using Bluetooth. Previously, developers would utilise proxy servers running on a Mac to manage iMessage routing. However, Bartel circumvented this by constructing a clean-room C++ implementation of the necessary Bluetooth protocols to communicate directly with iOS.
Inspired by open-source projects like ancs4linux and BlueFerry, as well as protocol documentation from erikwb, Bartel crafted the Bluetooth stack and made it available under the permissive MIT license. This Bluetooth integration is responsible for handling iMessage, SMS, contact synchronisation, and push notifications directly on the Linux machine, overcoming the complexities and nuances of modern Bluetooth.
An additional innovative function of Tether is its automatic management of one-time passwords. Bartel developed custom WebExtensions for Zen Browser and Betterbird to replicate the macOS experience where authentication codes are seamlessly filled in login forms. Whenever an authentication code is received via text or email on the iPhone, Tether intercepts it and transmits it across the secure network link to the mail extension on Linux.
This extension then works in tandem with the browser extension to automatically populate the waiting input field, all without the need for external third-party cloud servers. Although there are certain limitations currently, Bartel has demonstrated the viability of cross-OS interactions, showcasing the potential for future seamless user experiences that transcend operating system boundaries.
Written by urgent.news from InfoQ's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.