Description
The Agent Vault proxy listens on *:14322 (dual-stack), but outbound address family is tied to how the client connected:
| Client connects via |
IPv4 outbound |
IPv6 outbound |
127.0.0.1:14322 |
✅ Works |
❌ Fails (HTTP 000) |
[::1]:14322 |
❌ Fails |
✅ Works |
When a client connects over IPv4 and requests an IPv6 destination via CONNECT, the proxy fails to establish the outbound connection. This means HTTPS_PROXY=http://127.0.0.1:14322 breaks all IPv6 traffic through the proxy.
Steps to Reproduce
# IPv6 through IPv4 proxy — FAILS
curl -6 --proxy http://user:pass@127.0.0.1:14322 https://google.com/
# → HTTP 000 (curl error 7: failed to connect)
# IPv6 through IPv6 proxy — WORKS
curl -6 --proxy http://user:pass@[::1]:14322 https://google.com/
# → HTTP 301
Expected Behavior
The proxy should support dual-stack outbound regardless of which address family the client used to reach it. If a client connected via IPv4 requests an IPv6 destination, the proxy should establish an IPv6 outbound connection.
Environment
- Agent Vault v0.36.1
- Linux arm64, Debian 13
- Dual-stack VPS with both IPv4 and IPv6 connectivity
Workaround
Use --noproxy * for IPv6-specific requests, or switch the proxy URL to [::1] (but that breaks IPv4 outbound). Neither is a real solution.
Description
The Agent Vault proxy listens on
*:14322(dual-stack), but outbound address family is tied to how the client connected:127.0.0.1:14322[::1]:14322When a client connects over IPv4 and requests an IPv6 destination via CONNECT, the proxy fails to establish the outbound connection. This means
HTTPS_PROXY=http://127.0.0.1:14322breaks all IPv6 traffic through the proxy.Steps to Reproduce
Expected Behavior
The proxy should support dual-stack outbound regardless of which address family the client used to reach it. If a client connected via IPv4 requests an IPv6 destination, the proxy should establish an IPv6 outbound connection.
Environment
Workaround
Use
--noproxy *for IPv6-specific requests, or switch the proxy URL to[::1](but that breaks IPv4 outbound). Neither is a real solution.