3G回線向けに圧縮プロキシが提供されてないのってどうして?…ということで、いろいろ試してみた2

それでは書くよ。
上の通り3G回線、特にスマートフォンに向けた圧縮プロキシが提供されていないことに疑問を感じて、いろいろ試してみた。
1.普通の圧縮プロキシ

インターネット−圧縮プロキシ−スマートフォン

まずは圧縮プロキシである。今回は設定が簡単なziproxyを使った。
Ziproxy homepage
Debianなら、aptで入る。
http://wannabetheman.sblo.jp/article/41085419.html
辺りを参考にして設定する。とりあえずPCで動作確認。OK。
ほいでは設定する…と思って、iOSAndroidの設定を調べてみると、
iOSではWifiではプロキシが設定できるのだが、3G回線ではプロキシ設定が無い。iPhone構成ユーティリティを使ってAPNを含めて作成すれば出来る気もするけど、これはまったくお手軽ではないので諦める。
Androidはそもそもプロキシの設定がない…。あれ?ないの?
アンドロイドとプロキシ - kenmituoの日記
ないらしい。代替案としては、OperaMobile(miniじゃないほう。マーケットには両方あるので注意)でプロキシを設定する方法があるのだが、これはOperaしかプロキシが効かないので、あんまり意味が無い…。
2.VPNサーバに透過型プロキシを構成して、プロキシ設定なしに圧縮プロキシを利用する
iOSAndroidも3G経由のプロキシ設定にはいろいろと問題がある。そこで、そもそもの前提であるプロキシ設定を諦めることにする。どちらのOSもVPNの機能があって、VPN接続時は全パケットをVPN側に向けるというのが可能らしい。なのでこのような構成を組んでみる。

80番ポート−VPNサーバ−スマートフォン
 |
8080番ポート−圧縮プロキシ−インターネット

iPhone向けのVPNサーバということで、お手軽にPPTPを使った。サーバはVPSだけどDebian+PPTPが利用できるさくらVPSを利用。お試し期間2week。
VPS(仮想専用サーバー)|さくらインターネット - 無料お試し実施中
お試し期間中はネットワーク速度が2Mbpsにしぼられるけど、2Mbpsもあればテストには十分。
この辺を参考にして作成。うちはPPPoEなので、追加でmtuを1400に設定した。
さくらのVPSでiPhone用の野良WiFi通信傍受対策のPPTPサーバ(VPN)を設定したメモ(CentOS5) - nori_no のメモ
とりあえずPPTPサーバが完成。次は1.と同様にziproxyをセットアップ。
あとはziproxyに透過型プロキシの設定(transparent)をしてやって、80番ポートの通信を8080番(ziproxyのポート)に向けるようにiptablesを設定する。参考はここ。
http://www.turbolinux.com/products/server/11s/user_guide/squidiptables.html
これで、VPN接続を行うと以後の80番ポートの通信がすべて圧縮プロキシを通るようになった。
まずはiOSVPNを設定して接続。とりあえずはOKっぽい。が、常時VPNを有効にするのがめんどい。WIFIとか3Gで回線を切り替えると、VPNが無効になるから、常時有効というのが難しい。運用的にはちょっと使い辛い…。
次にAndroidVPNを設定して…いきなりPPTPのパスワードが保存できない問題を見つけた…面倒すぎる…*1それを乗り越えれば接続はOK。が、ブラウザでWEBにアクセスできない。なんで?と思って調べると、なんとなくこれっぽい。
Junk World Blog Softbank X06HT(Desire)によるVPN接続によるブラウザ閲覧
ScanSnap S1500 と Link Station mini - どことなく技術屋の日々
APNの再設定はリスキーなのでやらない。気になるのは、Chromeだとダメなんだけど、OperaMobileとかTwitterAPIは通る。原因がよくわからんけど、とりあえず実用には向かない。
というわけで、もう一度結論。
全く実用的ではない
結構よい考えだと思ったんだけどなぁ…。
ちなみに、圧縮プロキシの効果はというと、これがかなり効きます。ブラウザは元より、個々のアプリの動作がかなり快適になる。特にTwitterFlickrが快適だった。Twitterではユーザーアイコンの画像や、添付の写真が圧縮されるので、受信するデータ量が削減できるみたいで、ロード時間がかなり短縮される。
試しにPCのブラウザにも導入してみたが、こちらも快適。ただ、画像の再圧縮のアラが見えてかなり残念な感じになるので、実用的ではない。モバイルデバイスの小さい画面だからそれほど気にならないのかも。
やっぱり、キャリアが独自に圧縮プロキシを提供すべきだよね。b-mobileとかはやってる。
http://www.bmobile.ne.jp/personal/accela/index.html
なんでやらないのかな?と考えたときには、やっぱり設定の面倒さなのかな、という気がする。あんまり詳しくない人が高速化するんだと思って使うと、画像が汚くなってクレームだろうし、有効/無効の切り替えができないんでは使い辛い。
なんかうまい方法ないかなぁ…。

*1: GALAXY Sをメイン端末にしてVNCを使い倒す - ケータイ Watch Watch この問題はここに書いてある1VPNというアプリを使えば解決するらしい。試してはいない。