4 ms·
a big a-ha moment for me was understanding tor’s simple utility for punching through nat. it really has a lot of cool uses beyond the usual
by nyolfen 8y ago
a big a-ha moment for me was understanding tor’s simple utility for punching through nat. it really has a lot of cool uses beyond the usual
- kodablah 8y agoYup. Here's a few Go lines to serve a dir over http via an onion service: https://github.com/cretz/bine#example https://github.com/cretz/bine#example. Takes a few seconds to setup the service or even less if you set the option to use v3 onion services. Client auth can be configured and it's part of the protocol. Fire it up and serve your at-home photo catalog and view it via something like Orfox on your mobile device.
- SahAssar 8y ago> "a few Go lines" That makes it sound like it is simple, but without looking at the dependencies code it might just be a simple interface to a implementation of a complex protocol.
- kodablah 8y agoWell, sure. That goes with everything, you aren't implementing your own TCP stack for making a simple HTTP server response. The claimed simplicity is in dev time, not in protocol implementation for all layers.
- SahAssar 8y agoSure, but "tor’s simple utility for punching through nat" (although said by the parent and only agreed by you) makes it sound like NAT hole punching is now simple, universal and stable. If it is all those three via TOR's utility I'd love it, but I'm guessing it is neither or just one.
- kodablah 8y ago> If it is all those three via TOR's utility I'd love it, but I'm guessing it is neither or just one. It is all three, but it's not technical NAT hole punching as much as just connecting to relays. So any device that can call out to the internet can setup a local onion service, similar to how those localhost-to-public-address dev tunnels work.