Debloat The Internet With A Self-Hosted Compressing Proxy | Hackaday
出典: hackaday.com

スマートフォンの通信量を抑えるため、自宅サーバーで動かすHTTPSプロキシ「Arachnidium」が公開されています。画像の形式や解像度を変え、広告をブロックします。通信は自分のサーバーを経由します。一方、HTTPSの内容を処理するには端末側の設定が必要で、通信の保護とデータ圧縮は別の役割を担います。

画像の圧縮とページ表示を調整

Arachnidiumは、通信を中継するオープンソースソフトウェアのmitmproxyを基盤にしたデータ最適化プロキシです。Hackadayが紹介したArachnidiumでは、画像をWebP形式に変換して解像度を下げられ、画質の落とし方は利用者が設定できます。ページの圧縮率を高める設定もあり、処理に時間がかかる場合があります。

開発者は、インターネットに接続できる古いノートパソコンなどをホームサーバーとして使う例を示しています。現時点で用意されている実行形式はx64版のWindowsとLinux向けです。ARMやMacでは、リポジトリからソースを取得して実行する手順が案内されています。

外出先から使うにはVPN接続を設定

外出先の端末を自宅サーバーにつなぐため、ArachnidiumはWireGuardクライアント用の設定を用意します。端末でVPN設定を追加し、自宅のネットワークでUDPポート51820への接続をサーバーに転送する設定も必要です。自宅のWi-Fi内だけで使う場合と異なり、外部から接続するにはルーター側の準備も伴います。

Arachnidiumの手順では、接続後にブラウザーでmitm.itを開き、証明書を設定します。mitmproxyはHTTPS通信を処理する際、サーバー側と端末側に別々のTLS接続を作り、端末が信頼する認証局の証明書を使って通信内容を読み取ります。そのため、HTTPSの内容を圧縮・変換できる一方、利用する端末に証明書を登録する必要があります。

VPNのトンネルとプロキシの処理は別

WireGuardによるVPN接続は、端末から自宅サーバーまでの通信経路を作ります。一方、プロキシは受け取ったWeb通信を中継し、設定に応じて内容を処理します。一般にVPNは端末とVPNサーバーの間を暗号化し、プロキシは通信の経路を変えます。ArachnidiumではHTTPSを中継・処理するための証明書設定も必要です。そのため、VPNを使うだけではプロキシ運営者から通信内容が見えなくなるわけではありません。

Opera Turboも、Operaのサーバーを経由して画像を圧縮し、通信量を減らす機能でした。Arachnidiumでは、自分で用意したサーバーが通信を中継します。圧縮は外部サービスに任せず、自宅の機器で実行できます。

ソフトの設定はGUIまたはJSONファイルから行えます。GUIで変更した設定は再起動後に保持されないため、継続して使うにはJSONファイルを編集します。開発者はこのプロジェクトを実験として始めたもので、長期的に拡大する意向は薄く、問い合わせへの対応も限定的になる可能性があると説明しています。