Categorygithub.com/JustHumanz/Go-MultiTor
repositorypackage
0.0.0-20220625181751-5e016a5c3a86
Repository: https://github.com/justhumanz/go-multitor.git
Documentation: pkg.go.dev

# README

Go Multi Tor

Multitor with golang

Purpose

this tools was inspired by multitor,but multitor was not very scalable with container and have issuse with high memory usage

Workflow

                            ┌───────────────────────┐
                            │                       │
                            │      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

Requirement

  • tor
  • go1.16.5 linux/amd64

Use

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

Rest API

soon

Features

  • Scalable tor circuit
  • Rest API
  • Http proxy
  • Scoks5 load balancer
  • Rest API use authentication
  • Multiple tor circuit nodes
  • Tor health check