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 -- or the native C++ API.