https://github.com/boppreh/gomeet
Go server to punch NAT holes
https://github.com/boppreh/gomeet
Last synced: about 2 months ago
JSON representation
Go server to punch NAT holes
- Host: GitHub
- URL: https://github.com/boppreh/gomeet
- Owner: boppreh
- Created: 2013-05-22T18:21:36.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2016-10-12T20:30:57.000Z (over 8 years ago)
- Last Synced: 2025-03-25T14:03:27.566Z (2 months ago)
- Language: Go
- Size: 3.91 KB
- Stars: 11
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
gomeet
======Go server to punch NAT holes. The application that wants to listen makes a
GET request to `http://gomeet/meet/some_unique_id`, notes the port the request
went through (this has to be done locally) and starts listening on that port.
The client then requests the same page and gets the server port and address,
so it can start a connection on that address.The trick is that the port the server is listening on is different from the
port the world sees, because of NAT. By communicating to the server it is
possible to know which private port corresponds to which public port, so
the connecting client can establish a connection even with both sides
are behind NAT.