愛用していたuBlock OriginがChromeでの更新を止めてしまった。
どうやらManifest V3では今までの機能を再現できなかったためにChrome対応するのをやめたからのようだ。
Manifestとはなにか
拡張機能の設定ファイル。
どのサイトに、どのファイルを適応するかを明記する。
ここに適応するのは主にjs。
htmlやcssも設定可能。
{
"name": "Manifest V2 adblock",
"version": "1.0.0",
"manifest_version": 2,
"permissions": [ # どんな権限を与えるか
"webRequest",
"webRequestBlocking",
"<all_urls>" # 全URL
],
"background": {
"scripts": ["script.js"] # 全URLでこのjsを適応
}
}
たぶんこんな感じ
なぜ動かなくなったのか
V3への移行でwebRequestBlocking の権限がなくなってしまったことが主な原因。
Chrome for developers | webRequestBlocking
これによる変化がuBlockOriginのGitHubリポジトリで確認できるので見てみる。
V2
~~~
"permissions": [
"alarms",
"contextMenus",
"privacy",
"storage",
"tabs",
"unlimitedStorage",
"webNavigation",
"webRequest",
"webRequestBlocking", # これが消えてしまったことが最大の原因
"<all_urls>"
],
~~~


画像はfirefoxのuBlockOrigin
マイルールとマイフィルターの機能があり、自分でその場で追加できる。
GitHubのリンク埋め込むと表示されるの初めて知った
V3 (uBlockOrigin Lite)
~~~
"permissions": [
"activeTab",
"declarativeNetRequest",
"scripting",
"storage"
],
~~~
uBlockOrigin Liteは現在もChromeで使用できる簡易版であるが、前ほどの効力もないし、自分の好きなようなルールを設定できる拡張性も失われている。
なんでこんな変更したの?
Googleは、Manifest V3への移行理由として主に以下の2点を挙げている。
-
プライバシーとセキュリティの向上
V2の webRequest は非常に強力で拡張機能によってユーザーが見ている全ての通信を覗き見ることができた。
V3では「リストを渡すだけ」にしたので、拡張機能側が通信の中身を覗き見るリスクが減る。 -
パフォーマンスの改善
V2では、通信のたびに拡張機能にお伺いを立てていた。
この画像は読み込んでいい? -> ダメ というやり取りが発生するため、拡張機能の処理が重いとブラウザ全体の動作が遅くなる原因になっていた。
V3では拡張機能は基本的に割り込まずにブラウザが主体で処理するため、拡張機能のせいでChromeが重くなることを防ぐ。
というのが大体の公式見解
これらは建前で広告収益を上げたいから消したんじゃないの、と言われている
uBlock Origin Liteでできなくなった主な機能
- マイフィルター
- V2では自分で広告のルールを書いて追加できた
- V2では自分で広告のルールを書いて追加できた
- 動的フィルタリング
- 特定のドメインやスクリプトを手動でブロック・許可する機能が削除
- 特定のドメインやスクリプトを手動でブロック・許可する機能が削除
- リアルタイムでのルール適応
- 新しい広告が出現した際、V2では即座に対応できた
- V3では拡張機能のアップデートを待つ必要がある
- ルール数の制限
- V2: 実質無制限
- V3: 最大30,000の静的ルール + 5,000の動的ルール
まとめ
Manifest V3への移行は、セキュリティ強化という文言で広告ブロッカーの手足を縛る結果となった。
- 技術的な変化
- 動的ブロック権限の剥奪
- これにより完全ルールベースへの強制移行
- ユーザーへの影響
- カスタマイズ性の低下
- 新しい広告が出ても即座に対応しにくい
- 今後どうするか
- 諦めてuBlockOrigin Liteを使う
- 一般的な広告は消えるので、ライトユーザーならこれでも十分かも
- 一般的な広告は消えるので、ライトユーザーならこれでも十分かも
- Firefoxへ移行
- FirefoxはGoogleベースではないため、まだV2の強力なブロック機能が使える
- FirefoxはGoogleベースではないため、まだV2の強力なブロック機能が使える
- Braveなどの広告ブロック内蔵ブラウザを使う
- 拡張機能に頼らず、ブラウザ本体の機能としてブロックしてくれるため、Manifestの影響を受けない
- 諦めてuBlockOrigin Liteを使う
Adblockを(無報酬で)開発している方は、Twitterにて、「Adblockが検知できなかった広告がユーザーに表示されてしまうことで、逆にユーザーを危険にさらしている」(要約)と嘆いていた。
今後Adblockが大衆化していけば、世論によるこういった権限の復活や、人々のブラウザの移行もあるのかもしれない。
