Privoxyのメモ
OSを入れなおしたらProxomitronのダイアログがマトモに表示されなくなった。で公式サイトに行ってみると死んでるしソースもないし、…わけのわからないパターン記述に付き合うのも飽きたのでPrivoxyを試してみる。
Privoxy http://www.privoxy.org/user-manual/index.html
導入
- sorrceforge からWindows版をDLして解凍
- config.txtの listen-address を設定。IFADDR_ANYの場合は :8080 等と書く。
- Shift_JISで書かれたページの文字化けを防ぐために
default.action の
+filter{demoronizer} \
を-filter{demoronizer} \
と書き換える。 - Privoxyを起動する
- ブラウザのプロクシ設定を変更する
- 組み込みのWeb管理画面 http://config.privoxy.org/ にアクセスして動作確認。
- 空のファイルuser.filterを作ってconfig.txt に
filterfile user.filter
を追加。
アクションファイル
アクションファイルはURLに対する行動を決める。 http://config.privoxy.org/show-url-info でURLに対する行動がどう設定されているか確認できる。default.action standard.action user.action の3つのファイルに分かれていて、 ユーザによる変更はuser.action を編集する。
user.action はコメントを除くと
{{alias}} { allow-all-cookies } { -filter{popups} -kill-popups } { -filter } { +block } { +block-as-image } { fragile } { allow-ads } { +set-image-blocker{blank} }という構造。
単純に拒否や信頼したいサイトを設定するには {}で分けられたセクションにパターンを追加すればいい。
URLのパターンは domain パターンとパスパターンに分かれる。 ユーザマニュアルの8.4を参照。 domainパターンはワイルドカードといくつかの省略記法(8.4.1)、 pathパターンはperl互換正規表現が使われる(8.4.2)。
pathパターンでは左端の/とパターンの^に何か特別なことがあるらしい。またデフォルトでCASE INSENSITIVEになっている。詳細はマニュアルを参照。
安全なドメインの安全でないサブドメイン
Proxomitronのリストファイルを移動しているとSafeListに(^jump)[^/]++.(2ch.net|bbspink.com)/ (^user)[^/]++.yahoo.co.jp/ (^members)[^/]++.goo.ne.jp/という表記があって、同じことをPrivoxyで処理したい。 パターンに頼らない解決法は、-filterより後に"Defaults" section と同じ設定のセクションを書いて、そこに安全でないドメインを書く。 ドメインパターンに否定表現を書ければスマートなんだが…。
フィルタ使用例:www.google.comのリファラ消しを外す
user.filterFILTER: google s|<a href=/url\?sa=U\&start=\d+\&q=(\S+)([^>]*)>|<a href="$1" $2>|user.action
{ +filter{google} } .google.com .google.co.jp