2016年12月23日金曜日

DD-WRTのPrivoxyでAdblock Plus Filtersを使う

最近のルータはDD-WRTで色々やっても十分な性能があるのでついにメインのルータをDD-WRTに書き換えて広告ブロックのプロクシを動かしてみることに。
まぁつまりすべてのデバイスの広告をブロックできるルーターにしてしまおうと。

使用したルータはBuffaloのWZR-1166DHP。Bloadcomの800MHzのデュアルコアCPUに512MBのRAMを積んでる。
使用しているDD-WRTのバージョンはDD-WRT v3.0-r30880 std

Privoxyがもともと入っているっぽいのでServiceのPrivoxyを有効にしてクライアントのプロキシを設定すればそこそこ広告ブロックされる模様。

今回はさらにAdblock Plus Filtersを使ってみることに。

Githubで公開されているDD-WRT Adblock Plus to Privoxyを使うと簡単にできるはずだったんだけど
スクリプトが古いからなのか、うまく動かなかったのでこのスクリプトを使ってこのバージョンのDD-WRTで動いた方法を紹介。

まずはAdministration→ManagementからJFFS2 Supportを有効にしてファイルを保存できるようにする。

Services→ServicesでSecure Shellのsshdを有効にしてSSHを使えるようにする。

SSHでrootでログインして次のコマンドを実行。
mkdir -p /jffs/etc/privoxy
mkdir -p /jffs/tmp
cp -r /etc/privoxy/* /jffs/etc/privoxy
cd /jffs
curl -k -O https://raw.githubusercontent.com/jamesmacwhite/ddwrt-adbp-to-privoxy/master/privoxy-blocklist.sh
chmod +x privoxy-blocklist.sh
sh privoxy-blocklist.sh
そしたらServices→Adblockingを開いてPrivoxyを有効にする。
ここまでがこのスクリプトの説明なんだけどこの通りに設定してクライアントでプロクシの設定をしてもうまくつながらない。

ということでServices→AdblockingのCustom Configurationを見直してみた。

SSHでルータに接続して/jffs/etc/privoxyの内容を確認してみるとCustom Configurationで設定されているのに存在しないファイルが…
逆に存在するファイルも…

ということでactionファイルとfilterファイルの設定を変更してみた。

ついでにlisten-addressもルータのIPに。
これで無事クライアントでプロクシを設定してもちゃんとネットに繋がるように。
そして広告も消えてる!
画像が沢山あるサイトだとちょっと遅い感じはするけどタブレットとかスマホに使うためなので特に問題はない感じ。

最近のルータほんと高性能だよなぁ

0 件のコメント:

コメントを投稿