Skip to content

Fabiencdp/webtorrent-hybrid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webtorrent-hybrid travis npm downloads javascript style guide

Streaming torrent client (with WebRTC support in Node.js)

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-hybrid

To install a webtorrent-hybrid command line program, run:

npm install webtorrent-hybrid -g

OS 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 xvfb

If 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-dev

For CentOS / RHEL:

sudo yum install xorg-x11-server-Xvfb

Usage

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) Feross Aboukhadijeh and WebTorrent, LLC.

About

WebTorrent (with WebRTC support in Node.js)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 51.7%
  • Shell 48.3%