Live data from Hacker News

WebWormHole: Send files quickly using WebRTC

webwormhole.io

51–60 of 161 posts

Re: WebWormHole: Send files quickly using WebRTC

#51
post #3

Interesting note that this guy's choice of PAKE, Cpace, was chosen about a week ago by the CFRG for use in IETF protocols. Cpace is new, but that's a big vote of confidence for it.

Nice spot, here's a link to the IETF draft spec for CPace mentioned. https://tools.ietf.org/id/draft-haase-cpace-01.html IETF post announcing the chosen candidates https://mailarchive.ietf.org/arch/msg/cfrg/LKbwodpa5yXo6VuND... Candidate selection process https://github.com/cfrg/pake-selection

Implementation using libsodium https://github.com/jedisct1/cpace

Re: WebWormHole: Send files quickly using WebRTC

#52
post #5

This is fantastic! Really nice work :) The nice thing about WebRTC is this works (pretty much) everywhere! Someone could throw up Python/Android/iOS/Go/Web/C++ Clients really easily. That is really exciting. Also just a HUGE fan of NAT Traversal/P2P in general. The less dependence we can have on others for sharing our data the better.

Was it you on the GoTime podcast? If so the enthusiasm for webrtc and go just motivated me a ton. Kudos.

Re: WebWormHole: Send files quickly using WebRTC

#53
post #40
post #30

Earlier quoted context omitted.

This uses STUN servers to help it poke through NATs. (That's what I mean by "WebRTC's NAT traversal tricks") There's no TURN server set for this, but it shouldn't be hard to add one. There are NATs where you'd need one to relay all the traffic, but these seem to be relatively rare nowadays. If anyone has any actual statistics on these I'd appreciate it!

Which one? Which STUN server are you using?

Looks like Google's: https://github.com/saljam/webwormhole/blob/f542b26fb2fa32820...

Re: WebWormHole: Send files quickly using WebRTC

#55
post #14

Earlier quoted context omitted.

I blame NAT. Treating end-users like second-class netizen consumers trained people to "need" the cloud to do perfectly normal peer-to-peer things.

I'm not sure I would blame NAT. You can easily disable that. What you can't disable is the asymmetry of consumer internet connections (upload << download) and the fact that most consumer devices are not running (or connected to the internet) 24/7.

Carrier grade NAT...

Re: WebWormHole: Send files quickly using WebRTC

#56
post #40
post #30

Earlier quoted context omitted.

This uses STUN servers to help it poke through NATs. (That's what I mean by "WebRTC's NAT traversal tricks") There's no TURN server set for this, but it shouldn't be hard to add one. There are NATs where you'd need one to relay all the traffic, but these seem to be relatively rare nowadays. If anyone has any actual statistics on these I'd appreciate it!

Which one? Which STUN server are you using?

stun:stun.l.google.com:19302

Source: https://github.com/saljam/webwormhole/blob/8f707583d68173de3...

Re: WebWormHole: Send files quickly using WebRTC

#57

> ...it uses WebRTC to make the direct peer connections. This allows us to make use of WebRTC's NAT traversal tricks, as well as the fact that it can be used in browsers. But I'm assuming it can't break through all NAT routers, right? A good portion of people still won't be able to use this? A service usable by everyone would require STUN and TURN servers to be set up, no? Or has WebRTC made advances I'm unaware of?

> But I'm assuming it can't break through all NAT routers, right? A good portion of people still won't be able to use this?

> A service usable by everyone would require STUN and TURN servers to be set up, no?

Anecdata, of course, but I haven't been able to reliably use any of these WebRTC based file transfer services (file.pizza, instant.io, etc etc). Testing mostly between two computers on the same subnet. Sometimes they work for a little while, at surprisingly low speeds (for two computers connected to the same wireless access point), sometimes I can let them sit for an hour and never get a connection. I've learned to not even bother trying them, it just wastes time.

That said, magic-wormhole (the original) works fine between the same devices, so maybe I'll see if something is somehow different about this implementation.

Edit: ah yes, this service hangs indefinitely on "connecting". You love to see it. (Firefox on Linux - firewall disabled specifically for this test - and Safari on macOS)

Edit: seems to be working in Chrome (Linux) to Firefox (Android). Not sure what the difference is.

Re: WebWormHole: Send files quickly using WebRTC

#58
post #55

Earlier quoted context omitted.

I'm not sure I would blame NAT. You can easily disable that. What you can't disable is the asymmetry of consumer internet connections (upload << download) and the fact that most consumer devices are not running (or connected to the internet) 24/7.

Carrier grade NAT...

Sure, when you're talking about mobile devices. (Or has it already become a thing with DSL, too?) In any case, the issue started much earlier, I'd say.

Re: WebWormHole: Send files quickly using WebRTC

#59
post #39

This is neat, but it seems like unlike with "real" Magic Wormhole, the server here can capture files by surreptitiously manipulating JS.

Absolutely true for the web interface if loaded from https://webwormhole.io. I'm open for any more suggestions here! https://github.com/saljam/webwormhole/issues/13

Someone mentioned the command line client. One can also build and serve the html/js/wasm from anywhere and it should still work, even with the same signalling server. It has pretty lax CORS for this reason.

Post reply on HN