🐛 Bug Fix: Address Family Mismatch on Dual-Stack Hosts
On dual-stack hosts (e.g. Docker with --net=host and IPv6 enabled), the primary Cloudflare Trace endpoint (api.cloudflare.com) could resolve via the wrong address family — for example, connecting over IPv6 when detecting an IPv4 address. This caused the trace endpoint to return the wrong IP.
What Changed
🔀 Literal IP trace URLs are now primary
Primary trace endpoints now use literal IPs per address family to guarantee correct address family selection:
- IPv4:
https://1.0.0.1/cdn-cgi/trace - IPv6:
https://[2606:4700:4700::1001]/cdn-cgi/trace
This ensures the HTTP connection is made over the correct protocol, so the detected IP always matches the intended address family.
🛡️ Hostname-based fallback for WARP/Zero Trust
The api.cloudflare.com endpoint is retained as a fallback for environments where literal IP requests are intercepted (e.g. Cloudflare WARP or Zero Trust). Previously this was the primary endpoint.
⚙️ Upgrade Notes
- No configuration changes required — existing setups will automatically benefit from the fix.
- The
IP4_PROVIDERandIP6_PROVIDERenvironment variables continue to work as before.
Full Changelog: 2.0.1...2.0.2