Every flag, every variable
The complete commandline reference for TestingBot Tunnel. Pass credentials positionally, via environment variables, or from a .testingbot file in your $HOME.
Three ways to authenticate
Method 1
Positional args
java -jar testingbot-tunnel.jar KEY SECRETMethod 2
Env vars
TESTINGBOT_KEY + TESTINGBOT_SECRET
Method 3
.testingbot file
In
$HOME, key on line 1, secret on line 2.Environment variables
Use environment variables to keep sensitive credentials out of your shell history and the system process list.
| Variable | Replaces / purpose |
|---|---|
| TESTINGBOT_KEY | Your TestingBot API key. Replaces the first positional argument. |
| TESTINGBOT_SECRET | Your TestingBot API secret. Replaces the second positional argument. |
| TESTINGBOT_AUTH | Basic-auth credentials in the form host:port:user:password. Replaces -a. |
| TESTINGBOT_PROXY_USERPWD | Upstream proxy credentials as user:password. Replaces -z. |
| TESTINGBOT_METRICS_AUTH | HTTP-basic credentials for the metrics endpoint as user:password. Replaces --metrics-auth. |
All command-line options
| Option | Description |
|---|---|
| -a,--auth <host:port:user:passwd> | Perform HTTP Basic Authentication for specific hosts. HTTP only. |
| -b,--nobump | Do not perform SSL bumping. Required for WebSocket and SSE proxying. |
| -d,--debug | Enable debug messages. Outputs request and response headers. |
| --dns <ip> | Use a custom DNS server, for example 8.8.8.8. |
| --doctor | Run sanity and health checks. Detects misconfiguration, port conflicts and missing prerequisites. |
| --extra-headers <JSON> | Inject extra HTTP headers into every request the tunnel makes. |
| -f,--readyfile <FILE> | This file is touched when the tunnel is ready for use. Useful in CI pipelines. |
| -F,--fast-fail-regexps <LIST> | Comma-separated regexes for domains the tunnel should not proxy. Improves test speed by skipping analytics, ads and trackers. |
| -h,--help | Display help text and exit. |
| -i,--tunnel-identifier <id> | Tag the tunnel with an identifier. When you have multiple tunnels, set this identifier in your test capabilities to pick which tunnel handles the test. |
| -j,--localproxy <port> | Port the local proxy listens on. Default 8087. |
| -l,--logfile <FILE> | Write logs to a file in addition to stdout. |
| --log-level <level> | Set verbosity. One of error, warn, info (default), debug, trace. |
| --metrics-port <port> | Port to serve Prometheus metrics on. Default 8003. |
| --metrics-auth <user:password> | Protect the metrics endpoint with HTTP Basic Authentication. |
| -P,--se-port <port> | Local Selenium port your tests connect to. Default 4445. |
| -p,--hubport <port> | Connect to port 80 on the TestingBot hub instead of the default port 4444. |
| --pac <url> | Proxy auto-configuration. Should be a http(s) URL pointing to a PAC file. |
| -q,--nocache | Bypass the caching proxy running on the tunnel VM. Required for WebSocket and SSE proxying. |
| -s,--shared | Share this tunnel with other users on your team. Tunnels are private by default. |
| -v,--version | Display the tunnel version and exit. |
| -w,--web <directory> | Serve a local directory over a built-in webserver. Handy for static-file testing. |
| -x,--noproxy | Do not start the local proxy. Requires you to run your own proxy on port 8087. |
| -Y,--proxy <host:port> | Forward tunnel traffic through an upstream HTTP, HTTPS or SOCKS proxy. |
| -z,--proxy-userpwd <user:pwd> | Credentials for the upstream proxy configured with --proxy. |
See practical configurations on the examples page, or the full installation guide for Docker, Maven and the NodeJS launcher.