Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2.3 KiB
rustunnel CLI
The rustunnel binary exposes five subcommands defined in src/cli.rs and dispatched in src/main.rs.
Commands
listen
Start the HTTPS tunnel listener. Binds an HTTPS server that accepts mTLS connections from connectors.
Key arguments:
--listen— bind address (default0.0.0.0:4180)--advertise— public address embedded in auto-generated connection keys--connection-key— reusable key generated bykeygenor a previouslistenrun--socks— optional server-side SOCKS5 proxy address for connector-side network access--cert,--key,--ca-cert— TLS material paths (required unless using a connection key)--auth-token,--auth-token-file— application auth token--insecure-skip-tls-verify— skip client certificate verification (lab only)
When run without explicit certificate paths and without a connection key, listen auto-generates a new connection key and prints it.
connect
Connect to the listener and expose a local SOCKS5 proxy.
Key arguments:
CONNECTION_KEY— positional connection key (optional)--target— listener address (default from connection key)--connection-key— connection key via flag or envRUSTUNNEL_KEY--socks— local SOCKS5 proxy address (default127.0.0.1:1180)--cert,--key,--ca-cert— TLS material paths (required unless using a connection key)--insecure-skip-tls-verify— skip server certificate verification (lab only)
generate
Generate local certificate and auth material into an output directory.
Creates: ca.pem, ca.key, server.crt, server.key, client.crt, client.key, token.txt, config.json.
keygen
Generate a single reusable connection key string. This bundles all certificate material, the auth token, and the target address into a base64-encoded JSON blob prefixed with rtun1..
version
Print version, edition, platform, and architecture.
Entry point
src/main.rs installs the ring crypto provider, initializes tracing with an env-filter defaulting to info, parses the CLI, and dispatches to the appropriate runner function.
Key source files
| File | Purpose |
|---|---|
src/cli.rs |
clap Parser and Subcommand definitions |
src/main.rs |
Entry point, command dispatch, host:port parsing helpers |