awl
awl copied to clipboard
Allow to use peers as relays to access to another peers behind NAT
For now only community bootstrap nodes can be used as relays (they announce themselves as relays). But we can add more clever thing: allow you to use your friendly devices as a relay for you. This feature will make awl truly mesh vpn.
How this will work. For instance, you have 3 devices: server 1 with public IP, server 2 without public IP and your laptop, they all know each other. Because server 1 have public IP, you can connect to server 2 from your laptop via server 1.
More technically:
- there should be new config option like
Allow to use my device as relay for known peers
. By default it's false - a new option must be passed to p2p here. Option like
libp2p.EnableRelayService(relay.WithResources(relayResourcesCfg), relay.WithACL(TODO))
. Important part is ACL - we must allow it only for known peers and only if peer enabled config option above - there must be new test here
Great idea!