量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

Polipo と Privoxy をプロキシサーバーにする。

スポンサーリンク

広告とかの余計な表示をブロックしてくれる Privoxy を少し前から使っている。
けれども、スピードがやや遅いので、Polipo というキャッシュ機能付きのプロキシサーバーも使ってみることにした。
構成はこんな感じ。(括弧内はポート番号)

ブラウザ ⇔ Privoxy(8118) ⇔ Polipo(8123) ⇔ インターネット



で、Polipo を使えるようになるまでかなりハマったので、いつもの様にメモを残しておく。

  1. Polipo のダウンロード:

git clone git://git.wifi.pps.univ-paris-diderot.fr/polipo


2014/09/27追記:
"git.wifi.pps.univ-paris-diderot.fr"にアクセスしたら、"504 Host git.wifi.pps.univ-paris-diderot.fr lookup failed: Permanent name server failure"というエラーが表示されました。
チェックアウトしたい場合、代わりに以下のコマンドを実行すれば良いと思います。


git clone git://github.com/jech/polipo

      • Cドライブで実行したら、C:\polipo というフォルダができて、そこにチェックアウトされた。
  1. Git クライアントのインストール:
    • Windows 用の git クライアントのインストーラhttp://msysgit.github.io/ からダウンロードした。
      • クライアントは Git for Windows と MSysGit の2種類がある。
      • 以前、MSysGit の 1.8.1.2*1 版をインストールしたけど、最新版の 1.9.2*2 が出ていたので、こちらをインストールすることにした。
      • しかし、インストールの最後の方で make に失敗しているようなエラーログを吐いたので、MSysGit は諦めて、Git for Windows の方をインストールした。
  2. Polipoコンパイル・インストール:
    • make は Cygwin を使って行なった。こんな感じ。

cd /cygdrive/c/polipo
make
make all
make install

      • Cygwin は C:\cygwin フォルダにインストールしてあったので、polipo.exe というファイルが C:\cygwin\usr\local\bin フォルダに作られた。
      • コンパイルする時、make や cc コマンドが見つからない的なエラーが出たので、Devel カテゴリにある make と gcc-core もインストールした。
  1. Polipo の実行:
    • polipo.exe を実行したら、こんなエラーが出た。

コンピュータに cygwin1.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてください。

    • cygwin1.dll は C:\cygwin\bin フォルダにあるので、試行錯誤の末、こんなバッチプログラム(polipo.bat)を作った。

set PATH=%PATH%;C:\cygwin\bin\
start C:\cygwin\usr\local\bin\polipo.exe -c /cygdrive/c/cygwin/etc/resolv.conf

    • 最初に実行した時はこんなログが出た。

DNS: couldn't open /etc/resolv.conf: No such file or directory
Disabling disk cache: No such file or directory
Disabling local tree: No such file or directory

      • 1番目のエラーは C:\cygwin\etc フォルダに resolv.conf ファイルを配置することで回避。(実行コマンドの -c オプションに、このファイルのパスを指定しているけど、これについては後述。)
      • 2番目のエラーは C:\cygwin\var\cache\polipo というフォルダを作ることで回避。
      • 3番目のエラーは C:\cygwin\usr\share\polipo\www というフォルダを作ることで回避。
  1. PrivoxyPolipo の連携:
    • Privoxy のインストールフォルダにある config.txt に以下の記述を追加した。

forward / 127.0.0.1:8123

      • 8123 は Polipo のデフォルトのポート番号。もし Polipo のポート番号を変更したら、こちらのファイルも修正する必要がある。
  1. インターネットオプションの設定:
    • 「コントロールパネル」→「インターネットオプション」→「接続」タブ→「LAN の設定」ボタンを押した時に表示される、プロキシサーバーのアドレスとポート番号にはそれぞれ 127.0.0.1 と 8118 を指定した。
      • 8118 は Privoxy のデフォルトのポート番号。もし Privoxy のポート番号を変更したら、インターネットオプションも変更しなければならない。
  2. ブラウザでインターネットにアクセス:



まあ、こんな感じで何とかインターネットにアクセスできるようになった。
できれば PolipoWindows サービスとして起動したかったけど、cygwin1.dll が見つからない問題にぶつかったため、一旦、後回しにした。
肝心の表示速度だけど、体感でもかなり速くなった。


その他、参考にさせていただいた資料です。


*1:msysGit-fullinstall-1.8.1.2-preview20130201.exe

*2:msysGit-netinstall-1.9.2-preview20140411.exe