ローリングコンバットピッチなう!

AIとか仮想化とかペーパークラフトとか

OpenWRT+Privoxy

OpenWRTにPrivoxyをインストールして広告ブロック/Adblock付きProxyにしてみた。

とりあえず忘れない用に参考URLだけ貼っておきます。
http://blog.vanutsteen.nl/2014/01/05/installing-privoxy-with-adblock-filters-on-openwrt/

多分OpenWRT+Privoxyググると最初にヒットするのは
https://wiki.openwrt.org/doc/howto/proxy.privoxy
なんだけど、Adblock用のフィルタ設定の話が入っていないので、上記URLを参照して設定。
今のところ問題なし。

ある程度動かしたら透過Proxy化もやってみる予定。

追記:
透過Proxyも設定してしばらく使っていたのですが、当然と言えば当然、どうしても普段自分が使っている一部サイトが広告ブロックに引っかかってしまうので、対策方法を調査。
とりあえず以下の手順で対象サイトが通る様になりました。

  • /etc/privoxy/user.actionを編集

このファイルでprivoxyに設定した共通ブロック・フィルタ条件に対して例外を追加できます。ちょっとわかりにくいのですが、

# ブロックしたいサイトを追加
{ +block }
.aaa.example.com
# ブロックしたくないサイトを追加
{ -block }
.bbb.example.com
# フィルタしたいサイトを追加
{ +filter }
.ccc.example.com
# フィルタしたくないサイトを追加
{ -filter }
.ddd.example.com

みたいな感じで特定サイトをブロック・アンブロックできる模様。
広告関係のブロックについては

# 広告を許可
{ allow-ads }
.eee.example.com

と書くとeee.example.comにアクセスできる様になります。

  • user.actionを有効化

user.actionファイルの内容はデフォルトでは無効になっています。
/etc/config/privoxyファイルを開いて、下記の行のコメントアウトを外します。

# 修正前
#	list	actionsfile	'user.action'
# 修正後
	list	actionsfile	'user.action'
$ /etc/init.d/privoxy restart

なおブラウザでhttp://config.privoxy.orgにアクセスするとローカルのPrivoxyに転送され、Privoxyの設定や、Privoxy起動からのフィルター率、任意のURLに対してブロックやフィルターがかかるか否かなどを確認できます。
Privoxy運用中にうまくアクセスできないサイトが出た場合のデバッグに使えます。

URL 内容
http://config.privoxy.org/ メインページ
http://config.privoxy.org/show-status 現在の設定やブロック実績(ブロックされたリクエスト数/総リクエスト数)を表示
http://config.privoxy.org/show-url-info 指定されたURLに対してPrivoxyがどう動作するか(ブロックするのか?ブロックせずに転送するのか?)が表示される
http://config.privoxy.org/toggle privoxyの停止・再開

ちなみに自分の使い方だとブロック率は20%強くらいですね。
# その後、ログを見ながらブロック対象サイトを増やしていったところ、
# 35%くらいまで改善。トラッキングサイトを片っ端からrejectしています。
自宅環境ではあまり感じませんが、回線品質が悪い環境では不要トラフィック削減は結構効果ありな気がします。