システムのプロキシ変更は、テスト中のブラウザーウィンドウ以外にも影響する場合があります。短い Chrome テストなら、代わりにプロキシ接続先を明示した別プロファイルを起動できます。

専用のテストプロファイルを起動する

Linux で HTTP プロキシを使う例です。

google-chrome --user-data-dir=/tmp/proxy-ip-check --proxy-server=http://203.0.113.10:8080

今回のテスト専用の新しいディレクトリーを使い、文書用の接続先をサービスまたは無料プロキシ一覧から得た実際のプロキシに置き換えます。Chrome 実行ファイルの名前と場所は、OS やインストール方法によって異なります。

ユーザーデータのディレクトリーを分けることが重要です。Chrome はプロファイルに関連付けられた既存プロセスを再利用することがあるため、普段のブラウザーが動いている横でコマンドを実行しても、新しいプロキシ引数が有効になった証拠にはなりません。同じテストプロファイルを別の接続先で再起動する前に、以前のテストプロセスを閉じてください。

SOCKS5 の場合

google-chrome --user-data-dir=/tmp/proxy-socks-check --proxy-server=socks5://203.0.113.10:1080

ここで Chrome が使うのは socks5 スキームで、curl の socks5h 表記ではありません。Chromium の SOCKS5 実装は、対応する URL リクエストについてプロキシ経由で宛先名を解決します。TCP に対応しますが汎用 UDP リレーではなく、SOCKS5 のユーザー名・パスワード認証にも対応しません。そのため認証が必要な SOCKS 接続先は、IP が無効なのではなく、クライアントの機能不足で失敗する場合があります。

そのウィンドウで公開の宛先を試す

専用プロファイルで IP 確認ページを開きます。Chromium はループバックや特定のローカルアドレスに暗黙のバイパス規則を持つため、localhost のページはプロキシ経路のテストに適しません。

必要な種類の宛先も試してください。HTTP ページの成功は HTTPS CONNECT 対応を意味しません。何も読み込めない場合は、ブラウザー設定を変える前に、小さなコマンドラインリクエストで同じ接続先を比較します。HTTP の待ち受け先にはcurl の HTTP テストを参照してください。

テストを終える

終わったら専用の Chrome プロセスを閉じます。上のコマンドは普段のプロファイルを選択していません。個人のセッションを含むプロファイルとは分けておきます。接続先のテストにログインは不要です。

Windows で普段ブラウザーを使うなら、通常のシステムプロキシ画面の方が簡単なことがよくあります。別プロファイルの方法は、システムを継続的に変更せず、範囲を限ったテストセッションを意図的に作りたいときに有用です。

関連記事