❤️ Streaming torrent app for Mac, Windows, and Linux


License: MIT

Language: JavaScript

Keywords: bittorrent, electron, javascript, linux, macos, nodejs, p2p, streaming, webrtc, webtorrent, windows

WebTorrent Desktop

The streaming torrent app. For Mac, Windows, and Linux.

Gitter Travis Release


Download the latest version of WebTorrent Desktop from the official website or the GitHub releases page.

WebTorrent Desktop is under very active development. You can try out the current (unstable) development version by cloning the Git repo. See the instructions below in the "How to Contribute" section.


screenshot screenshot

How to Contribute

Get the code

$ git clone https://github.com/feross/webtorrent-desktop.git
$ cd webtorrent-desktop
$ npm install

Run the app

$ npm start

Watch the code

Restart the app automatically every time code changes. Useful during development.

$ npm run watch

Run linters

$ npm test

Run integration tests

$ npm run test-integration

The integration tests use Spectron and Tape. They click through the app, taking screenshots and comparing each one to a reference. Why screenshots?

  • Ad-hoc checking makes the tests a lot more work to write
  • Even diffing the whole HTML is not as thorough as screenshot diffing. For example, it wouldn't catch an bug where hitting ESC from a video doesn't correctly restore window size.
  • Chrome's own integration tests use screenshot diffing iirc
  • Small UI changes will break a few tests, but the fix is as easy as deleting the offending screenshots and running the tests, which will recreate them with the new look.
  • The resulting Github PR will then show, pixel by pixel, the exact UI changes that were made! Ses https://github.com/blog/817-behold-image-view-modes

For MacOS, you'll need a Retina screen for the integration tests to pass. Your screen should have the same resolution as a 2016 12" Macbook.

For Windows, you'll need Windows 10 with a 1366x768 screen.

When running integration tests, keep the mouse on the edge of the screen and don't touch the mouse or keyboard while the tests are running.

Package the app

Builds app binaries for Mac, Linux, and Windows.

$ npm run package

To build for one platform:

$ npm run package -- [platform] [options]

Where [platform] is darwin, linux, win32, or all (default).

The following optional arguments are available:

  • --sign - Sign the application (Mac, Windows)
  • --package=[type] - Package single output type.
    • deb - Debian package
    • zip - Linux zip file
    • dmg - Mac disk image
    • exe - Windows installer
    • portable - Windows portable app
    • all - All platforms (default)

Note: Even with the --package option, the auto-update files (.nupkg for Windows, *-darwin.zip for Mac) will always be produced.

Windows build notes

The Windows app can be packaged from any platform.

Note: Windows code signing only works from Windows, for now.

Note: To package the Windows app from non-Windows platforms, Wine needs to be installed. For example on Mac, first install XQuartz, then run:

brew install wine

(Requires the Homebrew package manager.)

Mac build notes

The Mac app can only be packaged from macOS.

Linux build notes

The Linux app can be packaged from any platform.


WebTorrent Desktop collects some basic usage stats to help us make the app better. For example, we track how well the play button works. How often does it succeed? Time out? Show a missing codec error?

The app never sends any personally identifying information, nor does it track which torrents you add.

Code Style



MIT. Copyright (c) WebTorrent, LLC.

Project Statistics

Sourcerank 9
Repository Size 148 MB
Stars 6,861
Forks 808
Watchers 250
Open issues 155
Dependencies 57
Contributors 34
Tags 34
Last updated
Last pushed

Top Contributors See all

Feross Aboukhadijeh DC Nate Goldman Mathias Rasmussen Alberto Miranda grunjol Greenkeeper Adam Gotlib Benjamin Tan Dan Flettre furstenheim Noam Okman Romain Beaumont Karan Thakkar Sergey Bargamon Rémi Jouannet ChrisMorrisOrg Rolando Guedes anonymlol Alexey Romanov

Packages Referencing this Repo

Install WebTorrent Desktop from the official site: https://webtorrent.io/desktop
Latest release 0.999.0 - Updated - 6.86K stars
This probably what you meant: `npm install webtorrent-desktop`
Latest release 0.1.0 - Updated - 6.86K stars

Recent Tags See all

v0.19.0 October 17, 2017
v0.18.0 February 03, 2017
v0.17.2 October 11, 2016
v0.17.1 October 03, 2016
v0.17.0 September 26, 2016
v0.16.0 September 18, 2016
v0.15.99 September 17, 2016
v0.15.0 September 16, 2016
v0.14.0 September 04, 2016
v0.13.1 September 01, 2016
v0.13.0 August 31, 2016
v0.12.0 August 23, 2016
v0.11.0 August 19, 2016
v0.10.0 July 21, 2016
v0.9.0 July 21, 2016

Interesting Forks See all

❤️ Streaming torrent app for Mac, Windows, and Linux
JavaScript - Last pushed - 5 stars - 3 forks
heart Streaming torrent app for Mac, Windows, and Linux (BitTorrent/WebTorrent)
JavaScript - MIT - Last pushed - 1 stars - 1 forks
❤️ Streaming torrent app for Mac, Windows, and Linux
JavaScript - MIT - Updated - 1 stars
❤️ Streaming torrent app for Mac, Windows, and Linux
JavaScript - Published - 1 stars
❤️ Streaming torrent app for Mac, Windows, and Linux
JavaScript - Last pushed - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2016-11-24 16:51:57 UTC

Login to resync this repository