2012/12/22

iPhone, Android用のProxyをたててみる - 3

Hiroaki's blog: iPhone, Android用のProxyをたててみる - 2の続き。Privoxyの設定編。

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.actionuser.filterに記載する。広告除去 - Privoxy Wikiなどが参考になる。

ここまでやれば、自分の興味のないページへのアクセスや、端末の関係で見れないデータをダウンロードしてくることなど、無駄な処理をずいぶん省けると思う。データ転送量での速度制限が当たり前のように行われているので、こうやって自衛するのも有効なはず。


0 件のコメント :

コメントを投稿

Comments on Google+: