プロキシを設定するとは、アプリケーション(またはOS全体)に、トラフィックを特定のホストとポートに送信するよう指示し、プロキシが必要とする場合は認証情報を提供することを意味します。 プロバイダーから必要な情報は常に同じ4項目です:ホスト(ドメインまたはIP)、ポートユーザー名パスワード。または、ログインの代わりに、プロバイダーのホワイトリストに自分のIPを追加します。以下に、プロキシを最もよく設定する4つの場所での正確な手順と、動作確認方法を示します。

始める前に:システムプロキシとアプリケーションプロキシ

プロキシを設定できるレベルは2つあり、どちらを操作しているかを把握することで、ほとんどの混乱を避けられます。

  • システムプロキシ(Windows設定、macOSネットワーク環境設定):OSがプロキシを通知し、システム設定を尊重するアプリケーションがそれを使用します。Chrome、Edge、Safari、およびほとんどのデスクトップアプリが該当します。一部のツールは完全に無視します。
  • アプリケーションプロキシ:アプリ自体に設定があり、それのみを使用します。Firefoxが代表的なブラウザです。コマンドラインツールは環境変数やフラグを使用します。アンチディテクトブラウザはプロファイルごとにプロキシを設定します。

すべてをプロキシしたい場合は、システムプロキシを設定します。1つのブラウザやツールだけをプロキシし、他のマシンは直接接続のままにしたい場合(マルチアカウントやテスト作業で一般的)は、アプリケーションで設定します。この2つを混在させると、「プロキシを設定したのにIPが変わらない」という問題が発生します。

Firefox(独自設定、全プラットフォーム)

Firefoxは、OSから独立してプロキシを設定できる最も簡単なブラウザです。

  1. 設定を開き、一般の下部にあるネットワーク設定までスクロールし、設定...をクリックします。
  2. 手動でプロキシを設定を選択します。
  3. HTTP/HTTPSプロキシの場合:HTTPプロキシにホストとポートを入力し、HTTPSでもこのプロキシを使用にチェックを入れます。
    SOCKSプロキシの場合:SOCKSホストにホストとポートを入力し、SOCKS v5を選択します。
  4. SOCKS v5を使用する場合、DNSをプロキシ経由で解決にチェックを入れます。これにより、名前解決がプロキシ経由で行われ、DNSリークを防ぎます。チェックを外すと、ISPはあなたが訪れるすべてのドメインを確認できます。
  5. OKをクリックします。最初のリクエスト時に、Firefoxはプロキシのユーザー名とパスワードを要求し、保存するかどうかを尋ねます。

Firefoxでは、コンテナやプロファイルごとにプロキシを設定することもでき、拡張機能なしで1つのインストールから複数のプロキシIDを実行できます。

ChromeとEdge

ChromeにはWindowsとmacOSで独自のプロキシ設定はありません。設定システムコンピューターのプロキシ設定を開くは、単に後述のOSダイアログを開くだけです。Chromeを個別にプロキシする3つの方法:

  1. システムプロキシを使用(下記)。最も簡単ですが、他のアプリにも影響します。
  2. フラグを指定して起動。ショートカットまたはターミナルからChromeを起動します:
    chrome --proxy-server="http://proxy.example.com:8080"
    chrome --proxy-server="socks5://proxy.example.com:1080"
    そのChromeインスタンスのみがプロキシされます。--user-data-dir=と組み合わせて、別のプロファイルを指定します。Chromeは初回使用時に認証情報を要求します。フラグでは認証情報を受け付けません。
  3. 拡張機能を使用。プロキシ切り替え拡張機能は、複数のプロファイルを保持し、タブやサイトごとに切り替えられ、認証情報を保存できます。便利ですが、拡張機能はトラフィック設定を閲覧できます。信頼できるものだけをインストールしてください。

Linuxでは、Chromeはシステム設定に加えてhttp_proxy / https_proxy環境変数を読み取ります。

Windows 11(システム全体)

  1. 設定ネットワークとインターネットプロキシ
  2. 手動プロキシ設定で、プロキシサーバーを使用するの横にある設定をクリックします。
  3. オンにし、アドレス(ホスト)とポートを入力し、必要に応じてバイパスするアドレスをリストします(例:localhost;127.*;*.local)。保存します。
  4. プロキシを使用するアプリが初めて接続するときに、Windowsが認証情報を要求します。

知っておくべきことが2つあります。まず、このダイアログはHTTPプロキシのみを設定します。Windowsの組み込みシステムプロキシはSOCKS5に対応していません。プロバイダーからSOCKS5を提供された場合は、Firefox、Chromeのフラグ、またはアプリケーション自体で使用してください。次に、この設定はWinHTTP/WinINetを使用するアプリ(ブラウザ、Office、ストアアプリ)に適用されますが、すべてに適用されるわけではありません。多くの開発者ツールやゲームはこれを迂回します。当社のWindows固有のガイドでは、システムプロキシを迂回するリークについて説明しています。

自動プロキシ設定セクションでは、PACファイルのURLを受け付けます。これは、URLごとに使用するプロキシを決定する小さなJavaScriptファイルです。「これらのドメインはプロキシ経由、それ以外は直接」という場合に便利です。

