I've wasted a month of work due to undocumented "feature"

If for whatever reason your AutoRelay doesn’t generate relayed /p2p-circuit addresses for hosts within private networks (despite even hardwiring with libp2p.ForceReachabilityPublic() and libp2p.ForceReachabilityPrivate()), check your test network addressing.

If you happened to be a good netizen and built your test lab with RFC5735 addressing, like TEST-NET-1 (192.0.2/24) or TEST-NET-2 (198.51.100/24) - which are per-docs not to be treated as private addresses (despite being unroutable), AutoRelay silently says f%you. No warning, no error, no debug, silent f%you.

I’ve lost a literal month of work chasing ghosts, why that bloody thing doesn’t work.

When I swapped in desperate last attempt my “public” addresses to 100.0.0/24 and 100.1.0.0/24 (because f%you Verizon, it is a separated virtual network anyway), now that bloody thing miraculously started to work.

The offending blacklist is to be found in github.com/multiformats/go-multiaddr/net/private.go, check it against your test setup.

1 Like