torzy
torzy is a small Rust library and CLI for running isolated worker commands
behind separate Tor SOCKS routes.
It handles the Tor lifecycle, worker isolation, command execution, timeouts, and sanitized status reporting. It does not include project-specific workflows or application launch logic.
Privacy Defaults
- The default command is local and does not call an external service.
- CLI output does not print Tor route addresses, process ids, runtime paths, or public network addresses from worker output.
- JSON summaries contain counts and worker statuses only.
- Route strings are passed to workers through
TOR_ROUTEand proxy environment variables, but they are not printed bytorzyitself.
Worker commands can still print their own data. torzy redacts common route and
public-address tokens from captured output, but callers should avoid logging
sensitive data in the command they provide.
Install
Managed Tor mode requires a tor binary on PATH, or pass --tor-binary.
CLI
Dry-run the default five workers without starting Tor:
Start five managed Tor routes and run the safe default command:
Set the worker count and command:
Use existing SOCKS routes instead of managed Tor:
Supported command placeholders:
{TOR_ROUTE}{TOR_WORKER_ID}or{WORKER_ID}{TORZY_ROOT}{TORZY_WORKSPACE}
Workers also receive TOR_ROUTE, TOR_WORKER_ID, TORZY_ROOT,
TORZY_WORKSPACE, isolated HOME, TMPDIR, CARGO_HOME, and
CARGO_TARGET_DIR. Proxy environment variables are enabled by default and can
be disabled with --no-proxy-env.
Library
use ;
async
Use tokio::sync::mpsc::unbounded_channel with run(config, Some(tx)) when you
want live events for a UI or supervisor.