Hi, I wrote a python tool for scenarios where both WireGuard peers are behind a NAT. It supports public key exchange, NAT traversal using STUN, and IP address exchange. The exchange of this information is done using a DHT. You can find it here: https://github.com/manuels/wireguard-p2p Any feedback would be appreciated. Bye, Manuel