Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


WebTorrent (with WebRTC support in Node.js)

Subscribe to updates I use webtorrent-hybrid

Statistics on webtorrent-hybrid

Number of watchers on Github 269
Number of open issues 9
Average time to close an issue about 1 month
Main language JavaScript
Average time to merge a PR about 10 hours
Open pull requests 1+
Closed pull requests 2+
Last commit over 1 year ago
Repo Created over 4 years ago
Repo Last Updated over 1 year ago
Size 35 KB
Homepage https://webtorren...
Organization / Authorwebtorrent
Page Updated
Do you use webtorrent-hybrid? Leave a review!
View open issues (9)
View webtorrent-hybrid activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating webtorrent-hybrid for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

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.


To install WebTorrent:

npm install webtorrent-hybrid

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

npm install webtorrent-hybrid -g


On OS X, this should Just Work.


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


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.


MIT. Copyright (c) Feross Aboukhadijeh and WebTorrent, LLC.

webtorrent-hybrid open issues Ask a question     (View All Issues)
  • almost 3 years Reflections on the user's firewall?
  • about 3 years Error at the end of execution
webtorrent-hybrid open pull requests (View All Pulls)
  • Use default announce list
webtorrent-hybrid list of languages used
Other projects in JavaScript