> ...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.
WebWormHole: Send files quickly using WebRTC
31–40 of 161 posts
Re: WebWormHole: Send files quickly using WebRTC
#32Earlier quoted context omitted.
Thanks! There's already a Go client: https://github.com/saljam/webwormhole
I was really excited to see you are using Pion (I am the creator) if there is anything I can do to make it better I am happy to help :) You should also join https://pion.ly/slack and share your project! I posted WebWormHole on https://twitter.com/_pion also I see you are a Recurser (me as well!) I was Summer 2012 I think? Are you doing this as a project during your batch? I would really love to do a talk/deep dive on…
Definitely give a talk if you can. It's all remote currently!
Re: WebWormHole: Send files quickly using WebRTC
#33If any of that is wrong, please enlighten me, I didn't realize peer to peer connections could be as simple as this.
Re: WebWormHole: Send files quickly using WebRTC
#34It's 2020, and people are elated to discover that it is possible to transfer a file directly between two systems on the Internet. True story: I was giving a guest lecture on network virtualization at UCI and demoing ZeroTier. One student came up afterwords and asked me how traffic could flow between systems without "a cloud." Evidently the idea that data could just go directly from point A to point B was utterly, com…
Re: WebWormHole: Send files quickly using WebRTC
#35This 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.
> 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.
* https://github.com/pion/webrtc
* https://github.com/aiortc/aiortc
* https://gstreamer.freedesktop.org/documentation/webrtc/index...
Re: WebWormHole: Send files quickly using WebRTC
#36I'm not as familiar with WebRTCPeerConnection as I'd like to be. Does it use the STUN server to get it's real IP and after that we can establish a completely peer to peer connection and now the webserver has no interaction with WebRTCPeer stream? If any of that is wrong, please enlighten me, I didn't realize peer to peer connections could be as simple as this.
The only extra thing that STUN does is establish a hole punch. It isn't enough to just get your public hole, but you also do a temporary 'port forward' to the person that made the STUN request.
Re: WebWormHole: Send files quickly using WebRTC
#37file.pizza is another similar project
Re: WebWormHole: Send files quickly using WebRTC
#38I'm not as familiar with WebRTCPeerConnection as I'd like to be. Does it use the STUN server to get it's real IP and after that we can establish a completely peer to peer connection and now the webserver has no interaction with WebRTCPeer stream? If any of that is wrong, please enlighten me, I didn't realize peer to peer connections could be as simple as this.
once the ice candidates are exchanged each side starts spraying the other with STUN messages to addresses ranked by "candidate pairs" that potentially could make a connection until one is found.
this is simplified. there are mechanics like "trickle ice" and fallbacks to proxying via TURN servers.
then there's the alleged idea this is all part of a webrtc "standard", which is laughable cause no browser follows the wild collection of RFCs that supposedly makes up the standard and the only reason any of it works is because there's a non written down general consensus of what's required.
Re: WebWormHole: Send files quickly using WebRTC
#39Re: WebWormHole: Send files quickly using WebRTC
#40> ...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?
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!