Live data from Hacker News

WebWormHole: Send files quickly using WebRTC

webwormhole.io

41–50 of 161 posts

Re: WebWormHole: Send files quickly using WebRTC

#42

> ...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?

I don't have any hard numbers, but I have heard ~85% ICE success rate with out TURN. But you are right, in some cases WebRTC will fail without TURN. Just no one wants to pay to run those servers :) I would love to see TCP hole punching in ICE, but it sounds like it is super hard to get right. Consumer internet does a lot better, lots of those failures come from Government/Military/Medical I bet.

how would TCP hole punching even work? TCP has state and a handshake. UDP doesn't.

Re: WebWormHole: Send files quickly using WebRTC

#43
post #23

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.

Also security: if consumer PCs were open to the internet, they would be constantly getting breached in even bigger numbers.

Consumer PCs are not the real issue by and large, IoT crap that can't even be updated is way more problematic. Having NAT by default helps screen out attacks to those devices.

Re: WebWormHole: Send files quickly using WebRTC

#44

Earlier quoted context omitted.

> The nice thing about WebRTC is this works (pretty much) everywhere! Someone could throw up Python/Android/iOS/Go/Web/C++ Clients really easily. Huh, what did I miss?! How do you make a WebRTC-client in language-of-your-choice? The last time I checked for C++ I only found answers like "look at the chrome source". lol.

Things have changed (alot!) the last two years have seen a couple implementations come around. * https://github.com/pion/webrtc * https://github.com/aiortc/aiortc * https://gstreamer.freedesktop.org/documentation/webrtc/index... * https://github.com/rawrtc/rawrtc

Ooh, these are very cool. Do you know what sorts of things people are building with them?

Re: WebWormHole: Send files quickly using WebRTC

#45

Earlier quoted context omitted.

I don't have any hard numbers, but I have heard ~85% ICE success rate with out TURN. But you are right, in some cases WebRTC will fail without TURN. Just no one wants to pay to run those servers :) I would love to see TCP hole punching in ICE, but it sounds like it is super hard to get right. Consumer internet does a lot better, lots of those failures come from Government/Military/Medical I bet.

how would TCP hole punching even work? TCP has state and a handshake. UDP doesn't.

UPnP can be used to setup port forwarding if the NAT gateway is configured correctly.

Re: WebWormHole: Send files quickly using WebRTC

#47

> ...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?

I don't have any hard numbers, but I have heard ~85% ICE success rate with out TURN. But you are right, in some cases WebRTC will fail without TURN. Just no one wants to pay to run those servers :) I would love to see TCP hole punching in ICE, but it sounds like it is super hard to get right. Consumer internet does a lot better, lots of those failures come from Government/Military/Medical I bet.

> Just no one wants to pay to run those servers :)

No, it's the users that don't want their (meta)data inspected by a random third party in transit. This is why I don't use filepizza

Re: WebWormHole: Send files quickly using WebRTC

#49

Earlier quoted context omitted.

how would TCP hole punching even work? TCP has state and a handshake. UDP doesn't.

UPnP can be used to setup port forwarding if the NAT gateway is configured correctly.

sure. I think it's a bit different though. upnp is like some remote control of your fw.

Re: WebWormHole: Send files quickly using WebRTC

#50
post #25

Nice, I made one of these a few years ago http://passfiles.com Yours is a bit more polished than mine though. I didn't use QR codes either just good old fashioned urls.

There seem to be hundreds of these sites. They all do the same thing. Off the top of my head I can remember https://file.pizza

file.pizza and friends work on webtorrent, which doesn't do end-to-end encryption

EDIT: just learned that WebRTC actually does end-to-end encryption by default, so I'm wrong

Post reply on HN