GPLv3. Original Licensor https://github.com/gorhill/uBlock
(Chromium only)
Navigator.connection を参照して「xx KBより大きいメディア要素をブロックする」の適用を動的に切り替える。※ダッシュボードでの設定はONしておく必要がある
備考:ブラウザーからの情報変化イベント(onchange)で切り替えるため、特に安定しない通信回線ではページ読込中に変化する可能性がある(?)。
ポップアップに状態表示(navigator.connection.effectiveType
)しており、値が「4g」では非適用、それ以外は適用としている。<仕様。ただしブラウザー実装が仕様に従っているか不明>
常時適用(フォーク元同様)させるにはchrome://flags/#force-effective-connection-type
を「3g」などにすればよい。ただしこの情報を使うWEBサービスや拡張機能に影響する。
Chrome, Firefoxとも現最新バージョンではFTPサポートが削除されているのでURI判定からftp/ftpsスキームを削除。
コミット https://github.com/gontazaka/uBlock/commit/c4f7c9ae8b793cea705659b4c51a5a576b542beb
uBlock filtersやEasyListなどのフィルターをパッケージに同梱しない。
パッケージサイズが1MB以上小さくなるため拡張機能をアップデートして使うメリットが出る。新規インストール時にルール数0となるが「今すぐ更新」すれば最新ルールが普通にダウンロードされる。
GitHubのリリースでパッケージをセルフホスト(Chrome, Edge, Firefox)している。
リリース時のGitHub Actionsでアップデート用メタデータChromium, Firefox)も更新し.crx
は鍵付きでパッキング、.xpi
はaddons.mozilla.org(AMO)
で署名されるため自動更新対応している。
※FirefoxのセルフホストはuBlock Originベータ(およびRC)版でも行っており、ローカル実行からGitHub Actionsで実行するように変更した点が異なる
セキュリティ都合のためかEdge(Chromium)は初期状態では野良拡張機能はブロックされているためおまじないが必要。
レジストリ変更(or ポリシーエディタ)
例
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallAllowlist]
"1"="heijcalefhbbecnlkmkmgohkkfmhhhnm"
Chromeはデフォルトですべての拡張機能が許可。