Skip to content

Forked rotating tor pool with haproxy load balancer for v3 onions and tor master building.

Notifications You must be signed in to change notification settings

general-programming/alpine-tor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alpine-tor

               Docker Container
               -------------------------------------
                        <-> Tor Proxy 1
Client <---->   HAproxy <-> Tor Proxy 2
                        <-> Tor Proxy n

Parents

Why: Lots of IP addresses. One single endpoint for your client. Load-balancing by HAproxy.

Environment Variables

  • tors - Integer, number of tor instances to run. (Default: 20)
  • new_circuit_period - Integer, NewCircuitPeriod parameter value in seconds. (Default: 2 minutes)
  • max_circuit_dirtiness - Integer, MaxCircuitDirtiness parameter value in seconds. (Default: 10 minutes)
  • circuit_build_timeout - Integer, CircuitBuildTimeout parameter value in seconds. (Default: 60 seconds)
  • haproxy_port_http - Integer, port for http tunneling. (Default: 8118)
  • haproxy_port_socks - Integer, port for haproxy. (Default: 5566)
  • haproxy_stats - Integer, port for haproxy monitor. (Default: 2090)
  • haproxy_login and haproxy_pass - BasicAuth config for haproxy monitor. (Default: admin in both variables)

Usage

# build docker container
docker build -t zeta0/alpine-tor:latest .

# ... or pull docker container
docker pull zeta0/alpine-tor:latest

# start docker container
docker run -d -p 5566:5566 -p 2090:2090 -e tors=25 zeta0/alpine-tor

# test with ...
curl --socks5-hostname localhost:5566 http://httpbin.org/ip

# or with http
curl --proxy localhost:8118 http://httpbin.org/ip

# or to run chromium with your new found proxy
chromium --proxy-server="http://localhost:8118" \
    --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

# monitor
# auth login:admin
# auth pass:admin
http://localhost:2090 or http://admin:admin@localhost:2090

# start docket container with new auth
docker run -d -p 5566:5566 -p 2090:2090 -e haproxy_login=MySecureLogin \
    -e haproxy_pass=MySecurePassword zeta0/alpine-tor

Further Readings

About

Forked rotating tor pool with haproxy load balancer for v3 onions and tor master building.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 81.2%
  • HTML 13.7%
  • Dockerfile 5.1%