An implementation of a UDP Hole Punching which uses synchronization techniques like the ones used in DCUtR.
This is just and experimental project to learn more about p2p, hole-punching & NAT Traversal.
Usage of ./main:
-c node as client(c)
-p string port for local addr (default ":1111")
-rAddr string relay address (default ":5173")
-s node as server(s)
Running Node Client
go run ./cmd/ -c -p :[CLIENT_PORT] -rAddr [RELAY_IP]:[RELAY_PORT]
Running Relay Server
go run ./cmd/ -s -p :[PORT]