Multitor with golang
this tools was inspired by multitor,but multitor was not very scalable with container and have issuse with high memory usage
┌───────────────────────┐
│ │
│ Mux (Rest api) │
┌───────────────┤ ├───────────────────────────┐
| │ Controller │ │
| │ │ │
| └────────────┬──────────┘ │
| │ │
| │ │
| │ │
| │ │
| │ │
| │ xxxxx│xxxxxxxxxx
| │ x ┌──┴─────┐ x
| │ x │ │ x
| │ x │ Tor │ x
| │ ┌────────────────x─┤ │ x
│ │ │ x └────────┘ x
│ │ │ x Tor cluster x
│ ┌───────────────┴────────────────┤ x ┌────────┐ x
│ | │ x │ │ x
User ├────────────┤ Socks5 tcp load balancer ├────────────────x─┤ Tor │ x
│ │ x │ │ x
└────────────────────────────────┤ x └────────┘ x
│ x x
│ x ┌────────┐ x
│ x │ │ x
└────────────────x─┤ Tor │ x
x │ │ x
x └────────┘ x
xxxxxxxxxxxxxxxx
Create a bunch of tor circuit > load balancing theme with round robin > serve as http socks5 proxy
- tor
- go1.16.5 linux/amd64
Deploy
docker run -it -d -p 1412:1412 -p 2525:2525 --name=go-multitor justhumanz/go-multitor
Test
while true;do curl -x socks5://localhost:1412 https://ifconfig.me;printf "\n";done
soon
- Scalable tor circuit
- Rest API
- Http proxy
- Scoks5 load balancer
- Rest API use authentication
- Multiple tor circuit nodes
- Tor health check