랭킹으로 돌아가기

webtorrent/webtorrent-desktop

JavaScriptwebtorrent.io/desktop

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

bittorrentjavascriptnodejselectronp2pstreamingwebrtcwebtorrentmacoswindowslinuxhacktoberfest
스타 성장
스타
10.1k
포크
1k
주간 성장
이슈
61
5k10k
2015년 5월2019년 1월2022년 10월2026년 7월
아티팩트npmnpm install webtorrent-desktop
README


WebTorrent
WebTorrent Desktop

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

discord GitHub CI action github release version github release downloads Standard - JavaScript Style Guide

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.

Screenshots

screenshot screenshot

How to Contribute

Get the code

$ git clone https://github.com/webtorrent/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! See 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.

$ 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, -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 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): https://electronjs.org/docs/tutorial/quick-start

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

Material UI (React components that implement Google's Material Design.): 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.

관련 저장소
ngosang/trackerslist

Updated list of public BitTorrent trackers

GNU General Public License v2.0trackersbittorrent-trackers
ngosang.github.io/trackerslist/
54.5k6.6k
agalwood/Motrix

A full-featured download manager.

JavaScriptnpmMIT Licensemotrixaria2
motrix.app
52.3k4.9k
aria2/aria2

aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

C++GNU General Public License v2.0cpp11http
aria2.github.io
41.5k3.9k
qbittorrent/qBittorrent

qBittorrent BitTorrent client

C++Otherc-plus-plusbittorrent
qbittorrent.org
38.9k4.8k
XIU2/TrackersListCollection

🎈 Updated daily! A list of popular BitTorrent Trackers! / 每天更新!全网热门 BT Tracker 列表!

GNU General Public License v3.0trackertrackers
trackerslist.com
31.8k1.8k
webtorrent/webtorrent

⚡️ Streaming torrent client for the web

JavaScriptnpmMIT Licensewebtorrentbittorrent
webtorrent.io
31.3k2.9k
GopeedLab/gopeed

A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.

GoGo ModulesGNU General Public License v3.0bittorrentdownloader
gopeed.com
25.4k1.7k
open-ani/animeko

集找番、追番、看番的一站式弹幕追番平台,云收藏同步 (Bangumi),离线缓存,BitTorrent,弹幕云过滤。100% Kotlin/Compose Multiplatform

KotlinGNU Affero General Public License v3.0animecompose
animeko.org
19k518
HelloZeroNet/ZeroNet

ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network

JavaScriptnpmOtherbittorrentp2p
zeronet.io
18.8k2.3k
Radarr/Radarr

Movie organizer/manager for usenet and torrent users.

C#GNU General Public License v3.0moviescouchpotato
radarr.video
14k1.2k
popcorn-official/popcorn-desktop

Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

JavaScriptnpmOtherpopcornpopcorntime
popcorn-time.site
9.6k638
lbryio/lbry-sdk

The LBRY SDK for building decentralized, censorship resistant, monetized digital content apps.

PythonPyPIMIT Licenselbryblockchain
lbry.com
7.2k492