{
  "id": 4229947,
  "title": "Tether: iMessage, SMS, etc. on Linux",
  "url": "https://urgent.news/2026/08/24/tether-imessage-sms-etc-on-linux",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-24T05:09:23.000Z",
  "source": {
    "name": "Hacker News",
    "slug": "hacker-news",
    "url": "https://zackbartel.com/blog/2026/08/tether/"
  },
  "original_language": "en",
  "account": "When the reporter transitioned to using Linux full-time, they found themselves missing several features from macOS. One such feature was Continuity, which allowed users to send and receive iMessages and SMS, share files, sync the clipboard, and view notifications from their iPhone on their computer, especially when an OTP code was sent to Mail or Messages and needed to be autofilled into the login form. The reporter found that fully implementing Continuity on Linux was impossible, but aimed to implement as much of it as technically possible. Tether, the reporter's project, began by addressing major gaps such as clipboard sync, which was essential for copying and pasting between macOS and Linux. After shipping the iOS app with only clipboard sync support, the reporter added file transfer and then mail and browser extensions to handle OTP codes. The reporter used Firefox and Thunderbird with WebExtensions to create these extensions, which autofilled OTP codes as they arrived. The reporter discovered projects like ancs4linux and BlueFerry, which provided the necessary protocol documentation for implementing iMessage and SMS on Linux. Despite licensing issues, the reporter created a clean-room implementation in C++ and integrated Bluetooth support, enabling iMessage, SMS, notifications, and contact sync on Linux. Tether now supports file transfer, clipboard sync, OTP handling, and all the features mentioned above. The reporter hopes that Tether will be accessible to everyone and welcomes contributions, bug reports, feature requests, translations, and documentation.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}