レトロコンピューティングのプロジェクトが、Appleの提供終了済みソフトウェア「iChat」でインターネット経由の音声・ビデオ通話を復活させた。かつてアプリが依存していたネットワークサービスを再現することで実現したものだ。この代替サービスはOS X LeopardまたはSnow Leopardを搭載したMac向けで、実際のインターネット接続を使い、古いApple製ハードウェアで動作が実演されている。
取り組みのきっかけは、システムエンジニアのクリス・ジョーンズと友人が2023年にiChatで音声通話を試みたことだった。サードパーティーのXMPP(Jabber)サーバーを通じてサインインし、相手側クライアントの呼び出し音を鳴らすことはできたが、接続の確立中に通話が失敗した。ネットワーク通信のキャプチャーと、ほとんど文書化されていないiChatのデバッグモードを調べた結果、この処理にAppleの別のサービスが関与していることが判明した。
そのサービスはSNATMAPと呼ばれるプロトコルを使い、クライアントがネットワークアドレス変換を越えて接続を確立できるよう支援していた。Appleの元のエンドポイントはすでに応答しなくなっており、2人は通話の確立に必要な情報を得られなかった。設定ファイル自体は引き続き入手できたものの、それを別のウェブサーバーで配信するだけでは不十分だった。iChatは、動作するSNATMAPサーバーも必要としていたためだ。
ジョーンズは2026年にプロジェクトを再開した。2人は以前のテストで取得した通信キャプチャーと、大規模言語モデルによるソフトウェア解析の支援を利用し、iChatが想定するリクエストとレスポンスの形式を再構築して、プロトコル仕様をまとめた。その後、ジョーンズは仕様に基づき、Pythonで小規模なUDPサーバーを作成した。ほかの人も自分でサーバーを運用できるよう、ソースコードとプロトコルに関するメモが公開された。
テストには、古いMacを2台用意するだけでは足りなかった。ジョーンズは、2台の仮想OpenWrtルーター、それぞれ独立したプライベートネットワーク、XMPPサーバー、ウェブサーバー、そして新しいSNATMAPサービスを組み合わせ、実験室内に小規模なインターネット環境を構築した。この構成によって、2層のネットワークアドレス変換を越える接続を再現でき、商用インターネット回線を2本用意せずに試行を重ねられるようになった。
完成したシステムは、その後、公衆インターネット経由のiChat AV通話に使われた。ジョーンズはLeopardでテストしたと報告し、Snow Leopardでも動作するはずだとしている。一方、TigerとPantherは未検証だ。また、iChatでは当時のApple製iSightカメラが必須というわけではなく、はるかに新しいLogitech C920ウェブカメラも使えることを実演した。
利用するには、Macのhostsファイルを使い、iChatがAppleの設定配信ホストに送るリクエストを代替サービスへ向け直す必要がある。ルーターは送信元ポートを維持しなければならず、pfSenseやOPNsenseの構成を含む一部のBSDベースのルーターでは、アウトバウンドNATの調整が必要になる場合がある。
このプロジェクトの対象は限定的で、2000年代半ばのMacを今も使い続ける小さなコミュニティーに向けたものだ。それでも、プロトコルの文書化と小規模な互換サービスによって、元のインフラが失われた後でもネットワーク依存の機能を復活させられることを示している。



