それまで Firefox で愛用していたBetter Twitterアドオンで 広告ツイート が消えなくなってしまったため、同様の Chrome ブラウザ拡張Hide Twitter Adsが Firefox で使えないか、プロファイルのインポートや、アドオンファイルの改変を試してみました。
いきさつ
以前、記事にまとめたようにTwitterのタイムライン閲覧はFirefoxではBetter Twitterアドオン、ChromeではHide Twitter / X.com Ads拡張を導入して、広告ツイートを消していました。
その後、2024年5月にTwitterが使用するドメインがX.comへ移行されてから、これらアドオンもアップデート。
すると、Better Twitterアドオンが効いてるはずのFirefoxで広告ツイートが消えない現象が発生。公式GitHubにて問い合わせるも、作者さまサイドでは現象が再現されないとのことで、お手上げ状態。
一方で、Chromeに入れているHide Twitter / X.com Ads拡張は、X.comへの移行後もこれまで通りに広告ツイートを消してくれるものの、残念ながらFirefox版はリリースされていません。
Chrome→Firefoxプロファイルインポート
近年は両ブラウザの拡張機能の仕様に歩み寄りが進んだのか、ChromeからFirefoxへのプロファイルインポートに拡張機能が含まれるようになりました。
そこでこの機能を利用して、Chromeブラウザに入れたHide Twitter / X.com Ads拡張をFirefoxへインポートしてみます。
まず、Chromeに新しいプロファイルを作り、ChromeストアからHide Twitter / X.com Ads拡張だけをインストール。
次に、Firefoxの設定ページ about:preferences を開き、 データをインポート ウィザードでChromeのプロファイルをインポート…
するも、すんなりとはインポートさせてもらえず。

図03.Firefox拡張インポートエラー
Chrome拡張を改変して直接Firefoxで試す
GitHubに公開されているHide Twitter / X.com Ads拡張のソースや、Firefox向けのBetter Twitterアドオンのソースを見比べてみてもそう大差ない構成に思えたので、Firefoxアドオンのデバッグ機能で一時的に読み込ませてみます。
まず、GitHubよりHide Twitter / X.com Ads拡張のソースをローカルへダウンロード・展開。そのファイル構成は以下の通りです。
|
1 2 3 4 5 6 7 8 9 |
twitter_ad_blocker-1.1.9 ├── img │ ├── hide-twitter-ads-128.png │ ├── hide-twitter-ads-16.png │ └── hide-twitter-ads-48.png ├── README.md ├── background.js ├── content.js └── manifest.json |
次に、Firefoxの 拡張機能の管理 → アドオンをデバッグ を開き、
|
1 |
about:debugging#/runtime/this-firefox |
一時的なアドオンを読み込む をクリックして、展開したソースファイルのいずれかを選択( manifest.json を探してくれます)して、一時的な利用を試みるもエラー。
ただ、ここで具体的にエラーの内容が挙がるので、これをヒントにソースファイルを改変します。
|
1 |
background.service_worker is currently disabled |
と言っても、 manifest.json 中の background.service_worker 項をコメントアウトしたのみ。参照先に指定されている background.js には、GitHubページへのリンクがあるだけで、機能への影響が無さそうに思えたため。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "manifest_version": 3, "name": "Hide Twitter / X.com Ads", "action": {}, "short_name": "Hide Twitter Ads", "description": "Free tool that hides Promoted Tweets while you browse Twitter (X.com).", "version": "1.1.9", "icons": { "16": "img/hide-twitter-ads-16.png", "48": "img/hide-twitter-ads-48.png", "128": "img/hide-twitter-ads-128.png" }, "permissions": [ ], // "background": { // "service_worker": "background.js" // }, "content_scripts": [ { "matches": [ "http://*.twitter.com/*", "https://*.twitter.com/*", "http://*.x.com/*", "https://*.x.com/*" ], "js":["content.js"] } ] } |
これで再度、一時的なアドオンを読み込むを実行してみると、今度は正常に組み込まれました。
拡張機能の設定で必要な権限を付与した後、Twitterのタイムラインを開くと、広告ツイートが消えていました。
以上はあくまでも一時的なアドオンの利用なので、Firefoxの再起動後は使えません。そこで、自分だけの非公開アドオンの形にして、他のアドオン同様に扱えるようにします。
ただ、開発版ビルドのFirefoxでもない限り、自分だけの非公開アドオンと言えども、導入にはFirefoxアドオン開発者センターへの登録や認証が必要です。
mozillaアカウントの2段階認証
Firefoxアドオン開発者センターに自身のmozillaアカウントでログオンしようとすると、まず2段階認証の有効化が強制されます。
QRコードを認証アプリ(Google Authenticatorを使いました)で読み取り、コードを返してログイン。

