# WebTorrent Desktop | Streaming Torrent For Mac, Windows, And Linux

**URL:** <https://onehack.st/t/webtorrent-desktop-streaming-torrent-for-mac-windows-and-linux/293252>\
**Category:** Tools & Scripts\
**Tags:** tools, privacy, piracy, business, streaming\
**Created:** [October 10, 2024, 10:00pm UTC](https://onehack.st/t/webtorrent-desktop-streaming-torrent-for-mac-windows-and-linux/293252 "2024-10-10T22:00:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prometheus](https://onehack.st/user_avatar/onehack.st/prometheus/32/34950_2.png) [@Prometheus](https://onehack.st/u/Prometheus)\
**Post date:** [October 10, 2024, 10:00pm UTC](https://onehack.st/t/webtorrent-desktop-streaming-torrent-for-mac-windows-and-linux/293252/1 "2024-10-10T22:00:22Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/b/d/bd54b72b9c5a418709fc01400eb393da40a47a97.png)

WebTorrent Desktop

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

[![discord](https://camo.githubusercontent.com/f7f02a456cddc2dd2b5c7190eb7fd8c7a06392193752e9cced698705b35bd0ae/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f363132353735313131373138383935363136)](https://discord.gg/cnXkm4Z) [![GitHub CI action](https://github.com/webtorrent/webtorrent-desktop/actions/workflows/ci.yml/badge.svg)](https://github.com/webtorrent/webtorrent-desktop/actions/workflows/ci.yml) [![github release version](https://camo.githubusercontent.com/21ecf9d927eff020ba1876a7c8e0061c12b3f6328a59235445ad295ec64501c8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f776562746f7272656e742f776562746f7272656e742d6465736b746f702e737667)](https://github.com/webtorrent/webtorrent-desktop/releases) [![github release downloads](https://camo.githubusercontent.com/c4a0bfe1e8daaada49e949f828b07fd0f65e7be1469fc485eb3f30f27ca47a40/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f776562746f7272656e742f776562746f7272656e742d6465736b746f702f746f74616c2e737667)](https://github.com/webtorrent/webtorrent-desktop/releases) [![Standard - JavaScript Style Guide](https://camo.githubusercontent.com/5338a68a0f130dc684279ff3e42e45c9c74006018a1bdeaac76905979b3ccd49/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64655f7374796c652d7374616e646172642d627269676874677265656e2e737667)](https://standardjs.com/)

## Install

### Recommended Install

Download the latest version of WebTorrent Desktop from [the official website](https://webtorrent.io/desktop/):

### [✨ Download WebTorrent Desktop ✨](https://webtorrent.io/desktop/)

### Advanced Install

- Download specific installer files from the [GitHub releases](https://github.com/webtorrent/webtorrent-desktop/releases) page.
- Use [Homebrew-Cask](https://github.com/caskroom/homebrew-cask) to install from the command line:

```auto
$ brew install --cask webtorrent

```

- Try the (unstable) development version by cloning the Git repository. See the [“How to Contribute”](https://github.com/webtorrent/webtorrent-desktop#how-to-contribute) instructions.

## Screenshots

[![screenshot](https://camo.githubusercontent.com/0e30b7ce5e31f46d7ed7e6e971692d81ec833d8ca7367d3bb8bde55ab524d837/68747470733a2f2f776562746f7272656e742e696f2f696d672f73637265656e73686f742d706c61796572332e706e67)](https://camo.githubusercontent.com/0e30b7ce5e31f46d7ed7e6e971692d81ec833d8ca7367d3bb8bde55ab524d837/68747470733a2f2f776562746f7272656e742e696f2f696d672f73637265656e73686f742d706c61796572332e706e67) [![screenshot](https://camo.githubusercontent.com/fc79d1b3f4156ab4702cb12b7c26bc049df8ec17d6edc28927c1a7b7321752a0/68747470733a2f2f776562746f7272656e742e696f2f696d672f73637265656e73686f742d6d61696e2e706e67)](https://camo.githubusercontent.com/fc79d1b3f4156ab4702cb12b7c26bc049df8ec17d6edc28927c1a7b7321752a0/68747470733a2f2f776562746f7272656e742e696f2f696d672f73637265656e73686f742d6d61696e2e706e67)

## How to Contribute

### Get the code

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

```

### Run the app

```auto
$ npm start

```

### Watch the code

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

```auto
$ npm run watch

```

### Run linters

```auto
$ npm test

```

### Run integration tests

```auto
$ 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 [https://github.com/blog/817-behold-image-view-modes](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 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.

```auto
$ npm run package

```

To build for one platform:

```auto
$ 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, -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](https://www.winehq.org/) and [Mono](https://www.mono-project.com/) need to be installed. For example on Mac, first install [XQuartz](http://www.xquartz.org/), then run:

```auto
$ brew install wine mono

```

(Requires the [Homebrew](http://brew.sh/) 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:

```auto
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): [https://electronjs.org/docs/tutorial/quick-start](https://electronjs.org/docs/tutorial/quick-start)

React.js (Framework to work with Frontend UI): [https://reactjs.org/docs/getting-started.html](https://reactjs.org/docs/getting-started.html)

Material UI (React components that implement Google’s Material Design.): [https://material-ui.com/getting-started/installation](https://material-ui.com/getting-started/installation)

### Privacy

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.

## License

MIT. Copyright (c) [WebTorrent, LLC](https://webtorrent.io/).

## GitHub:

> **[GitHub - webtorrent/webtorrent-desktop: ❤️ Streaming torrent app for Mac, Windows, and...](https://github.com/webtorrent/webtorrent-desktop)**
>
> ❤️ Streaming torrent app for Mac, Windows, and Linux

## GitHub:

> **[GitHub - webtorrent/webtorrent: ⚡️ Streaming torrent client for the web](https://github.com/webtorrent/webtorrent)**
>
> ⚡️ Streaming torrent client for the web
