失敗を許容すべきウェブリソースについて、既存の Firefox 拡張機能でそのプロキシ認証チャレンジをキャンセルできます。これにより、ユーザーに何度も別のパスワードを求める代わりに、そのリクエストを終了できます。

browser.webRequest.onAuthRequired.addListener(details => {
  if (details.isProxy) {
    return {cancel: true};
  }
  return {};
}, {urls: ['https://optional.example/*']}, ['blocking']);

拡張機能には webRequest、webRequestBlocking、および適切なホスト権限が必要です。例は、その任意リソースの具体的な URL パターンに置き換えてください。フィルターは要求されているリソースに一致し、プロキシサーバーのアドレスだけに一致するわけではありません。

isProxy は、中間者のチャレンジとウェブサイト自身の HTTP 認証を区別します。この判定を残しておけば、同じイベントを使うという理由だけでサイトのログインをキャンセルしてしまうことを避けられます。

リクエストはキャンセルされるため、リソースは利用できないままです。これは、必須でない接続が繰り返しプロンプトを出す場合など、その損失が意図的なときにだけ適しています。必要なコンテンツには、依然として承認済みのアカウントとプロキシポリシーが必要です。

Firefox にはブラウザーのシステムリクエストに関する特別な規則があります。拡張機能は追加の権限があれば一部のリクエストにプロキシ資格情報を渡せますが、それらのシステムリクエストをキャンセルしたり変更したりはできません。このページリソースの例は、すべてのバックグラウンド操作で静かにキャンセルできることを約束するものではありません。

関連記事