This repository was archived by the owner on May 11, 2022. It is now read-only.

Description
pwnat uses a completely different method to punch holes in the nat. The node would just need to send ping packages to a randomly chosen address which is not routable. This address would need to be published in the DHT and other nodes can start to send UDP packages to this node. There's no middle man required - which reduces the security implications (see paper for details):
http://samy.pl/pwnat/pwnat.pdf
@Stebalien wrote:
That's what UPnP is for.
We have UPnP support on by default and it barely helps.
And it's not needed for IPv6 which gets adopted quite fast.
In practice, routers block all inbound connections by default for security reasons, even IPv6 ones.
Maybe ICMP-hole punching, like pwnat offers, which doesn't need a third party to negotiate might be worth a look? :)
Originally posted by @RubenKelevra in ipfs/kubo#7053 (comment)