OpenWrt 22.03のadblockに豆腐フィルタを適用する
はじめに
あまり前置きはせずに、本記事を執筆時点で最新のOpenWrt 22.0.3.3のadblock 4.1.5に豆腐フィルタを適用する手順です。
豆腐フィルタの場所
現時点では作者の方はこちらでメンテを行っているようです。
実際のフィルタファイルは以下です。
https://raw.githubusercontent.com/tofukko/filter/master/Adblock_Plus_list.txt
commitのログを見ると、日々更新して頂いているようで、非常に心強いですね。
adblockのルール追加手順
公式ドキュメントを読みます。
「Edit, add new adblock sources:」の章をみると以下の手順で行うらしいです。
- /etc/adblock/adblock.sources.gzを解凍したものを別名(/etc/adblock/adblock-add-tofu.sources)で保存
- 別名で保存したファイルに新しいエントリ(今回は豆腐フィルタ)を追加
- jsonファイルを圧縮して、uciの設定adb_srcarc, adb_srcfileを変更
元の /etc/adblock/adblock.sources.gzを書き換えるとパッケージアップデート時に上書きされてしまうので、こうしましょうとの事です。
具体的な操作手順は以下の通りです。
cd /etc/adblock
zcat adblock.sources.gz > adblock-add-tofu.sources
ここで、viなどでadblock-add-tofu.sourcesを開き、1行目と2行目の間に以下のコードを追加します。
"tofu": {
"url": "https://raw.githubusercontent.com/tofukko/filter/master/Adblock_Plus_list.txt",
"rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+\\^(\\$third-party)?$/{print tolower($3)}",
"size": "XL",
"focus": "Japanese ADS",
"descurl": "https://github.com/tofukko/filter"
},
こちらは以下の方の設定を参考にしました。Adblock_Plus_list.txtの本日時点のサイズは199KBでしたので、size=XLで登録します。
続きの実行例です。
gzip adblock-add-tofu.sources
uci set adblock.global.adb_srcarc='/etc/adblock/adblock-add-tofu.sources.gz'
uci set adblock.global.adb_srcfile='/tmp/adb_sources-add-tofu.json'
uci commit adblock
「/etc/init.d/adblock list」コマンドでちゃんと追加されていますね。
root@OpenWrt:/etc/adblock# /etc/init.d/adblock list | head
::: Available adblock sources
:::
Name Enabled Size Focus Info URL
-------------------------------------------------------------------
+ tofu XL Japanese ADS https://github.com/tofukko/filter
+ adaway S mobile https://github.com/AdAway/adaway.github.io
+ adguard L general https://adguard.com
+ adguard_tracking S tracking https://github.com/AdguardTeam/cname-trackers
+ android_tracking S tracking https://github.com/Perflyst/PiHoleBlocklist
+ andryou L compilation https://gitlab.com/andryou/block/-/blob/master/rea
luciからの豆腐設定
あとはluciの「ブロックリスト提供元」のソースから「tofu (XL, Japanese)」を選択して、adblockのリロードを行います。
ブロックドメイン数が本日時点では765個ありますね。こちらの状態でしばらく様子をみたいと考えます。
おわりに
新しめのOpenWrtやadblockに対応していなかったり、豆腐フィルタの配布元が以前のものである記事が多かったため、自分で整理した記録を公開しました。
参考になれば幸いです。
Discussion