PAC の結果はプロキシとプロトコルの両方を指定します。Firefox の配備で SOCKS5 が必要なら、戻り値でそれを明示してください。

return "SOCKS5 proxy.example:1080";

PAC ポリシーが公開エンドポイントを使う場合は、SOCKS5 プロキシ一覧から候補を選び、明示的な SOCKS5 の結果を保ちます。汎用の SOCKS トークンには互換性の経緯があります。すべてのブラウザがこれを最新の SOCKS バージョンとして解釈しなければならない移植可能な指示ではありません。

ここで調べた Firefox の実装では、PAC パーサーは明示的な SOCKS5 をバージョン 5 のソケットプロバイダーに対応付け、宛先ホスト名の解決をサーバー側で要求します。手動のプロキシ設定は別の設定経路をたどります。したがって、手動設定の環境設定名を、すべての PAC 結果に対する万能の説明として扱うべきではありません。

正確なブラウザのバージョン、読み込んだ PAC スクリプト、返されたトークンを記録に残してください。編集したスクリプトがクライアントの取得したスクリプトとは限らず、1 つのホストに対して返される別の経路が観測を変えることがあります。

これは選択された SOCKS 経路に関連する宛先名についての話です。クライアントは依然としてプロキシのエンドポイントに到達する必要があり、他のアプリケーションは独自の DNS の挙動を保ちます。1 つの正しい PAC 結果を、端末全体の名前解決がすべて遠隔で行われるという主張に変えないでください。

構成が複数のブラウザを支える必要がある場合は、Firefox のソース水準の詳細を別の実装に移すのではなく、各ブラウザが文書化している PAC トークンの対応を確認してください。

関連記事