Firefoxの作業を1つのポップアップに:Fox Toolbox機能完全ガイド
タブ音量からキルスイッチまで、9つの機能と制限を解説
Firefoxの作業を1つのポップアップに:Fox Toolbox機能完全ガイド
Fox Toolboxは、現在のタブの制御、メディア保存、広告ブロック、Webタブのロック、閲覧データの削除を1つにまとめたFirefox拡張機能です。
バージョン2.2.0時点でFirefox 128以降に対応しています。ツールバーアイコンを押すと、600×600のポップアップに9つの機能が3×3で表示されます。 Firefox Manifest V3 WebExtensionとして作られており、外部ランタイム依存関係や独自のテレメトリサーバーはありません。
プライベートウィンドウでは動作しません。また、about:ページやアドオンマネージャーなど、拡張機能によるコード挿入が禁止されているFirefox内部ページでは一部の機能を利用できません。
全機能の概要
- 01 タブ音量:タブごとに0~1000%の音量とミュート状態を管理します。
- 02 ダークモード:オフ、互換、バランス、強力の4段階を適用します。
- 03 User-Agent:69個のプリセットで現在のタブのUser-Agentを変更します。
- 04 画像:現在のページとアクセス可能なiframeから画像を検出して保存します。
- 05 動画:直接アクセスできる動画・音声URLを検出して保存します。
- 06 サイト保存:現在のHTMLと関連するCSS・JavaScriptを1つのZIPにまとめます。
- 07 広告ブロック:オフ、標準、厳格のルールとサイト許可リストを提供します。
- 08 タブロック:パスワードで保護されたロック画面を通常のWebタブ上に表示します。
- 09 キルスイッチ:明示的な確認後、選択した閲覧データを削除します。
1. タブ音量
タブ音量は、現在のタブの音量を他のタブとは独立して0%から1000%まで調整します。 100%、250%、500%、1000%のクイックボタンとミュートボタンがあり、ミュート解除時には直前の音量へ戻ります。
単に1つの<video>要素を探すだけではありません。
- 通常のHTML
<audio>と<video> - アクセス可能なiframe内のメディア
- 後からページに追加されたメディア要素
- Shadow DOM内のメディア
- Web Audio APIから出力される音声
通常のHTMLメディアのvolume値は、ブラウザーの仕様上1、つまり100%が上限です。 そのため元のメディア要素には最大100%まで適用され、Web Audioの出力は別のGainノードを経由して最大10倍まで増幅されます。100%を超えるときの結果は、サイトの音声実装によって異なります。
音量が0%になるとFirefox標準のタブミュートも使用します。このとき拡張機能自身がミュートしたかどうかを記憶するため、ユーザーが元からミュートしていたタブを勝手に解除しません。
タブごとの値はFirefoxセッションに関連付けられます。タブを復元すると音量も復元され、ツールバーバッジには現在の音量またはロック状態が表示されます。
2. ダークモード
ダークモードは1種類のフィルターを一律に適用するのではなく、サイト互換性を考慮した4段階を提供します。
- オフ:追加したスタイルを削除し、サイト本来のデザインを使います。
- 互換:ブラウザーへダーク配色を通知し、基本背景だけを暗くします。すでにダークモードへ部分対応しているサイト向けです。
- バランス:ページの色を反転し、画像や動画だけを再反転します。一般的な文書や明るいWebページ向けです。
- 強力:背景、文字、境界線、入力要素の色を直接上書きします。他の段階では十分に暗くならないサイトで使います。
現在のタブだけに一時適用することも、サイトごとの既定値として記憶することもできます。 サイト別設定はホスト名を基準にFirefoxの拡張機能ローカルストレージへ保存されます。
強い段階ほど多くのCSSを上書きするため、画像、SVG、コードエディター、地図、キャンバス、複雑なレイアウトが不自然になる場合があります。その場合は強度を下げるか機能をオフにして、タブを再読み込みしてください。
3. User-Agentの変更
User-Agent機能は現在69個のプリセットを提供します。
- Chrome、Edge、Firefox、Safari
- Windows、macOS、Linux
- iPhoneとiPad
- 複数のAndroid端末
- 検索エンジンのボット
プリセットを選択すると、現在のタブから送られるリクエストのUser-Agentヘッダーを変更し、ページに見えるnavigator.userAgent、appVersion、platform、vendorの値も調整してからタブを再読み込みします。設定はタブ単位のセッションルールなので、他のタブまで同時に変更されません。
ただし、これは互換性テストを補助する機能であり、端末を完全に偽装するものではありません。
- User-Agent Client Hints
- TLS接続の特性
- 実際の画面サイズと入力装置
- Firefoxのレンダリングエンジン
- その他のブラウザーフィンガープリント情報
これらの値はそのまま残る可能性があります。サイトは矛盾する情報を比較して変更を検出できるため、認証回避、追跡防止、セキュリティ回避の手段として考えてはいけません。
4. 画像ダウンローダー
画像ダウンローダーは、現在の文書とアクセス可能なiframeを調べ、複数の経路から画像を集めます。
<img>のsrcと実際に選択されたcurrentSrcsrcsetと<picture>の候補画像- CSSの
background-image - Open GraphとTwitterの代表画像
- ブラウザーがすでに読み込んだ画像リソース
同じURLは1つにまとめられます。選択したHTTP(S)またはdata:画像は、既定のダウンロードフォルダー内のFox Toolbox/<サイト>/images/へ直接保存されます。同名ファイルがある場合は上書きせず、一意の名前を作ります。
ページがまだ要求していない遅延読み込み画像は見つからないことがあります。ページの下までスクロールしてから再検出すると、より多くの結果が現れる場合があります。
1回の検出では画像と動画を合わせて最大250件をセッションに保持し、1回に保存できるのは最大50件です。結果が多い場合は分けて選択してください。
5. 動画ダウンローダー
名前とは異なり、動画だけでなく直接アクセスできる音声ソースも探します。
<video>と<audio>の現在のソース- 内部の
<source>要素 - メディアファイルを直接指すリンク
- ブラウザーがすでに観測した動画・音声リソース
直接アクセスできるファイルは、既定のダウンロードフォルダー内のFox Toolbox/<サイト>/videos/へ保存されます。別オリジンのファイルには、可能な範囲で元ページの情報をRefererとして付けます。
次のコンテンツを完成した動画ファイルにすることはできません。
- DRMで保護されたコンテンツ
blob:URLとMedia Source Extensionsストリーム- 分割されたHLSの
.m3u8 - DASHの
.mpd
Fox Toolboxはストリーミング断片を結合せず、DRMも復号しません。ログインセッション、期限付きトークン、直リンク防止ポリシーにより、検出できてもダウンロードに失敗する場合があります。保存前にサイトの利用規約と著作権を確認してください。
6. サイトダウンロード
サイトダウンロードは、現在レンダリングされているHTMLを複製し、関連するCSSとJavaScriptを集めてZIPファイルにします。
文書内の相対URLは絶対URLへ変換されます。正常に取得できたCSSとJavaScriptのURLは、ZIP内のローカルパスへ書き換えられます。アクセス可能なクロスオリジンリソースも対象です。
ZIPには次の構造が入ります。
index.html
assets/
styles/
scripts/
fox-toolbox-report.json
fox-toolbox-report.jsonには元のURL、保存時刻、保存したファイル、取得できなかったリソースと失敗理由が記録されます。
無制限にサイト全体を複製する機能ではありません。
- 現在のHTML:最大12MB
- CSS・JavaScriptリソース数:最大160件
- 1リソースのサイズ:最大8MB
- 収集する全ファイルサイズ:最大60MB
- リソース要求のタイムアウト:1ファイル12秒
HTMLが12MBを超える場合は、破損した部分ファイルを作らず処理を中止します。 動的APIレスポンス、Service Workerの状態、ログインセッション、データベース、DRMメディアを完全に再現することはできません。
保存したindex.htmlを開くと、同梱されたサイトのJavaScriptが実行される場合があります。信頼できる出所のものだけを開き、不明なページはJavaScriptを無効にした隔離環境で確認してください。
7. 広告ブロック
広告ブロックは、Firefoxの宣言的ネットワークリクエストルールを使う軽量な機能です。
- オフ:内蔵ブロックルールを使いません。
- 標準:基本ルールを有効にします。Fox Toolboxの初期設定です。
- 厳格:標準ルールと追加の厳格ルールを両方有効にします。
現在のサイトを許可リストへ追加すると、そのホスト名の要求をブロックルールより優先できます。よく使うサイトが壊れたとき、すべての広告ブロックを切らずに例外を設定できます。
内蔵ルールを使う構造なので、すべての広告、追跡スクリプト、新しいドメインを常に遮断できるとは限りません。厳格モードは正常なリソースまで止め、ログイン、決済、動画再生、レイアウトを壊す場合があります。
8. Webタブロック
Webタブロックは6~128文字のパスワードを設定し、通常のWebタブをロックする機能です。Firefox起動時に自動でロックすることも、手動ですぐロックすることもできます。
ロック中は通常ページの最上部にモーダルオーバーレイを表示し、マウス、キーボード、タッチ、ホイール、コンテキストメニューの入力を遮断します。コード挿入が禁止されたFirefox内部ページでは、別のロックページを開きます。
平文パスワードは保存しません。
- ランダムな16バイトのsaltを作ります。
- PBKDF2-SHA-256を240,000回適用します。
- 派生したハッシュとsaltだけをFirefoxの拡張機能ローカルストレージに保存します。
5回連続で失敗すると30秒間再試行できません。その後の失敗では待機時間が増え、最大120秒になります。
ただし、これはブラウザーやOSのセキュリティ境界ではなく、拡張機能レベルのソフトロックです。次の操作は防げません。
- アドレスバー、Firefoxメニュー、設定、内部
about:ページの使用 - アドオンマネージャーからFox Toolboxを無効化または削除
- 別のFirefoxプロファイルや別のブラウザーの使用
- プライベートウィンドウやトラブルシューティングモードの使用
- 開発者ツールやFirefox自体の権限による回避
- OS上のファイルや、すでにダウンロード済みのファイルへのアクセス
したがって、OSの画面ロック、共用PCのアクセス制御、ペアレンタルコントロール、企業向けセキュリティ製品の代わりにはなりません。
9. キルスイッチ
キルスイッチは、Firefoxが保存した閲覧データから選択した項目を削除します。
- キャッシュ
- Cookieとログインセッション
- ダウンロード履歴
- フォームの自動入力データ
- 閲覧履歴
- IndexedDB
- サイトのローカルストレージ
- Service Workerデータ
- 保存済みパスワード
期間は全期間、直近1時間、直近24時間、直近7日間から選べます。ただしFirefox APIは期間を指定したキャッシュ削除に対応しないため、キャッシュは全期間の場合だけ選択できます。
誤操作を減らすため2段階確認を使います。削除項目を選んだあと30秒以内に削除を直接入力して初めて処理が始まります。保存済みパスワードは初期選択から外されています。タブロックが設定済みなら、削除後にWebタブをロックできます。
削除したデータをFox Toolboxから復元することはできません。Cookieを削除するとサイトからログアウトし、保存済みパスワードを削除するとFirefoxのパスワードマネージャーからも消えます。
ダウンロード履歴の削除はFirefoxの記録だけを消します。ディスクに保存済みの実ファイルは削除しません。ブックマークとFox Toolbox自身の設定もキルスイッチの対象外です。
既定のショートカット
- 現在のタブの音量を10%上げる:
Alt+Shift+↑ - 現在のタブの音量を10%下げる:
Alt+Shift+↓ - 現在のタブのミュートを切り替える:
Alt+Shift+M - Webタブをすぐロックする:
Alt+Shift+L
OSや他の拡張機能と競合する場合は、アドオンマネージャー → 拡張機能のショートカットを管理で変更できます。即時ロックは先にパスワードを設定しておく必要があります。
権限は何に使われるのか
複数の機能を1つにまとめているため、権限も役割ごとに分かれています。
browsingData:キルスイッチで選択した閲覧データを削除declarativeNetRequestWithHostAccess:広告ブロックとタブ別User-Agentリクエストヘッダーの変更downloads:画像、動画、サイトZIPの保存scripting:すでに開いている通常のWebタブへロック接続を復元sessions:タブ別の音量、User-Agent、ダークモード状態を復元storage:広告ブロック、サイト別ダークモード、ロック設定を保存tabs:現在のタブの確認、ミュート、再読み込み、ロック状態の伝達webNavigation:アクセス可能なiframeを含むメディア検出<all_urls>:通常のWebページへの機能適用と、ユーザーが要求したリソースへのアクセス
永続設定はFirefoxの拡張機能ローカルストレージに残ります。ロック状態、30秒の削除確認トークン、検出メディア一覧などの一時データにはメモリベースのセッションストレージを使います。
ソースにはテレメトリやユーザー情報をFox Toolboxサーバーへ送信するコードがなく、マニフェストでもデータ収集なしと宣言されています。メディアやサイトZIPを保存するときは処理に必要な元サイトのリソースへ要求を送りますが、別のFox Toolboxサーバーへ転送するものではありません。
内部構造
Fox Toolboxは機能の責務を次のように分けています。
popup:9機能の設定・実行画面background:ダウンロード、閲覧データ削除、タブ状態、広告ブロックルールなどFirefox権限が必要な処理- ページのMain Worldコード:HTMLメディア、Web Audio、
navigator値の処理 - 分離されたContent Script:ダークモード、メディア検出、サイトキャプチャ、ロックオーバーレイ
- 宣言的ネットワークルール:広告ブロックとタブ別User-Agentリクエストヘッダー変更
ポップアップから命令を送ると、バックグラウンドが要求元とタブIDを検査し、必要な場合だけページコードへ状態を渡します。タブ別音量・User-Agent・ダークモードはFirefoxセッション値と結び付き、広告ブロック・サイト別ダークモード・ロック設定はローカルストレージに保存されます。
インストール方法
現在のソースフォルダーをFirefoxへ一時的に読み込む手順は次のとおりです。
- アドレスバーで
about:debugging#/runtime/this-firefoxを開きます。 - 一時的なアドオンを読み込むを選びます。
- Fox Toolboxフォルダーの
manifest.jsonを選択します。 - ツールバーのFox Toolboxアイコンを開きます。
配布ZIPがある場合は同じ画面で選択できます。環境によってZIPを直接選べないときは、展開して中のmanifest.jsonを選びます。
一時アドオンはFirefoxを完全に終了すると解除されます。通常のFirefoxへ恒久的にインストールするには、単なるZIPではなくMozillaの審査と署名を受けた.xpiが必要です。
まとめ
Fox Toolboxの長所は、よく使うタブ操作とプライバシー機能を1つの画面からすばやく切り替えられることです。タブ別状態の復元、サイト別ダークモード、広告ブロックの例外、削除前確認など、日常利用でのミスを減らす仕組みも備えています。
一方で万能ではありません。メディアダウンローダーはDRMや分割ストリームを処理せず、サイト保存は現在の文書のスナップショットです。User-Agent変更はブラウザーフィンガープリント全体を変えず、WebタブロックもOSロックの代わりにはなりません。
機能の範囲と限界を理解して使えば、Firefox内に散らばっていた複数の作業を1つのポップアップへ整理できる実用的なツールになります。