configの設定
Privoxyの設定はconfigファイルで行う。コメントを除いた設定ファイルは、こんな感じ。
confdir /usr/local/etc/privoxy
logdir /var/log/privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile user.action # User customizations
filterfile default.filter
filterfile user.filter # User customizations
logfile logfile
debug 1 # Log the destination for each request Privoxy let through.
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
debug 4096 # Startup banner and warnings
listen-address :8118
toggle 1
enable-remote-toggle 0
enable-remote-http-toggle 0
enable-edit-actions 0
enforce-blocks 0
buffer-limit 4096
forward / localhost:8080
forward :443 .
forwarded-connect-retries 0
accept-intercepted-requests 1
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 50
connection-sharing 1
socket-timeout 300
enable-compression 1
compression-level 9
actionsfile、filterfileは後ろで説明することにして、重要なのは、toggle 1
。これで、Privoxyによるコンテンツの書き換えを有効にする。actionsfile
「どんな操作を行うか」を定義したのが、actionsfile。柔軟に設定できるようになっているが、それがかえって難しく感じさせている気がする。というわけで、ここではよく使いそうな2つのパターンを説明する。
{+block{理由}}
適用させるドメイン or URLのpath
:
ブロック。リクエストを中継しない。アクセスを禁止させたいドメインなどの指定に使う。{+filter{フィルタ名}}
適用させるドメイン or URLのpath
:
コンテンツを書き換えるときに使う。例えば、iOSではフラッシュを見ることができないため、コンテンツに埋め込まれているフラッシュを除去するときに使う。filterfile
actionsfileで指定するfilterを定義する。コンテンツの書き換え方を記述する。
match-all.action
は、すべてのURLに対して適用するactionを書く。そうでなくてもよいのだが、ファイル名と内容を合わせておいたほうがよいだろう。これには手を加えずに、user.actionに記述するほうがよいかも。default.filter
は、あらかじめ定義されているフィルタ。フィルタは、定義しただけでは適用されないため、ここで読み込んでおいても問題ないだろう。自分の設定は、
user.action
とuser.filter
に記載する。広告除去 - Privoxy Wikiなどが参考になる。
ここまでやれば、自分の興味のないページへのアクセスや、端末の関係で見れないデータをダウンロードしてくることなど、無駄な処理をずいぶん省けると思う。データ転送量での速度制限が当たり前のように行われているので、こうやって自衛するのも有効なはず。