拡張機能の権限に "proxy" を加えても、Web サイトの JavaScript が拡張機能のコードになるわけではない。

失敗している文が実際にどこで実行されているかを確認する。通常のページ、注入されたページスクリプト、コンテンツスクリプト、拡張機能が所有するページや service worker では、API へのアクセスが異なる。ページを再読み込みしても、その境界を特定できる信頼できる方法ではない。

特権的な proxy 操作は対応している拡張機能のコンテキストに置き、必要に応じて拡張機能の文書化されたメッセージング機構で通信する。拡張機能には引き続き適切な権限が必要である。

その操作は狭い範囲にとどめる。コンテンツスクリプトが、拡張機能自身の検証とユーザーに見える目的なしに、任意の Web サイトからの要求を中継してブラウザの proxy を再設定してはならない。

API は存在するが設定が反映されない場合は別の問題である。非同期エラー、スコープ、実際の制御を調べる。API オブジェクトが未定義であることは、まず可用性と実行コンテキストを示しており、リモート proxy の IP が接続を受け付けるかどうかを示しているのではない。

関連記事