3 ms·
Have you looked into WebRTC much? It supports arbitrary (text or binary) data transfer between browsers, in both TCP-like and UDP-like modes, with inbuilt NAT-
by cjbprime 12y ago
Have you looked into WebRTC much? It supports arbitrary (text or binary) data transfer between browsers, in both TCP-like and UDP-like modes, with inbuilt NAT-busting (both STUN and TURN). It does NAT-busting rather than VPN, so it's faster than either Tor or a VPN.
So if the reason you wanted NAT traversal was "my (browser|game|filesystem) wants to share data with someone else's", WebRTC is a far easier answer, and is now available to most browsers[1] without extra software installs. It does involve a privacy loss of your connection details to the STUN/TURN server, but the signaling server cannot decrypt your (DTLS) communication.
If the reason you want a global LAN isn't those things, what is it?
[1]: Available outside browsers, too: see e.g. my Node WebRTC chat client -- https://github.com/cjb/serverless-webrtc https://github.com/cjb/serverless-webrtc -- or the native C++ API.
- ecto 12y agoThe signaling server, while unable to decrypt communications, has the inherent ability to record "metadata" about each connection, with to ability to create a peer association graph. Not a deal breaker, but worth mentioning. WebRTC is awesome. More considerations at https://tools.ietf.org/html/rfc5766#page-55 https://tools.ietf.org/html/rfc5766#page-55
- cjbprime 12y agoThat's true. If this is an issue you could avoid using a signaling server altogether, and instead exchange offer/answer via e.g. GPG-encrypted email. I wonder if there are any designs for a signaling server/system that doesn't have this loss of privacy of connection information, or if you just very quickly end up reimplementing Tor when you try..
- obvio171 12y agoGood point. If any sufficiently complicated NAT traversal solution ends up containing an ad hoc, informally-specified, bug-ridden, slow implementation of half of the hidden services protocol, might as well put our efforts into building out Tor itself and get the privacy for "free".
- hideo 12y agoAlso, there's a wonderful open standard called ICE - http://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment http://en.wikipedia.org/wiki/Interactive_Connectivity_Establ... - that 'properly' encapsulates STUN and TURN into a very effective NAT traversal mechanism. IIRC, Google's Jabber/XMPP library - https://developers.google.com/talk/libjingle/- https://developers.google.com/talk/libjingle/- that was once actively maintained had an ICE implementation that also included access to Google's STUN/TURN relays but sadly this has gone unmaintained.