ChromeXtを導入して、AdShield広告をブロックする
最近「小説家になろう」を読んでいたときにDNS広告ブロッカーを使っていても消えない広告があり、ソースを調べてみました。
どうやらhtml-load.com
とcontent-loader.com
というドメインが悪さをしているようですが、これらをブロックするとエラーが発生します。
このエラーはreport.error-report.com
というそれらしいサイトで表示されますが、error-report.com
にアクセスするとhtml-load.com
に飛ばされます。
このドメインで広告がホストされているのは間違いありませんが、特にサイトコンテンツのロードに関係しないのに関係しているように表示するのはかなり悪どいと感じます。
tinyShieldとは
このhtml-load.com
などのドメインで広告を出しているAdShieldの広告をブロックするためのスクリプトがtinyShieldです。
tinyShieldはユーザースクリプトで、デスクトップ向けブラウザやFirefox Androidなどの拡張機能が追加できるブラウザであれば、TampermonkeyやViolentmonkeyを追加することで利用できます。
ChromeXt
しかし、Android版のChromeやChromeベースのブラウザでは拡張機能を使用できません。(Microsoft Edgeは例外的に利用できます)
ChromeXtを使用すると、拡張機能をいれることなくユーザースクリプトを利用できます。
インストール
非root環境であることを前提にします。
- ブラウザのapkをダウンロード(Vivaldiの場合はその他のダウンロードストアからARM 64bit)
- LSPatchから最新で成功しているものを選択し、Artifactsの
lspatch-release-***
となっているものをダウンロード - ChromeXtから最新で成功しているものを選択し、ArtifactsのChromeXt.apkをダウンロード
- それぞれ解凍し、lspatchのフォルダに
ChromeXt-signed.apk
を入れる java -jar jar-v0.7-430-release.jar Vivaldi.7.0.3505.165_arm64-v8a.apk -d -v -m ChromeXt-signed.apk --force --injectdex
(ファイル名はビルドによって違います)- パッチされたAPK
***-lspatched.apk
をAndroid端末に転送しインストール
これで完了です。ChromeXtにアクセスした際に”ChromeXt is working”と出ていれば成功しています。
ユーザースクリプトをいれる
tinyShieldのユーザースクリプトのリンク(cdn.jsdelivr.net/…)にアクセスしてみましょう。
インストールダイアログからインストールできます。
/
Zakki