図08.Google Authenticator
こうして、mozillaアカウントの2段階認証が有効になりました。
アップロードファイルの準備
アドオン開発者センターへアップロードするファイルのうち、先ほど改変した manifest.json に、一意なIDを browser_specific_settings 項の中に記述します(これがないとアップロード時に怒られます)。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
{ "manifest_version": 3, "name": "Hide Twitter / X.com Ads", "action": {}, "short_name": "Hide Twitter Ads", "description": "Free tool that hides Promoted Tweets while you browse Twitter (X.com).", "version": "1.1.9", "icons": { "16": "img/hide-twitter-ads-16.png", "48": "img/hide-twitter-ads-48.png", "128": "img/hide-twitter-ads-128.png" }, "browser_specific_settings": { "gecko": { "id": "hide-twitter-ads@servercan.net" } }, "permissions": [ ], // "background": { // "service_worker": "background.js" // }, "content_scripts": [ { "matches": [ "http://*.twitter.com/*", "https://*.twitter.com/*", "http://*.x.com/*", "https://*.x.com/*" ], "js":["content.js"] } ] } |
次にアドオンソースファイルのあるディレクトリに入って、その中身を圧縮します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
$ cd twitter_ad_blocker-1.1.9/ $ ls -l -rw-rw-r-- 1 user user 651 May 17 21:20 README.md -rw-rw-r-- 1 user user 138 May 17 21:20 background.js -rw-rw-r-- 1 user user 4125 May 17 21:20 content.js drwxrwxr-x 2 user user 4096 May 27 17:26 img -rw-rw-r-- 1 user user 796 May 28 09:01 manifest.json $ zip -r ../twitter_ad_blocker-1.1.9.zip * adding: README.md (deflated 40%) adding: background.js (deflated 13%) adding: content.js (deflated 60%) adding: img/ (stored 0%) adding: img/hide-twitter-ads-128.png (deflated 12%) adding: img/hide-twitter-ads-16.png (deflated 19%) adding: img/hide-twitter-ads-48.png (deflated 10%) adding: manifest.json (deflated 54%) $ cd .. $ unzip -l twitter_ad_blocker-1.1.9.zip Archive: twitter_ad_blocker-1.1.9.zip Length Date Time Name --------- ---------- ----- ---- 651 2024-05-17 21:20 README.md 138 2024-05-17 21:20 background.js 4125 2024-05-17 21:20 content.js 0 2024-05-27 17:26 img/ 1576 2024-05-17 21:20 img/hide-twitter-ads-16.png 4453 2024-05-17 21:20 img/hide-twitter-ads-128.png 2667 2024-05-17 21:20 img/hide-twitter-ads-48.png 796 2024-05-28 09:01 manifest.json --------- ------- 14406 8 files $ mv ./twitter_ad_blocker-1.1.9.zip ./twitter_ad_blocker-1.1.9.xpi $ ls -l drwxrwxr-x 3 user user 4096 May 27 16:24 twitter_ad_blocker-1.1.9/ -rw-rw-r-- 1 user user 11368 May 27 16:31 twitter_ad_blocker-1.1.9.xpi |
最後に拡張子を xpi へリネームすれば、アドオンのアップロード準備は終わりです。
自分用非公開アドオンを登録
Firefoxアドオン開発者センターを開いて、 初めてのアドオンを登録 ボタンを押します。
このバージョンの配布手段では、自分用の非公開アドオンなので On your own を選択。
Select a file ボタンを押し、準備しておいたxpiファイルをここでアップロードします。アップロードされたファイルの内容に不備があればここで指摘されるので注意。
ソースコードを提出する必要は無いと思うので、 いいえ を選んで次へ。
新しいアドオンの登録が完了。あとは署名されるのを待つだけです。
署名された自分用アドオンをインストール
登録したアドオンは非公開なので、その状態はアドオン開発者センターでのみアクセスが可能。 自分のアドオン一覧 でアドオンをクリック。
アドオンの製品ページ 左メニューの ステータスとバージョンを管理 をクリックします。
メールでの通知は有りませんでしたが、登録から数分後にはアドオンは承認済みになっていました。これで署名済みアドオンをダウンロードできるので、バージョン番号のリンクをクリック。
ファイル項にあるのがダウンロードリンクなので、これをクリックすればダウンロードとインストールが始まります。
ちなみにこの xpi ファイルをダウンロードして中を覗いてみると、署名ファイルが内包されていました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ ls -l *.xpi -rw-rw-r-- 1 user user 19128 Jun 5 11:09 299bdcb17b6c47ec84f4-1.1.9.signed.xpi -rw-rw-r-- 1 user user 11411 May 28 09:01 twitter_ad_blocker-1.1.9.xpi $ unzip -l 299bdcb17b6c47ec84f4-1.1.9.signed.xpi Archive: 299bdcb17b6c47ec84f4-1.1.9.signed.xpi Length Date Time Name --------- ---------- ----- ---- 138 1980-00-00 00:00 background.js 651 1980-00-00 00:00 README.md 4125 1980-00-00 00:00 content.js 733 1980-00-00 00:00 manifest.json 4453 1980-00-00 00:00 img/hide-twitter-ads-128.png 1576 1980-00-00 00:00 img/hide-twitter-ads-16.png 2667 1980-00-00 00:00 img/hide-twitter-ads-48.png 1137 1980-00-00 00:00 META-INF/cose.manifest 3108 1980-00-00 00:00 META-INF/cose.sig 1458 1980-00-00 00:00 META-INF/manifest.mf 144 1980-00-00 00:00 META-INF/mozilla.sf 4355 1980-00-00 00:00 META-INF/mozilla.rsa --------- ------- 24545 12 files |
こうしてFirefoxへインストールされた自分用アドオンは、他のアドオン同様にFirefoxの再起動後も引き続き利用することができます。


















