プログラミング
Tether: Linux上のiMessage、SMSなど
Tether: iMessage, SMS, etc. on Linux (zackbartel.com)
要約
LinuxユーザーがiPhoneのContinuity機能(iMessage、SMS、クリップボード同期、ファイル転送、OTP自動入力など)を利用できるようにするツール「Tether」が開発されました。特に、Bluetooth経由でのiMessage/SMS送受信機能の実現に注力しており、macOSからLinuxへ移行したユーザーの不便を解消することを目指しています。開発者は、セキュリティを重視し、オープンソースでの貢献を歓迎しています。
全文翻訳
Tether: Linux + iPhone // 2026年8月23日
macOSを恋しく思うことはありませんでしたが… Linuxへ完全に移行したとき、macOSから失ったものはほとんどないことに驚きました。要するに、私が恋しく思っていたことをすべて行うためにTetherを作成しました。
AirPlayがないのは少し残念でしたが、私が常に欲しかったのはAppleが「Continuity」と呼ぶ機能でした。これは、iMessageやSMSを送受信したり、ファイルを共有したり、クリップボードを同期したり、iPhoneからの通知をコンピューターで見たりできる機能です。特に、メールやメッセージに送信されるOTPコードが、Macで待っているログインフォームに自動入力されることです。それは些細なことのように思えますが、私が本当に恋しく思っていたのはそれだけでした!
LinuxでContinuityのすべてを完全に実装することは不可能ですが、Tetherの目標は技術的に可能なすべてを行うことです。
尋ねる前に、KDE Connectが存在することは知っています。それは素晴らしいです!Androidを使用しているなら、間違いなくそれを使用すべきです。問題は、それが私の望むことをしなかったことと、そのロードマップがそれを決して行わないことを示唆していたことです。
起源
Tetherは、主要な穴を埋めることから始まりました。クリップボード同期が最初でした。OTPフローが欲しかったのです。そして、これが必須になることを知っていました。そして、それは最も簡単なことでもありました。これにより、macOSとLinux(Wayland)間でコピー/ペーストできるようになり、プロジェクトは後で必要になるであろうすべての基盤を構築することを余儀なくされました。
App Storeが障害になることはわかっていたので、最初にiOSアプリをリリースしましたが、クリップボード同期のみをサポートしていました。Linux側には非常に基本的なtetherdデーモンがありましたが、それだけでした。
セキュリティは最初から最優先事項でした。安全性を決して犠牲にしませんでした。iOSとLinux間のネットワーキングは最初からmTLSであり、通信する前に両方の側が同意する必要があります。それ以来、私はOpusとFableのバグ/セキュリティスウィープを定期的に行っています。
その後、ファイル転送が次の明白なステップであり、それは迅速かつ簡単に行われました。
メールとブラウザの件
私はあまり創造的ではありません。正直に言うと、私は少しズルをしました。Zen Browser(Firefox)とBetterbird(Thunderbird)を使用しており、どちらもWebExtensionsを非常によくサポートしています。そのため、OTP関連を処理するためのブラウザおよびメール拡張機能を作成しました。メール拡張機能はOTPコードを探し、それをブラウザ拡張機能に送信します。ブラウザ拡張機能はOTP入力要素を探し、メールからOTPコードが到着すると自動入力します。実際、それは素晴らしいです!問題は、幅広いサポートです。別のメールクライアントを使用している場合は、今のところ運が悪いです。誰かがその手助けをしてくれるなら、私は大歓迎ですが、それは私の快適ゾーンからかけ離れているため、私はバックエンド側にとどまります。
Bluetoothのブレークスルー
私のこれまでの理解では、iMessage/SMSに直接アクセスするインターフェースはありませんでした。Macでプロキシを実行して、それを通じてテキストを送受信することは常に可能でしたが、私の意見ではそれは解決策ではありません。試しました。Tailscaleを使用しても、それは不快な経験でした。
それから、ancs4linux、そして後にBlueFerryに出くわし、完全にショックを受けました。特に、erikwbのプロトコル文書は、何が起こっているのかを理解するのに十分な情報を提供してくれました。ライセンスの問題があり、これらのプロジェクトはGPLであり、TetherはMITであり、これからもMITであり続けますが、それでもC++でクリーンルーム実装を行いたかったのです。個人的には、相互運用性プロトコルの実装をコピーレフトライセンスの後ろに置くのは少し残念だと思います!プロジェクトが使用するライセンス(libtether?)に関係なく、誰でも使用できるようなものを見る方が良いでしょう。
anyway、本当に難しい問題が解決されたので、実装はBluetooth統合がどれほどスムーズに進むか予想できるほどスムーズに進みました(2026年でもまだ完全なカオスです)。明確な説明のない問題、自動キックマシン、そしてBluetoothの不備を補うための注意深く追跡されたエッジケースの数々。しかし、私たちはそこに到達しました。そしてTetherは現在、LinuxでのiMessage、SMS、通知、連絡先同期をサポートしています。以前のファイル転送、クリップボード同期、OTP処理に加えてです。そして、私のくそったれなテキストOTPコードが、ついにウェブブラウザに自動入力されるようになりました!
なぜ?
このプロジェクトで自分の不便を解消しましたが、Tetherがすべての人にとって役立つことを心から願っています。私が構築したものが役立つことを知っている満足感以外に、人々がそれを使用することから何も得られません。貢献を歓迎します!バグ、機能リクエスト、翻訳、ドキュメント、本当に何でも素晴らしいでしょう。
LinuxでiPhoneを使用しているなら、ぜひ試してみてください。