手軽に使える forward http proxy : stone, Tinyproxy

直接グローバルに繋がる経路をもたないホストから http アクセスしたいので http proxy を使いたい。Squidは定番ですが、もう少し手軽なのはなにかないかと思っていたところ twitter で教えていただきました。ありがとうございます。

Stone

Simple Repeater `stone'

# stone proxy 8080

これだけで port 8080 を listen する http proxy として動作します。非常にお手軽ですね。

glibc-2.8 以降の最近の Linux 環境では、そのままだと error: dereferencing pointer to incomplete type というエラーが出て make が通りません。下記の通り修正してコンパイルできました。

解決方法としては、Makefileの以下の記述部分に、-D_GNU_SOURCEを追加することで正常にコンパイルできるようになりました。


linux:
$(MAKE) FLAGS="-O -Wall -DCPP=’\"/usr/bin/cpp -traditional\"’ -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL
_DST=80 -DUSE_EPOLL –D_GNU_SOURCE $(FLAGS)" LIBS="-lpthread $(LIBS)" stone

stoneをLinuxでコンパイルする | 突然消失するかもしれないブログ

Tinyproxy

Tinyproxy - A light-weight HTTP/HTTPS proxy

Tinyproxy has a small footprint and requires very little in the way of system resources.

少ないリソースでも動く proxy だそうです。各種ディストリビューションのパッケージもあるようなのでインストールも簡単でいいですね。