Skip to main content

Initialize multiple TOR instances and proxy to them using an API

Project description

What

This script allows you to initialize multiple TOR instances and proxy to them using an API.

The script automatically refreshes TOR IP's after a number of calls through each TOR Socket.

Running

To get started with Torman:

  • Install with pip: $ pip install torman
  • Then Start: $ torman

You should see the following output.

,---------.    ,-----.    .-------.    ,---.    ,---.   ____    ,---.   .--. 
\          \ .'  .-,  '.  |  _ _   \   |    \  /    | .'  __ `. |    \  |  | 
 `--.  ,---'/ ,-.|  \ _ \ | ( ' )  |   |  ,  \/  ,  |/   '  \  \|  ,  \ |  | 
    |   \  ;  \  '_ /  | :|(_ o _) /   |  |\_   /|  ||___|  /  ||  |\_ \|  | 
    :_ _:  |  _`,/ \ _/  || (_,_).' __ |  _( )_/ |  |   _.-`   ||  _( )_\  | 
    (_I_)  : (  '\_/ \   ;|  |\ \  |  || (_ o _) |  |.'   _    || (_ o _)  | 
   (_(=)_)  \ `"/  \  ) / |  | \ `'   /|  (_,_)  |  ||  _( )_  ||  (_,_)\  | 
    (_I_)    '. \_/``".'  |  |  \    / |  |      |  |\ (_ o _) /|  |    |  | 
    '---'      '-----'    ''-'   `'-'  '--'      '--' '.(_,_).' '--'    '--' 
    ┌                                   ┐
    │  Manage TOR Proxies like a Boss!  │
    └                                   ┘

2021-12-11 21:13:48 mugendis-beast Torman[53081] INFO Started 4 TOR instances.
2021-12-11 21:13:48 mugendis-beast waitress[53081] INFO Serving on http://0.0.0.0:6930
30

This confirms that Torman is ready and runnibng on the default port 6930. Torman is now ready to start taking your requests and you can run the following CURL command.

curl --request GET \
  --url http://127.0.0.1:6930/ \
  --header 'Content-Type: application/json' \
  --data '{"url" : "https://ipinfo.tw/ip"}'

This should return a response showing your current TOR IP address.

{
  "meta": {
    "proxy": {
      "port": 9060,
      "remaining-requests": 49
    },
    "took": "367ms"
  },
  "response": "185.220.101.170"
}

This shows the proxy port used, remaining-requests till the IP refreshes, the response as well as how long it took to get the response. Repeat the CURL command and note that the TOR proxies keep getting rotated with each proxy call.

API

You can pass arguments to fine tune how torman works.

torman --help will show you all the available commands.

  • --refresh-after Number of requests after which the TOR IP gets refreshed. You must provide a control passwoerd for this to work. Defaults to 50 requests.
  • --control-pass Your TOR control password. Used to renew TOR IPs when refresh-after value has been reached.
  • --server The port through which Torman listens for REST API requests. Default is 6930
  • --instances Number of TOR instances to initiate. Default is 4. Torman will cycle through the TOR instances and allocate requests to each.
  • --stop Stop Torman and all TOR instances.
  • --verbose Show/Log API requests

Examples

  1. torman --verbose
  2. torman --refresh-after 10 --control-pass my_pass refresh after 10 TOR requests wusing "my_pass" as the control password

Beware!

  1. Stopping Torman using the --stop argument stops all running TOR and Torman instances. This includes any TOR processes not initiated by Torman. You might need to manually restart them, if any. That said, why would you be running TOR processes manually when you have Torman?

Logo created by DesignEvo logo maker

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torman-0.0.6.tar.gz (10.4 kB view hashes)

Uploaded Source

Built Distribution

torman-0.0.6-py3-none-any.whl (15.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page