Package Exports
- webtorrent-hybrid
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (webtorrent-hybrid) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
WebTorrent (with WebRTC support in Node.js)
Streaming torrent client for node environments
In node.js, the webtorrent package only connects to normal TCP/UDP peers, not WebRTC peers. If you want to connect to all types of peers, including WebRTC peers, from node.js, you need to use this package (webtorrent-hybrid).
Previous versions (0.x) of this package used wrtc, a WebRTC implementation via native extensions, the current one is based on electron-webrtc (which in turn uses electron-prebuilt) for better compatibility. It creates a hidden Electron process (which is based on Chromium, so WebRTC support is great!) and communicates with that process to enable WebRTC in Node.js. This adds a lot of overhead, so we are looking forward to using a pure JavaScript implementation, like perhaps Node-RTCPeerConnection when it's ready.
To run this package on a headless server execute the provided script or follow these instructions.
Install
To install WebTorrent:
npm install webtorrent-hybridTo install a webtorrent-hybrid command line program, run:
npm install webtorrent-hybrid -gOS X
On OS X, this should Just Work™.
Linux
The current version of webtorrent-hybrid requires a screen, since the headless Electron
instance expects one. If you're running in a screenless environment (like on a server),
you must use a virtual screen such as xvfb. You must install it before using
webtorrent-hybrid.
For Debian / Ubuntu:
sudo apt-get install xvfbIf you get an error about a missing .so file ("error while loading shared libraries"), use the search at the bottom of packages.debian.org to find out which packages in your release provide a given file.
On server editions, the following additional packages should be installed since Electron depends on them:
sudo apt-get install libgtk2.0-0 libxtst-dev libxss-dev libgconf2-dev libnss3 libasound2-devFor CentOS / RHEL:
sudo yum install xorg-x11-server-XvfbUsage
webtorrent-hybrid has the same command line interface (CLI) and module API as
webtorrent. Just require('webtorrent-hybrid')
instead of require('webtorrent').
See the WebTorrent docs.
License
MIT. Copyright (c) WebTorrent, LLC.