プロキシ接続用のChrome拡張「Metal Proxy」を作った

プロキシ接続のON/OFFをサッと切り替えできるようにするためのChrome拡張を作ってリリースした。

何らかの理由でプロキシを使いましょう、となったときはOSのネットワーク設定を変更すればいいんだけど、影響範囲が広すぎるのと、都度切り替えるのが意外と面倒。

ブラウザからの特定のリクエストだけを、指定したプロキシ経由にできるものがほしかった。

Chromeウェブストアにも掲載中。

Chromeウェブストアへ

主な機能

ワンクリックでプロキシON/OFF

ツールバーのアイコンをクリックするだけで、プロキシ接続を有効・無効に切り替えられる。アイコンとバッジで今どの状態かが見てわかる。

複数プロキシサーバーの登録・切替

ホスト、ポート、ユーザー名、パスワードを複数セット登録しておいて、ポップアップから即座に切り替えられる。

現場ごとにプロキシが違う場合に便利。

プロキシが違うだなんて、そんなことある?

ある。

たとえば、複数の組織に関わって仕事をしている場合、それぞれが固定IPを持っていてプロキシに設定していたりすると十分にあり得る。

書いていて思ったけど、拡張機能に頼らずにブラウザの種類や設定を組織ごとに持つ、という方法でも問題はない。

ドメイン・IP単位のルーティング

「このドメインのときだけプロキシを使う」「このIP範囲は直結」といった振り分けが可能。

接続速度の面ではプロキシはどうしても不利。少しでも使用範囲を減らしたい。

プロキシ認証の自動応答

認証が必要なプロキシでも、登録した認証情報で HTTP 407 に自動で応答するので、毎回ダイアログに入力しなくていい。

技術メモ

  • Manifest V3
  • chrome.proxy + 動的生成のPACスクリプトでルーティング
  • chrome.webRequest.onAuthRequired で認証を自動処理
  • 設定は chrome.storage.local に保存するだけで、外部サーバーには一切送信していない

おわりに

プロキシ接続の拡張機能はすでにいくつも存在するんだけど、接続先とか認証情報を入力しないといけないから既製品を使うのが何となく嫌だったので自分で作った。

自家製のほうが、自分とその周囲のメンバーは安心して使えると思う。