Hacker News new | past | comments | ask | show | jobs | submit login
Instant.io – Streaming file transfer over WebTorrent (instant.io)
157 points by MrJagil on May 19, 2015 | hide | past | favorite | 40 comments



Does it mean that whenever I click on a link I must be afraid that my computer will start to participate in a filesharing network?

What if a website uses the technology to spread copyrighted material in the background without me knowing about it? Maybe the website had a simple XSS hole that allowed an attacker to do it?

So later I will get a fine for spreading copyrighted material and I don't even know where it came from?


This isn't actually a new problem though!

After all, what if the JavaScript on a website makes an AJAX request to fetch illegal content and store it in your HTML5 LocalStorage?

Bam, you are now a criminal in possession of illegal content of some sort.


In Germany at least, downloading is not a big problem as is sharing and uploading.


In the US, copyright is also more about sharing/uploading than downloading (if I remember right, all of the RIAA lawsuits were for uploading). The bigger issue is if the exploit has you download something that's illegal to possess (eg: illegal pornography).


Is it still illegal content if its a fragment, or part of, the file? Because if its an encrypted portion of a file, then you actually only have bits of nothing.


In the UK the police can demand encryption keys and, if you fail to supply them, throw you in prison for 10 years. So the punishment for having encrypted content which you do not have the key for could be far worse than actually having illegal content :(


Are you sure that they don't have to prove you know/can find/used to have the keys?


You're correct.

A person to whom a section 49 notice has been given is guilty of an offence if he knowingly fails, in accordance with the notice, to make the disclosure required by virtue of the giving of the notice.

In proceedings against any person for an offence under this section, if it is shown that that person was in possession of a key to any protected information at any time before the time of the giving of the section 49 notice, that person shall be taken for the purposes of those proceedings to have continued to be in possession of that key at all subsequent times, unless it is shown that the key was not in his possession after the giving of the notice and before the time by which he was required to disclose it.

For the purposes of this section a person shall be taken to have shown that he was not in possession of a key to protected information at a particular time if:

* sufficient evidence of that fact is adduced to raise an issue with respect to it; and

* the contrary is not proved beyond a reasonable doubt.

There's also a 2/5 year sentence maximum.

http://www.legislation.gov.uk/ukpga/2000/23/section/53


Do you happen to know how is it different in US? I am curious on what would happen if someone simply refused to provide the decryption key.


In the US we have the 5th Amendment to the Constitution which forbids the government from making you testify against yourself. Details can be found here:

http://en.wikipedia.org/wiki/Key_disclosure_law#United_State...

TL;DR: Case law is mixed on the matter but it sure seems clear to me at least. I don't understand why people can't just say, "I forgot it. Sorry."


This concern applies to any JavaScript: your browser is automatically downloading and running untrusted software on your computer without prompting you.

Even if you enjoy having JavaScript enabled for many sites, something like NoScript is still a good idea---it at least gives you a chance to question whether it's needed at all, or verify what it's doing yourself.


sometimes noscript notifites about domain names that leads to nothing when I google it/go directly to it... how do you know if a site is legitimate?


If you're not a JavaScript developer, that's not so easy to do with NoScript, unfortunately, because you'd have to allow the file to load, or pause it with a debugger, to see what is actually going on. Some scripts are also loaded at runtime.

LibreJS will list every script and its contents if it's not marked with a free license, but since it will refuse to execute it, it will not load anything that is dynamically loaded at runtime. But a malicious script could just mark itself as free to get around that.

It's a bad situation all-around.


Yes, and given the prevalence of javascript in 2015, I don't see this as a practical option at all for actually using the Internet.

Chrome canary + uBlock *uMatrix (which lets you allow images / scripts / css / XHR selectively per-domain) is about as much as I can stand to maintain.


Yeah, this is an interesting thought exercise. You could even, ad banner style, put an iframe on all sorts of pages letting a computer serve as part of a torrenting network.

(Provided the page stayed open, of course)


Exactly my thoughts. JS torrent clients are dangerous.

There was a case in Germany recently where thousands of internet users got cease-and-desist letters and were asked to pay a fine based on an ad-injection. The people behind it made hundreds of thousands and ran off with the money.

On the other hand: If malicious driveby torrenting happens regularly, it will be harder to fine people for it, because it gives them a good excuse.


The case you are talking about clearly looks like a scam, how is that even legal to ask for a ransom in exchange of not disclosing you to the justice ?


It wasn't legal, but that didn't prevent them from running off with the money. Nobody wants to get involved in a lawsuit over porn movie piracy, so many people just pay the fine.

And when you pay, it's almost impossible to get the money back, because you basically admit your guilt, even when the claim was not legit.

There's more to this case, you can read about it here:

https://torrentfreak.com/viewing-pirated-streams-is-not-ille...

tl;dr: They got users' IPs through ads and misled the courts into thinking the users committed a crime by watching the videos. Courts ordered the ISPs to give out the users' info, the law firm CD'd the users and ran off when shit hit the fan.

The same thing can happen with JS torrenting and it's even easier to do.


There are companies that do this on scale, with permission from copyright holders.


I'm pretty sure this will work to stop webtorrent in chrome:

chrome://flags

disable webrtc


This flag is Android-only. It seems that disabling WebRTC on the desktop versions of Chrome isn't easy.


Here's a sample rights-free hash link if anyone wants to test the download:

https://instant.io/#1cee1045f0ceebcc56bc416da566d5006b58e156

Photo Source: https://unsplash.com/nelly


Am I wrong to assume that "webtorrent" is a "hack" of current technology such as WebRTC to make torrents work over the web, and that it would be much better to define a native protocol for torrents/P2P file sharing on the web?

Unfortunately now that the W3C has made the MPAA a member of its board, I assume it will oppose any and all such protocols with both hands.


Not really. WebRTC is explicitly designed to allow arbitrary data to be sent peer-to-peer, with things like encryption, NAT busting, etc. built in; layering file transfer on top of it isn't a hack. It's not compatible with existing protocols, unfortunately, but raw UDP (and TCP) sockets are unlikely to be allowed on the web anytime soon due to security concerns; there are various efforts by browsers to provide APIs for this for use cases like the Chrome Web Store and Firefox's Open Web Apps, where security can be relaxed (e.g. [1] [2]) - and there are in fact torrent addons for both browsers - but on the actual web, you need an additional layer. In lieu of the web being able to speak BitTorrent, it would be nice if native BitTorrent clients started to speak web - that is, support bridging over WebRTC themselves. That is, in fact, what the author of instant.io is attempting, according to [3], with "WebTorrent.app".

[1] https://developer.chrome.com/apps/sockets_udp

[2] https://wiki.mozilla.org/Security/Reviews/TCPSocket

[3] https://github.com/feross/webtorrent


Actually, the W3C is working on a TCP and UDP Socket API which should allow for any kind of data transfer protocol over the web.

http://www.w3.org/2012/sysapps/tcp-udp-sockets/


Whoa, that is so cool, I can't wait.

I know it's possible in theory to have UDP-like sockets via WebRTC data channels today, but it's really hard.


The MPAA or the W3C can oppose whatever they want, but we can also choose to ignore them.


Exactly what i was going to say. We have chosen to let the W3C define protocols. We can always take Chromium or FF and add the needed protocol and the W3C has no validity anymore.

This is the same for the DNS system. We have chosen to let the system be run like it is. But systems such as OpenDNS and Tor has proven that there are workarounds (with their own set of issues). The question basically boils down to having enough of a userbase for the new system to go mainstream.


Webtorrent is such a cool project. Kudos to Feross for the hard work.



So if I close my browser I have to start downloading all over?

The reason I like torrents over regular downloads is that I can pause and resume at any point. In the browser it's not always reliable.


In theory, there are plenty of ways for browsers to store data locally. I can't tell if this site does that, because I can't seem to get it to work.


I hope I didn't just seed some copyrighted material. Works for me on chrome. :)


Is it just me or are these pages not doing anything? I'm looking in the App Cache, Session Storage and I'm not seeing anything. There doesn't seem to be any activity. The page just sits there.


WebRTC doesn't have a tab in the web inspector yet. :) Try chrome://webrtc-internals/


I believe Wikipedia should use this technology to store images and movies on the client side. That would save them a lot of data storage money.


Poor little snitch - 'Firefox is trying to connect to _.__.__.__ over port ____.'

Nightmare for connection monitoring - just like bittorrent.


I tried this a few days ago in latest chrome and it didn't work for me. Is it working for anyone else?


It does work for me on both latest Chrome and latest Firefox on OS X. On the latter video streaming is not supported though.


Streaming is not supported on Firefox :(




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: