All Projects → webtorrent → Webtorrent Desktop

webtorrent / Webtorrent Desktop

Licence: mit
❤️ Streaming torrent app for Mac, Windows, and Linux

Programming Languages

184084 projects - #8 most used programming language
56736 projects

Projects that are alternatives of or similar to Webtorrent Desktop

⚡️ Streaming torrent client for the web
Stars: ✭ 25,554 (+197.59%)
Mutual labels:  hacktoberfest, webrtc, p2p, streaming, bittorrent, webtorrent
🚀 Streaming file transfer over WebTorrent (torrents on the web)
Stars: ✭ 2,954 (-65.6%)
Mutual labels:  webrtc, p2p, streaming, bittorrent, webtorrent
🎞️💓🍿 Love streaming - It's always best to watch a movie together ! 🤗
Stars: ✭ 37 (-99.57%)
Mutual labels:  streaming, bittorrent, webrtc, p2p, webtorrent
Webtorrent Cli
WebTorrent, the streaming torrent client. For the command line.
Stars: ✭ 633 (-92.63%)
Mutual labels:  webrtc, p2p, streaming, bittorrent, webtorrent
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (-98.32%)
Mutual labels:  webrtc, p2p, bittorrent, webtorrent
P2p Media Loader
An open-source engine for P2P streaming of live and on demand video directly in a web browser HTML page
Stars: ✭ 822 (-90.43%)
Mutual labels:  webrtc, p2p, bittorrent, webtorrent
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (-2.19%)
Mutual labels:  webrtc, p2p, streaming
🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
Stars: ✭ 2,488 (-71.03%)
Mutual labels:  hacktoberfest, p2p, bittorrent
Bittorrent Protocol
Simple, robust, BitTorrent peer wire protocol implementation
Stars: ✭ 279 (-96.75%)
Mutual labels:  p2p, bittorrent, webtorrent
Privacy enhanced BitTorrent client with P2P content discovery
Stars: ✭ 3,915 (-54.41%)
Mutual labels:  p2p, streaming, bittorrent
⚡ File sharing progressive web app built using WebTorrent and WebSockets
Stars: ✭ 991 (-88.46%)
Mutual labels:  hacktoberfest, webrtc, webtorrent
Go implementation of the MediaDevices API.
Stars: ✭ 197 (-97.71%)
Mutual labels:  webrtc, p2p, streaming
Simple WebRTC Peer 2 Peer connections using WebTorrent trackers as the signalling server. Use WebTorrent trackers for any kind of WebRTC app ! 🔥 Make WebRTC apps fast & easy ! 🚀⭐
Stars: ✭ 159 (-98.15%)
Mutual labels:  webrtc, p2p, webtorrent
Serving websites over bittorrent
Stars: ✭ 481 (-94.4%)
Mutual labels:  webrtc, bittorrent, webtorrent
Webtorrent Hybrid
WebTorrent (with WebRTC support in Node.js)
Stars: ✭ 422 (-95.09%)
Mutual labels:  webrtc, bittorrent, webtorrent
Bittorrent Dht
🕸 Simple, robust, BitTorrent DHT implementation
Stars: ✭ 1,004 (-88.31%)
Mutual labels:  p2p, bittorrent, webtorrent
Bittorrent Tracker
🌊 Simple, robust, BitTorrent tracker (client & server) implementation
Stars: ✭ 1,184 (-86.21%)
Mutual labels:  webrtc, bittorrent, webtorrent
BitTorrent library and client with DHT, magnet links, encryption and more
Stars: ✭ 2,011 (-76.58%)
Mutual labels:  p2p, streaming, bittorrent
Torrent Discovery
Discover BitTorrent and WebTorrent peers
Stars: ✭ 177 (-97.94%)
Mutual labels:  p2p, bittorrent, webtorrent
Full-featured BitTorrent client package and utilities
Stars: ✭ 4,138 (-51.81%)
Mutual labels:  p2p, streaming, bittorrent

WebTorrent Desktop

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

discord travis github release version github release downloads Standard - JavaScript Style Guide


Recommended Install

Download the latest version of WebTorrent Desktop from the official website:

Download WebTorrent Desktop

Advanced Install

  • Download specific installer files from the GitHub releases page.

  • Use Homebrew-Cask to install from the command line:

    $ brew install --cask webtorrent
  • Try the (unstable) development version by cloning the Git repository. See the "How to Contribute" instructions.


screenshot screenshot

How to Contribute

Get the code

$ git clone
$ 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! See

For MacOS, you'll need a Retina screen for the integration tests to pass. Your screen should have the same resolution as a 2018 MacBook Pro 13".

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
    • rpm - RedHat 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, 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 and Mono need to be installed. For example on Mac, first install XQuartz, then run:

brew install wine mono

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

If packaging from Mac, install system dependencies with Homebrew by running:

npm run install-system-deps

Recommended readings to start working in the app

Electron (Framework to make native apps for Windows, OSX and Linux in Javascript):

React.js (Framework to work with Frontend UI):

Material UI (React components that implement Google's Material Design.):


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.


MIT. Copyright (c) WebTorrent, LLC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].