A somewhat nice solution for that is Iroh (QUIC P2P w/ hole punching): https://www.iroh.computer
They also provide a solution to discoverability: https://www.iroh.computer/docs/concepts/discovery
Which boils down to storing ECC signed arbitrary data on the mainline DHT.
Two showcase Iroh utilities that are actually useful in practice:
https://github.com/n0-computer/dumbpipe
https://github.com/n0-computer/sendme
A somewhat nice solution for that is Iroh (QUIC P2P w/ hole punching): https://www.iroh.computer
They also provide a solution to discoverability: https://www.iroh.computer/docs/concepts/discovery
Which boils down to storing ECC signed arbitrary data on the mainline DHT.
Two showcase Iroh utilities that are actually useful in practice:
https://github.com/n0-computer/dumbpipe
https://github.com/n0-computer/sendme