Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebTorrent (node & command line) should be a "hybrid client" #202

Closed
feross opened this issue Dec 12, 2014 · 11 comments
Closed

WebTorrent (node & command line) should be a "hybrid client" #202

feross opened this issue Dec 12, 2014 · 11 comments
Labels
Milestone

Comments

@feross
Copy link
Member

@feross feross commented Dec 12, 2014

From the readme:

To make BitTorrent work over WebRTC (which is the only p2p transport that works on the web) we made some protocol changes. Therefore, a browser-based WebTorrent client can only connect to other clients that support WebTorrent (and WebRTC).

The webtorrent npm module should support WebRTC so when people use the command line webtorrent program or require('webtorrent') and torrent something, they will also swarm with web peers (i.e. web browsers).

@prodigel

This comment has been minimized.

Copy link

@prodigel prodigel commented Mar 9, 2015

Hey there,

I've been testing the library and got encouraging results, but I've stumbled on this missing feature when trying to create a browser-independent seeder.

Saw your 'hope' in #239, was wondering if there's any news on it?

PS: Congrats on the project, really cool idea/implementation.

@feross feross mentioned this issue Mar 12, 2015
@sashahilton00

This comment has been minimized.

Copy link

@sashahilton00 sashahilton00 commented Mar 14, 2015

Bumping this for TehShrike, as he is too polite to do so himself ;)

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Mar 25, 2015

I'm working on this right now.

There's actually quite a bit of code that needs to be refactored, since we were relying on browserify's "browser" field to replace TCP with WebRTC in the browser. Getting the node version of the app to support multiple types of peers is harder than it sounds, and will require changes to multiple webtorrent modules.

@piedshag

This comment has been minimized.

Copy link

@piedshag piedshag commented Mar 26, 2015

Is there any way I can be of assistance @feross. "More hands the merrier"

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Apr 11, 2015

Good news everyone! As of v0.32.0, the webtorrent node client is a hybrid client! It can talk to normal BitTorrent peers, as well as web peers!

Please give it a shot!

First, seed a file from the the node command line (webtorrent seed file.txt), then go to https://instant.io and paste in the info hash. That's it!

Seeding to web peers works while you're downloading too (webtorrent download magnet_uri), as long as the magnet uri or .torrent file specifies a webtorrent tracker (wss://tracker.webtorrent.io).

The next step is to fix the remaining bugs that cause the streaming to stall, as well as fix the memory leaks preventing the browser from handling files over ~500MB. Please file bugs – or better yet, send PRs. I can't do this alone!

@iadj

This comment has been minimized.

Copy link

@iadj iadj commented Apr 11, 2015

AWESOME @feross !!!!

@feross feross modified the milestone: Alpha Apr 11, 2015
@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Apr 11, 2015

Thanks :-)

@feross feross closed this Apr 11, 2015
@piedshag

This comment has been minimized.

Copy link

@piedshag piedshag commented Apr 12, 2015

@feross Great Work. But when i attempt to seed the file. I get Missing WebRTC support - was wrtc dependency installed?. Where am i supposed to install the module. Thanks

@iadj

This comment has been minimized.

Copy link

@iadj iadj commented Apr 12, 2015

Same issue here, and when trying to install wrtc I get flooded with errors (most likely because I'm on Windows, and it appears wrtc has no Windows support).

@piedshag

This comment has been minimized.

Copy link

@piedshag piedshag commented Apr 12, 2015

@ladj. To use wrtc on any other operating system you can just install it globally. Wrtc is under active development may be a while before windows support though.

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Apr 21, 2015

wrtc is an optional dependency. If it fails to install on your platform, the rest of the installation should continue just fine. In node, WebTorrent will function as a normal bittorrent client that cannot talk to web peers if the wrtc module is missing at runtime.

@lock lock bot locked as resolved and limited conversation to collaborators May 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.