Live data from Hacker News

Show HN: BitBang – Reach machines behind NAT from a browser, no account

github.com

21–30 of 44 posts

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#21
So i can see my use case like this: I ssh from my phone to my home raspberry pi through tailscale. i type an alias that causes the RPi to run bitbang serve and prints the connection number through stdout so i see it on my phone ssh session.

Now on an untrusted PC i can bingbang into my home network, do stuff with a real keyboard, and then run another command to shutdown bitbang.

Does that sound feasible?

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#23

Earlier quoted context omitted.

> it still needs to bootstrap the connection via central server. I think that always might be a limitation of P2P I think Iroh has a way of doing it using either DNS or BitTorrent DHT. Not perfect but fairly decentralized

Iroh's discovery is genuinely neat, and node-IDs-as-public-keys is similar to bitbang. A browser can't join a DHT though because of no UDP sockets, so the connecting side would need a native client, which is the thing bitbang avoids. And DHT lets you locate the peer, but you still need somewhere to trade SDP and ICE candidates, so the rendezvous stays either way I think. What I can do is keep the broker small enough…

Ah good point, no udp. I was looking at webtorrent but it does share the same limitation, unless you’re on the nodejs (non-browser) version.

Looking forward to trying bitbang! Seems super neat

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#24

It's a single Go binary, shaped like ssh. The main difference is the transport -- WebRTC instead of TCP -- so it doesn't need the machine to be reachable in the first place. Run "bitbang serve" and it prints a URL. Open it in a browser and you get a terminal, a file browser, and a proxy to web apps on that machine's network -- or connect from another terminal. There's nothing to install on the connecting side, no acc…

[dead]

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#25

So i can see my use case like this: I ssh from my phone to my home raspberry pi through tailscale. i type an alias that causes the RPi to run bitbang serve and prints the connection number through stdout so i see it on my phone ssh session. Now on an untrusted PC i can bingbang into my home network, do stuff with a real keyboard, and then run another command to shutdown bitbang. Does that sound feasible?

Yes, that should work. "serve" prints the URL and the 6-digit pairing code to stdout, so your ssh session sees them, and shutting it down is just killing the process.

One suggestion for the untrusted-PC part: bitbang serve -ephemeral. That uses a throwaway identity that dies with the process, so the URL is dead the moment you kill it -- rather than persisting and still working later from whatever browser history it's sitting in. --pin adds a second factor if you want one.

The pairing code is possibly handy too. If you'd rather not type a long URL on an unfamiliar machine, go to bitba.ng, enter the 6-digit code, and confirm the number it shows you back on the Pi.

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#28

It's a single Go binary, shaped like ssh. The main difference is the transport -- WebRTC instead of TCP -- so it doesn't need the machine to be reachable in the first place. Run "bitbang serve" and it prints a URL. Open it in a browser and you get a terminal, a file browser, and a proxy to web apps on that machine's network -- or connect from another terminal. There's nothing to install on the connecting side, no acc…

I'm thrown off because you use so many em dashes, but the text surrounding them generally seems human.

Not judging or brigading, just personally don't want to add a new tool to my toolbelt knowing it's made with ai right now. Is bitbang made with ai?

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#29
post #6

Fantastic work on this. This idea has so much promise, I hope this is the project that makes it take off. Self-hosting is pretty these days with docker. Exposing it to the internet is the annoying part. I do Jellyfin via netbird, but that means I don't really share it with my friends. I hope something like this getting baked into self-hosting flows is killer. My other pet peeve is that people use 'Cloud Services' for…

Thank you -- and if you're the Sean who wrote Pion, this is built on your work, so that means a lot. :) The friends case is exactly the gap I kept running into. A mesh VPN is fine for my own devices and hopeless the moment someone else needs in, because now they're installing a client and making an account to look at one thing. Here they get a link. Baking it into self-hosting flows is the right instinct and I'd love…

I'm so ready for this and jellyfin, just need you to fix the cli args so i can run the server on Cloudflare TURN.

Re: Show HN: BitBang – Reach machines behind NAT from a browser, no account

#30
post #28

It's a single Go binary, shaped like ssh. The main difference is the transport -- WebRTC instead of TCP -- so it doesn't need the machine to be reachable in the first place. Run "bitbang serve" and it prints a URL. Open it in a browser and you get a terminal, a file browser, and a proxy to web apps on that machine's network -- or connect from another terminal. There's nothing to install on the connecting side, no acc…

I'm thrown off because you use so many em dashes, but the text surrounding them generally seems human. Not judging or brigading, just personally don't want to add a new tool to my toolbelt knowing it's made with ai right now. Is bitbang made with ai?

There are several Coauthored by Claude commits. So at least partially LLM generated.
Post reply on HN