Skip to content

feat(proxy): route outbound through upstream SOCKS5/HTTP CONNECT proxy#182

Merged
mslipper merged 1 commit into
mainfrom
feat/upstream-proxy
Jun 8, 2026
Merged

feat(proxy): route outbound through upstream SOCKS5/HTTP CONNECT proxy#182
mslipper merged 1 commit into
mainfrom
feat/upstream-proxy

Conversation

@mslipper

@mslipper mslipper commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

iron-proxy now routes its own outbound connections through an upstream SOCKS5/HTTP CONNECT proxy, honoring the standard HTTP_PROXY/HTTPS_PROXY/NO_PROXY env vars plus an optional proxy.upstream_proxy config block. Env vars override the matching config field per-field, so deployments that already export the standard vars work without editing YAML.

This covers the HTTP/HTTPS forward data path (including CONNECT in mitm mode) and the broker's credential-refresh client. Raw TCP tunnels (sni-only passthrough, WebSocket) still dial directly and are out of scope here.

Note: when an upstream proxy is in use, upstream_deny_cidrs is enforced against the proxy's address rather than the final target, since the proxy resolves and connects on iron-proxy's behalf. This tradeoff is documented in the example config.

Closes #166

Honor the standard HTTP_PROXY/HTTPS_PROXY/NO_PROXY env vars and an
optional proxy.upstream_proxy config block on the forward data path and
in the broker's credential-refresh client. Env vars override config
per-field.

Covers the HTTP/HTTPS forward path (incl. CONNECT in mitm mode) and
broker token refresh. Raw TCP tunnels (sni-only passthrough, WebSocket)
still dial directly.

Closes #166
@mslipper mslipper merged commit afdeca2 into main Jun 8, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support an upstream SOCKS5/HTTP CONNECT proxy

1 participant