Docker Container ------------------------------------- <-> Polipo 1 <-> Tor Proxy 1 Client <----> HAproxy <-> Polipo 2 <-> Tor Proxy 2 <-> Polipo n <-> Tor Proxy n Why: Lots of IP addresses. One single endpoint for your client. Load-balancing by HAproxy.
# build docker container docker build -t mattes/rotating-proxy:latest . # ... or pull docker container docker pull mattes/rotating-proxy:latest # start docker container docker run -d -p 5566:5566 -p 1936:1936 --env tors=25 mattes/rotating-proxy # test with ... curl --proxy 127.0.0.1:5566 http://echoip.com curl --proxy 127.0.0.1:5566 http://header.jsontest.com # monitor http://127.0.0.1:1936/haproxy?statsPlease note: Tor offers a SOCKS Proxy only. In order to allow communication from HAproxy to Tor, Polipo is used to translate from HTTP proxy to SOCKS proxy. HAproxy is able to talk to HTTP proxies only.