HTML5+Mobile Safariを使った脱獄不要のテザリング「iOS-HTML5-Tethering」
先日t.freeというサービスがリリースされました。Safariと専用のMac OSXアプリだけでテザリングを可能にするソリューションです。仕組みとして、恐らく同様のやり方ではないかと思われるのが今回紹介するiOS-HTML5-Tetheringになります。
iPhone側です。ローカルネットワークとリモートサーバの両方にWebSocketで接続しています。ここが肝です。
こちらはローカル側。WebSocketサーバを立ち上げています。
こちらはサーバ側。残念ながらPython処理部分でエラーが起きている模様。
iOS-HTML5-Tetheringではサーバ(EC2など)でサーバを立てて、そこにSafariで接続します。と同時に母艦(Mac OSX)側で作成したワイヤレスネットワークに接続し、母艦側サーバにあるWebSocketサーバにも接続します。後は母艦側はiPhoneをプロキシサーバとして利用し、Safariを経由してWebSocketを介してネットワーク接続を確立する仕組みです。
iOS-HTML5-Tetheringはnode.js/Python製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。
MOONGIFTはこう見る
Mobile Safariを使った手法の場合、JailBreakを含めた規約外の手法を使わないで良いというのが利点です。パケット数による制約はあれど、基本的にはキャリアの保証する範囲内でテザリングが利用できるようになります。問題はプロトコルがどこまで利用できるのかということになるでしょう。
HTTP通信は問題ないように見えますが、HTTPSをはじめSSHやFTPといったプロトコルには恐らく使えないと思われます。また自分でサーバを立てる場合はともかく、t.freeのようなサービスを使った場合、外部サービスを経由したパケットが安全であるかの保証がありません(前科があるので)。そういった点には注意が必要ですが、仕組みとしては非常に便利なものになりそうです。