Download utility for Tor
This tool was designed specifically for downloading large files from onion services for analysis. It does so by retrieving chunks using multiple circuits, so the server must support byte ranges (Accept-Ranges
, most of them do). If a given part fails (connection issues, chunk smaller than expected), it is being put back to the queue. Once all bits and pieces are ready they are combined, and the final result is saved in the ./downloads
directory.
This way of utilizing Tor network reduces your anonymity!
tor
$ pip install torboost
Basic usage, you may need to wait a while until all circuits are established:
$ torboost -u 'http://example.onion/data.zip'
If you want to combine the files before download is finished:
$ torboost -u 'http://example.onion/data.zip' --combine
In case you experience delays, or there is a problem establishing circuits you can reset workers using:
$ torboost -u 'http://example.onion/data.zip' --reset
You can create a custom configuration file for Tor (JSON-based), for example:
{
"ExitNodes": "{se},{no},{be},{hr},{cz},{fi},{dk},{lu},{nl}",
"StrictNodes": "1"
}
And then apply it with:
$ torboost -u 'http://example.onion/data.zip' --config custom.json
usage: torboost [-h] -u URL [-p TOR_PROCESSES] [--control-port-start CONTROL_PORT_START] [--socks-port-start SOCKS_PORT_START] [--timeout TIMEOUT] [--chunk-size CHUNK_SIZE] [--user-agent USER_AGENT] [--config CONFIG] [--debug] [--combine] [--reset] [-v]
Utility for downloading files from onion services using multiple Tor circuits
options:
-h, --help show this help message and exit
-u URL, --url URL Download URL (default: None)
-p TOR_PROCESSES, --tor-processes TOR_PROCESSES
Number of Tor processes (default: 5)
--control-port-start CONTROL_PORT_START
First port for Tor control (default: 10080)
--socks-port-start SOCKS_PORT_START
First port for SOCKS (default: 9080)
--timeout TIMEOUT Timeout for Tor relay connection (default: 300)
--chunk-size CHUNK_SIZE
Size of a single download block (in bytes) (default: 50MB)
--user-agent USER_AGENT
User-Agent header (default: python-requests/2.27.1)
--config CONFIG Custom Tor configuration file (JSON)
--debug Enable debugging mode (verbose output) (default: INFO)
--combine Combine all chunks downloaded so far
--reset Remove data directories and rebuild circuits
-v, --version show program's version number and exit