Compatibility

Shellroute sets HTTP_PROXY and HTTPS_PROXY for the child process. Whether traffic routes through the proxy depends on the HTTP client.

Works directly

These clients read proxy environment variables by default. No shellroute-specific configuration needed.

Client Notes
curlFlags and environment overrides can change behavior.
wgetReads proxy env vars by default.
Python RequestsExplicit Session.proxies can override.
Python HTTPXDefault trust_env=True. Set trust_env=False to disable.
Python urllibDefault handlers read proxy env vars. Custom handlers can override.
Go http.ClientDefault transport reads proxy env vars. Custom transports may not.
Node fetchShellroute enables environment-proxy support automatically on supported Node versions. See the canonical matrix for version and opt-out details.

Needs configuration

These clients require explicit setup to use the proxy.

Client Required setup
aiohttpClientSession(trust_env=True) or explicit proxy configuration.
PlaywrightExplicit browser/context proxy configuration.
PuppeteerExplicit browser/context proxy configuration.
SSHUse /ssh user@host in interactive mode. Direct ssh is not routed.

Not routed

Protocol / Tool Notes
Raw TCP / UDP / DNSShellroute provides an HTTP proxy. These protocols are not routed.

Conditional

Tool Notes
npm test / test runnersDepends on the actual HTTP clients used by the test suite. Verify the child client.
Canonical versioned matrix: The tested compatibility matrix with exact versions and test dates is maintained in the shellroute-cli repository.