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 |
|---|---|
| curl | Flags and environment overrides can change behavior. |
| wget | Reads proxy env vars by default. |
| Python Requests | Explicit Session.proxies can override. |
| Python HTTPX | Default trust_env=True. Set trust_env=False to disable. |
| Python urllib | Default handlers read proxy env vars. Custom handlers can override. |
| Go http.Client | Default transport reads proxy env vars. Custom transports may not. |
| Node fetch | Shellroute 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 |
|---|---|
| aiohttp | ClientSession(trust_env=True) or explicit proxy configuration. |
| Playwright | Explicit browser/context proxy configuration. |
| Puppeteer | Explicit browser/context proxy configuration. |
| SSH | Use /ssh user@host in interactive mode. Direct ssh is not routed. |
Not routed
| Protocol / Tool | Notes |
|---|---|
| Raw TCP / UDP / DNS | Shellroute provides an HTTP proxy. These protocols are not routed. |
Conditional
| Tool | Notes |
|---|---|
| npm test / test runners | Depends 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.