5 ms·
Show HN: Transfer files between computers using WebRTC
- leeoniya 14y agoany specific reason why it's chrome-only? http://www.webrtc.org/firefox http://www.webrtc.org/firefox
- erbbysam 14y agoAs ianlevesque mentioned in the link below, http://peerjs.com/status http://peerjs.com/status is a good overview of current state of data channels. As Firefox stabilizes their WebRTC data channel support, I will implement it. Hopefully there will soon be cross-browser support as well for data channels.
- willscott 14y agoFirefox is currently ahead on the data channel, right? They support sending blobs / arrayBuffers directly, while Chrome doesn't yet have a reliable transport or binary data support. Your example translates the file into a base64 string to send over the unreliable channel, which ends up being a pretty big performance hit compared to a native binary transport. All of this is to say: WebRTC is getting there, but it's still going to be several months before it's ready for more than demos like this.
- ericz 14y agoIt's true that it supports binary / reliable transport already but there are some very annoying not-to-spec issues. As a library developer, if I added code to support it, it would just go to waste because in BugZilla they've already patched but not pushed changes to these issues.
- mtgx 14y agoI think support for WebRTC is still only in Firefox Nightlies, not the stable version, or at least not full support.
- azakai 14y agoI am on firefox nightly, and the website refuses to work. Looks like it does browser detection, not feature detection.
- eksith 14y agoSame here. Pretty sure it's browser detection only. I wish developers would honestly stop doing that already. Capabilities and stability are far more important than a logo.
- RRRA 14y agoit doesn't work for me on chrome 25 on Mint either.
- hacliff 14y agoDepending on how they're writing their files; firefox doesn't support persistent file storage last time I checked. Firefox does have indexeddb, but if you want to do seek operations you're out of luck. EDIT: To explain more, without seek writing dealing with large files is incredibly expensive, you have to write everything you've got to indexeddb every time you want to modify it.
- doublec 14y agoThe FileHandle API does what you want - read/write access to an IndexedDB file at any location. https://developer.mozilla.org/en-US/docs/WebAPI/FileHandle https://developer.mozilla.org/en-US/docs/WebAPI/FileHandle
- ianlevesque 14y agoThis is neat. I've been meaning to do something like it myself for fun. I'd be far more interested in one that just let's you drop a file and gives you a URL for your friend to visit with no other steps. Having one of these services that does the transfer directly peer to peer without accounts or setup steps would be great.
- erbbysam 14y agoI think http://sharefest.peer5.com/ http://sharefest.peer5.com/ is actually exactly that.
- ianlevesque 14y agoYes! That's a great execution of this.
- kayoone 14y agoP2P doesnt really work with URLs though as you need to be online for the recieving end to get your file. Some traditional filesharing/upload site would work better in that case imo. For a P2P scenario it makes sense to have something like a chatroom.
- ianlevesque 14y agoOf course but that's not a big deal if you can see when the transfer to your friend completed.
- jodrellblank 14y agoSendoid was doing this with Adobe Air P2P two years ago - but sadly not very well and they aren't around anymore. I hope webrtc does better with NAT. http://i.downloadsquad.switched.com/2011/03/23/sendoid-offers-simple-zero-config-p2p-file-sharing-doesnt-work/ http://i.downloadsquad.switched.com/2011/03/23/sendoid-offer...
- ianlevesque 14y agoI suspect the same reasons outlined here: http://peerjs.com/status http://peerjs.com/status
- plaes 14y agoHow about testing the WebRTC availability straight on the frontpage?
- niggler 14y agoor even a public room with a public name like 'public'
- ancarda 14y agoI made a room which anyone can join. Would be cool to see how it scales. http://rtccopy.com/#KJMHud6Q http://rtccopy.com/#KJMHud6Q Edit: Incase anyone is interested, I have a chat log up: http://ancarda.net/rtccopy.log.txt http://ancarda.net/rtccopy.log.txt
- erbbysam 14y agoI like that idea. Will implement it shortly.
- duaneb 14y agoIs this an encrypted/secure connection? I don't see how without certs.
- ancarda 14y agoIt's not Warning: -Data is transmitted here without encryption, directly to the other users in this WebRTC room. Use caution if sending sensitive files and communicate file passwords through a more secure channel.
- ericz 14y agoWebRTC encrypts by default and you have to manually edit the SDP to turn it off. I highly doubt the developer went to the lengths to do that.
- scotty79 14y agoCould you make it work on Chromium on Linux?
- erbbysam 14y agoWhen I was initially developing this a month ago, I used the Chromium nightly build on Ubuntu on my laptop. Since then my laptop's video card died. I'm going to probably roll out a linux VM soon to make sure this works with Chromium nightly still.
- aviswanathan 14y agoOne of the coolest implementations of WebRTC is a project my friend launched called PeerCDN (https://peercdn.com/ https://peercdn.com/) - basically allows you to reduce bandwidth costs by leveraging the resources of active users on your app.
- christiangenco 14y agoHoly cow - this is amazing! My girlfriend brought up a good point: is there any way to opt-out of seeding?
- aviswanathan 14y agoHmm not sure... Haven't actually tried it out yet
- ericz 14y agoHere's one my friends (and I) are building, including a live demo: http://demo.peerkit.com/static/index_demo.html http://demo.peerkit.com/static/index_demo.html
- malandrew 14y agoI remember looking into the feasability of something like this about 3-4 years ago when I was working on a social game with ~10 million DAU. Our bandwidth costs for static files were really really high even with a big discount from S3 because we were a heavy user. It's awesome to see that it is finally a reality. With things like this, getting exposure isn't a matter of having the money to host your content, but simply a matter of being popular. The more popular you are, the more likely that you can offload static file hosting to those consuming your content.
- film42 14y agoAs soon as I saw the WebRTC demo I went looking through the bittorrent spec to see how that was done, to then see how I could do something similar. Looks like you beat me to it, but it's a powerful tool nonetheless. Just imagine Reddit only hosting their database and a single server for master replication.
- thomasbk 14y agoMy Chrome tab crashed when I tried sending a 440mb file!
- nacs 14y agoFrom their website: "Your browser will likely crash if you attempt to send a single file larger than 100MB, your mileage will vary."
- pbhjpbhj 14y agoOpera Unite was trying to do peer-to-peer centrally indexed file sharing as part of their offering I think (http://unite.opera.com/application/132/ http://unite.opera.com/application/132/). I blogged about it back in 2009 anyhow (under the self-effacing title of "Opera is about to change the world?!"!).
- jodrellblank 14y agoWelcome to 1991, Web browsers. http://en.wikipedia.org/wiki/Direct_Client-to-Client http://en.wikipedia.org/wiki/Direct_Client-to-Client
- est 14y agoThe feature of WebRTC is that you don't have to install any plugins or extensions, but wait, you have to install a 22MB browser instead of few KB IRC client.
- shacharz 14y agohttp://sharefest.me http://sharefest.me is another file sharing platform, works both on chrome and firefox (but not inter-operable yet).