macOS(システム全体)

  1. システム設定ネットワーク → アクティブな接続(Wi-FiまたはEthernet)を選択 → 詳細...プロキシ
  2. 必要なプロトコルにチェックを入れます:Webプロキシ(HTTP)セキュアWebプロキシ(HTTPS)、および/またはSOCKSプロキシ。macOSはWindowsとは異なり、システムレベルでSOCKSをサポートしています。
  3. チェックした各プロトコルにホストとポートを入力します。プロキシがログインを必要とする場合は、プロキシサーバーがパスワードを必要とするにチェックを入れ、ここで入力します。macOSはWindowsのように後でプロンプトを表示しません。
  4. 下部のフィールドにバイパスするホストを追加し、OK適用をクリックします。

この設定はネットワークロケーションごとです。Wi-FiからEthernetに切り替えると、再度設定する必要があります。SafariとChromeはこれに従いますが、Firefoxは独自のダイアログでシステムプロキシ設定を使用を選択しない限り従いません。macOSがシステムプロキシを迂回してリークする問題については、こちらの記事も参照してください。

認証:ログイン vs IPホワイトリスト

プロバイダーは、いずれかまたは両方を提供します:

  • ユーザー名とパスワード。どこからでも機能します。認証情報はOS/ブラウザがプロンプト表示するか、ツールのURLに埋め込まれます(http://user:pass@host:port)。ローテーションプロキシを使用する場合、ユーザー名が設定そのものであることがよくあります。セッションIDや国コードが含まれます(ローテーションゲートウェイがログインを読み取る方法を参照)。
  • IPホワイトリスト。プロバイダーのダッシュボードで自分のパブリックIPを登録します。そのIPからの接続はパスワード不要です。静的IPのサーバーには便利ですが、IPが変わる家庭用接続では役に立たず、ネットワークを移動するラップトップでは面倒です。

認証に失敗すると、407 Proxy Authentication Requiredが表示されます。ユーザー名のタイプミスを確認してください(ローテーションパラメータで長くなることがあります)。また、現在のIPがホワイトリストに登録されているか確認してください。

コマンドラインとスクリプト

ほとんどのUnixツールは環境変数を尊重します:

export http_proxy="http://user:pass@proxy.example.com:8080"
export https_proxy="http://user:pass@proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1"

curlはさらに-xを受け付けます。git、pip、npm、aptはそれぞれ独自のプロキシ設定キーがありますが、上記の変数も読み取ります。Python、Node、ブラウザ自動化フレームワークのプロキシ設定については、別のガイドでコード例を紹介しています。

動作確認

推測しないでください。設定後:

  1. プロキシを使用するブラウザでIPチェックページを読み込み(新しいプライベートウィンドウで)、IPと国が変わったことを確認します。
  2. DNSリークテストを実行します。SOCKS5の場合は、リモートDNSがオンになっていることを確認します。
  3. ブラウザでWebRTCテストを実行します。

結果の読み方を含む完全な手順は、プロキシのテスト方法にあります。

よくある問題

症状考えられる原因修正
IPが変わらないアプリがシステムプロキシを無視している。プロトコルが間違っている(SOCKSをHTTPとして入力)アプリでプロキシを設定。購入したプロトコルに合わせる
407エラー認証情報が間違っている、またはIPがホワイトリストにないユーザー名(長いローテーション文字列!)と現在のパブリックIPを再確認
一部のサイトは読み込めるが、他はタイムアウトHTTPSがプロキシされていない(Firefox:「HTTPSでもこのプロキシを使用」が未チェック)HTTPS/セキュアプロキシフィールドも有効にする
すべてが遅いプロキシの過負荷、またはレジデンシャル/モバイルのレイテンシ測定し、プロバイダーを比較。ターゲットが許可する場合はデータセンターを使用
WebRTCテストで実際のIPが表示されるWebRTCリークWebRTCを無効にするか、アンチディテクトブラウザを使用
プロキシは動作するが、数分後に停止スティッキーセッションの期限切れ、またはIPホワイトリストとIPが変更ログイン文字列でセッション時間を延長。再ホワイトリスト

よくある質問

Chromeには独自のプロキシ設定がありますか?

WindowsやmacOSにはありません。システムプロキシを使用します。Chromeだけをプロキシするには、--proxy-server=フラグで起動するか、拡張機能を使用します。

Windowsでシステム全体にSOCKS5プロキシを使用できますか?

いいえ。WindowsのプロキシダイアログはHTTPのみです。SOCKS5をサポートするアプリケーション(Firefox、ほとんどの開発者ツール、アンチディテクトブラウザ)内で使用するか、ローカルにHTTP-to-SOCKSブリッジを実行します。

プロキシパスワードはどこで入力しますか?

WindowsとFirefoxは初回接続時にプロンプトを表示します。macOSにはプロキシ設定にフィールドがあります。コマンドラインツールはURLにuser:pass@host:portとして受け取ります。

PACファイルとは何ですか?

Proxy Auto-Configファイル:各URLに対して、どのプロキシ(またはなし)を使用するかを返す短いJavaScript関数です。特定のサイトのみをプロキシ経由でルーティングできます。WindowsとmacOSの両方が自動プロキシ設定でPAC URLを受け付けます。

ブラウザのタブごとに異なるプロキシを使用するには?

標準ブラウザはタブごとではなくプロファイルごとにプロキシを設定します。別のプロファイル(Chromeの--user-data-dir、Firefoxのプロファイルまたはコンテナ)、プロキシ切り替え拡張機能、またはアンチディテクトブラウザを使用してください。アンチディテクトブラウザはまさにこの目的のために作られています。

プロキシを変更した後、再起動が必要ですか?

FirefoxとOSダイアログは即座に適用されます。Chromeは次のリクエストでシステムの変更を反映します。コマンドラインの環境変数は、設定後に起動したプロセスに適用されます。