Skip to content

v0.7.2 — NAT auto-detection on by default

Choose a tag to compare

@RobLe3 RobLe3 released this 28 May 20:50

v0.7.2 — NAT auto-detection on by default

What changed

For operators: you no longer need to set --auto-detect-nat or IICP_AUTO_DETECT_NAT=true. The SDK now runs NAT detection on every startup automatically. To opt out: IICP_AUTO_DETECT_NAT=false.

External IP probe: defaults to https://api.ipify.org so FRITZ!Box/CGNAT detection works out of the box (FRITZ!Box sometimes returns 0.0.0.0 from UPnP GetExternalIPAddress; the probe URL provides the real WAN IP).

IPv6 pinhole warning: when the router rejects AddPinhole (e.g. FRITZ!Box error 606), the SDK now logs a clear warning explaining what to do — either open the firewall port manually or use relay-as-last-resort (IICP_RELAY_WORKER_ENDPOINT).

Tier ≥3 auto-mesh: when NAT detection returns unreachable (CGNAT + no IPv6 path) and no relay endpoint is configured, mesh is automatically enabled so relay-capable peers can be discovered via gossip.

NAT detection tier summary

Tier Method When
0 Direct (public IPv4 or operator-configured endpoint) VPS/cloud or manual --public-endpoint
1 UPnP/IGD port mapping → CGNAT check → IPv6 fallback Home router with UPnP
2 IPv6 GUA + UPnP IGDv2 AddPinhole FRITZ!Box with IGDv2 + IPv6
3 Relay-as-last-resort CGNAT + no IPv6
4 Unreachable No path available