開発・QA 向け

HTTP リクエストヘッダーを、 あなたの思いどおりに

ルールを定義すれば——ヘッダー名、値、URL パターン——Chrome が一致するリクエストに適用します。作業しながら個々のルールをオン・オフしたり、マスタースイッチで一括停止したりできます。ルールはそのまま残り、削除されることはありません。

Chrome または Chromium ベースのブラウザが必要です

無料
データを収集しません
ヘッダー名X-Debug-Mode
値verbose
URL パターンhttps://staging.example.com/*

ルールの実際の中身

3 つのフィールド。モデルはこれで全部です。スクリプトも設定ファイルも、動かしておくプロキシも要りません。

ヘッダー名値URL パターン状態
X-Debug-Modeverbosehttps://staging.example.com/*オン
AuthorizationBearer eyJhbGciOi…https://api.example.com/v2/*オン
X-Feature-Flagnew-checkouthttps://*.example.com/*オフ

1 行が 1 つのルールです。右のトグルはそのルールだけを無効にし、ポップアップのマスタースイッチはすべてのルールを一括で無効にしますが、内容はそのまま残ります。

できること

役割を絞った小さなツールで、端々に意外な挙動はありません。

ヘッダーの追加と上書き

存在しないヘッダーを設定することも、ブラウザが送るはずのヘッダーを置き換えることもできます。ルールから見れば、どちらも同じ操作です。

URL パターンで対象を限定

各ルールを狙ったオリジンとパスだけに限定できるので、ステージング専用のヘッダーが本番に届くことはありません。

ルールごとのトグル

仮説を確かめるために 1 つだけオフにして、また戻す。編集も打ち直しも、コメントアウトした行も要りません。

マスタースイッチ

ひとつの操作ですべてのルールを一括停止。きれいな状態で不具合を再現する直前に便利です。ルールが削除されることはありません。

ついてくるルール

ルールは Chrome の同期ストレージに保存されるため、再起動しても残り、同じ Chrome プロファイルでログインしている他のマシンにも表示されます。

Manifest V3

declarativeNetRequest を基盤にしているため、ルールを適用するのは Chrome 自身です。拡張機能が通信経路に入ってリクエストを読むことはありません。

権限について

Chrome は、この拡張機能が「すべてのウェブサイト上のすべてのデータの読み取りと変更」ができると警告します。この警告は拡張機能が要求した権限から生成されるもので、実際の動作から生成されるものではありません。要求する権限とその理由をすべて挙げます。

declarativeNetRequest

ヘッダールールを適用する API です。Chrome が内部でルールを評価し、自らリクエストを変更します。拡張機能がリクエストの中身を受け取ることはありません。

storage

ルールを保存し、ブラウザを再起動しても残るようにし、ログイン中の Chrome プロファイル間で同期します。保存されるのはルールだけです。

<all_urls>

あの恐ろしげな警告を出しているのがこれです。どの URL にルールを当てるかを決めるのはあなたなので、対象ホストの集合は事前にはわかりません。拡張機能は、あなたがルールに書きうるあらゆる URL に対して動作できる必要があります。これを狭めるということは、固定のサイト一覧を同梱し、それ以外では動かないと突っぱねるということです。

やらないこと

  • ページの内容や DOM を読みません。
  • 閲覧履歴を読むことも記録することもありません。
  • 分析データ、利用データ、識別子のたぐいを一切収集しません。
  • 独自のネットワークリクエストを行わず、リモートコードも読み込みません。
  • 当方のサーバーにも第三者にも、何も送信しません。

アカウントもテレメトリも、探すべきオプトアウト設定もありません。オプトアウトすべきものが何もないからです。詳細はプライバシーポリシーに記載しています。 プライバシー

インストール前に知っておきたい制限

デバッグの途中で気づくより、ここで読んでおくほうがいいはずです。

このブラウザのみ

ルールが適用されるのは、このブラウザが送るリクエストだけです。サーバー間の呼び出し、curl、Postman、CI ランナー、バックエンドからの送信リクエストはいずれも影響を受けません。

リクエストヘッダーのみ

レスポンスヘッダーは変更されません。返ってくる内容を変えたいのであれば、これは適したツールではありません。

設定できないヘッダーがあります

Chrome は一部のヘッダーを拡張機能による変更から保護しています。それらを狙ったルールはエラーも警告も出ないまま黙って破棄されます。ルールが正しく見えるのに何も起きない場合、たいていこれが原因です。

よくある質問

この権限セットを持つものを入れる前に、開発者が尋ねることをまとめました。

私に関するデータを収集しますか?

いいえ。分析もテレメトリも識別子もなく、広告やアトリビューションの SDK もありません。拡張機能は独自のネットワークリクエストを行いません。保存するのはあなたが作ったルールだけで、保存先は Chrome 自身のストレージです。

なぜすべてのウェブサイトへのアクセスが必要なのですか?

どの URL にルールを当てるかを選ぶのはあなたなので、対象ホストの集合は事前にわかりません。今日書いたルールが、私たちの知らない URL にも効くのは、この権限があるからです。ページの内容も閲覧履歴も読みません。

レスポンスヘッダーは変更できますか?

いいえ、リクエストヘッダーのみです。レスポンスの変更は別の機能で、この拡張機能は持っていません。

ルールが効かないのはなぜですか?

よくある原因は、Chrome がそのヘッダーを拡張機能による設定から保護していて、変更を黙って破棄している場合です。そうでなければ、URL パターンが本当にそのリクエストに一致しているか、ルールのトグルがオンか、マスタースイッチがオフになっていないかを確認してください。

ブラウザの外で発生するリクエストにも影響しますか?

いいえ。影響を受けるのはこのブラウザが送るリクエストだけです。サーバー間の通信は、あなた自身のバックエンドが送るリクエストも含めて、そのまま送信されます。

ルールはどこに保存されますか?

Chrome 自身のストレージである chrome.storage.sync です。そのため再起動しても残り、同じ Chrome プロファイルでログインしている他のマシンにも同期されます。当方に送信されることは一切ありません。

Chrome に追加する

無料、アカウント不要、何も収集しません。求めていたものと違ったとしても、アンインストールすれば拡張機能もルールもまとめて消えます。

Chrome に追加

Chrome または Chromium ベースのブラウザが必要です