2008年12月10日水曜日

玄箱にpolipoを導入

久々の玄箱ネタです。かなり良く動いてもらってます。すでにsambaサービスは切ってしまって、ただのWebサーバーと化してますがuptimeが 150daysを超えて安定稼働中です。それで、最近ニコ動とか良く見るのですが前に見た動画をまた見ようと思っても動画のダウンロードに待たされちゃう ことがありますよね。というわけで、polipoという個人向けプロキシーサーバーなるものを導入しました。

$ wget http://www.pps.jussieu.fr/~jch/software/files/polipo/polipo-1.0.4.tar.gz
$ tar xvzf polipo-1.0.4
$ cd polipo-1.0.4

で、玄箱にあわせてMakefileを少し弄ります。

PREFIX=/opt/polipo
LOCAL_ROOT=/mnt/share/polipo/www
DISK_CACHE_ROOT=/mnt/share/polipo/cache

# CC = gcc

FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
-DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\" \
-DNO_FORBIDDEN

(forbidden.cでエラーがでるので、とりあえず外しちゃう)
以上の設定を行って、コンパイルします。

$ make

ビルドが通ったら、インストールします

$ su
# mkdir -p /opt/polipo/bin
# mkdir -p /mnt/share/polipo/www
# mkdir -p /mnt/share/polipo/www/doc
# cp -f polipo /opt/polipo/bin
# cp -f html/* /mnt/share/polipo/www/doc
# cp -f localindex.html /mnt/share/polipo/www/index.html

あとは、設定ファイルをコピーして、設定します

# cp config.sample /opt/polipo/bin/config

設定内容は、こんな感じで。
proxyAddress = "192.168.1.5"
allowedClients = "192.168.1.0/24"
diskCacheRoot = "/mnt/share/polipo/cache"
dnsNameServer = "192.168.1.1"

そして、起動。

# /opt/polipo/bin/polipo -c /opt/polipo/bin/config &

プ ロキシー経由にすると、一度見た動画ならすぐに再生可能になって早い早い。ただ、キャッシュは空き容量がある限りガンガン溜めていくらしいので、たまに空 き容量はチェックしておいたほうが良いみたいです。まぁ、ウチの場合は玄箱をファイルサーバーとして全く使用していなかったので、容量はかなり余裕があり ます。玄箱は20G HDDなのですが、空き容量が埋まるくらい見てやろうと思います。