{"id":13483061,"url":"https://github.com/webtorrent/webtorrent-cli","last_synced_at":"2026-04-15T00:02:16.279Z","repository":{"id":38712115,"uuid":"53643073","full_name":"webtorrent/webtorrent-cli","owner":"webtorrent","description":"WebTorrent, the streaming torrent client. For the command line.","archived":false,"fork":false,"pushed_at":"2025-03-15T12:04:34.000Z","size":487,"stargazers_count":1224,"open_issues_count":8,"forks_count":140,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-10T00:11:49.019Z","etag":null,"topics":["bittorrent","cli","javascript","nodejs","p2p","streaming","webrtc","webtorrent"],"latest_commit_sha":null,"homepage":"https://webtorrent.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webtorrent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["webtorrent","feross"]}},"created_at":"2016-03-11T05:49:36.000Z","updated_at":"2025-04-09T08:19:10.000Z","dependencies_parsed_at":"2023-09-25T22:31:20.332Z","dependency_job_id":"bae0bc19-cd8d-41c3-8704-2c1873b50d64","html_url":"https://github.com/webtorrent/webtorrent-cli","commit_stats":{"total_commits":503,"total_committers":61,"mean_commits":8.245901639344263,"dds":"0.43538767395626243","last_synced_commit":"fb042cc753f7a4343acada648401d9323dad48b6"},"previous_names":["feross/webtorrent-cli"],"tags_count":75,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webtorrent%2Fwebtorrent-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webtorrent%2Fwebtorrent-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webtorrent%2Fwebtorrent-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webtorrent%2Fwebtorrent-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webtorrent","download_url":"https://codeload.github.com/webtorrent/webtorrent-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251565758,"owners_count":21609977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bittorrent","cli","javascript","nodejs","p2p","streaming","webrtc","webtorrent"],"created_at":"2024-07-31T17:01:07.888Z","updated_at":"2026-04-15T00:02:16.168Z","avatar_url":"https://github.com/webtorrent.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://webtorrent.io\"\u003e\u003cimg src=\"https://webtorrent.io/img/WebTorrent.png\" alt=\"WebTorrent\" width=\"200\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  WebTorrent CLI\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eThe streaming torrent client. For the command line.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/webtorrent/webtorrent-cli/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/webtorrent/webtorrent-cli/actions/workflows/ci.yml/badge.svg?branch=master\" alt=\"ci\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://npmjs.com/package/webtorrent-cli\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/webtorrent-cli.svg\" alt=\"npm version\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://npmjs.org/package/webtorrent-cli\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/webtorrent-cli.svg\" alt=\"npm downloads\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://standardjs.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/code_style-standard-brightgreen.svg\" alt=\"javascript style guide\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n**WebTorrent** is the first BitTorrent client that works in the **browser**, but `webtorrent-cli`,\ni.e. *THIS PACKAGE*, is for using WebTorrent from the **command line**.\n\n`webtorrent-cli` is a simple torrent client for use in node.js, as a command line app. It\nuses TCP, UDP and WebRTC to talk to other torrent clients.\n\nTo use WebTorrent in the browser, see [`webtorrent`](https://www.npmjs.com/package/webtorrent).\n\n### Features\n\n- **Use [WebTorrent](https://webtorrent.io) from the command line!**\n- **Insanely fast**\n- Streaming\n  - Stream to **AirPlay**, **Chromecast**, **VLC player**, **IINA**, and many other devices/players\n  - Fetches pieces from the network on-demand so seeking is supported (even before torrent is finished)\n  - Seamlessly switches between sequential and rarest-first piece selection strategy\n- Supports advanced torrent client features\n  - **magnet uri** support via **[ut_metadata](https://www.npmjs.com/package/ut_metadata)**\n  - **peer discovery** via **[dht](https://www.npmjs.com/package/bittorrent-dht)**,\n    **[tracker](https://www.npmjs.com/package/bittorrent-tracker)**, and\n    **[ut_pex](https://www.npmjs.com/package/ut_pex)**\n  - **[protocol extension api](https://www.npmjs.com/package/bittorrent-protocol#extension-api)**\n    for adding new extensions\n  - Check all the **[supported BEPs here](https://github.com/webtorrent/webtorrent/blob/master/docs/bep_support.md)**\n\n### Install\n\nTo install a `webtorrent` command line program, run:\n\n```bash\nnpm install webtorrent-cli -g\n```\n\n### Usage\n\n```bash\n$ webtorrent --help\n               _     _                            _\n __      _____| |__ | |_ ___  _ __ _ __ ___ _ __ | |_\n \\ \\ /\\ / / _ \\ '_ \\| __/ _ \\| '__| '__/ _ \\ '_ \\| __|\n  \\ V  V /  __/ |_) | || (_) | |  | | |  __/ | | | |_\n   \\_/\\_/ \\___|_.__/ \\__\\___/|_|  |_|  \\___|_| |_|\\__|\n\nUsage:\n  webtorrent [command] \u003ctorrent-id\u003e [options]\n\nExamples:\n  webtorrent download \"magnet:...\" --vlc\n  webtorrent \"magnet:...\" --vlc --player-args=\"--video-on-top --repeat\"\n\nDefault output location:\n  * when streaming: Temp folder\n  * when downloading: Current directory\n\nSpecify \u003ctorrent-id\u003e as one of:\n  * magnet uri\n  * http url to .torrent file\n  * filesystem path to .torrent file\n  * info hash (hex string)\n\nCommands:\n  webtorrent download [torrent-ids...]      Download a torrent                             [default]\n  webtorrent downloadmeta \u003ctorrent-ids...\u003e  Download metadata of torrent\n  webtorrent seed \u003cinputs...\u003e               Seed a file or a folder\n  webtorrent create \u003cinput\u003e                 Create a .torrent file\n  webtorrent info \u003ctorrent-id\u003e              Show torrent information\n  webtorrent version                        Show version information\n  webtorrent help                           Show help information\n\nOptions (streaming):\n      --airplay     Apple TV                                                               [boolean]\n      --chromecast  Google Chromecast                                                 [default: all]\n      --dlna        DLNA                                                                   [boolean]\n      --mplayer     MPlayer                                                                [boolean]\n      --mpv         MPV                                                                    [boolean]\n      --omx         OMX                                                              [default: hdmi]\n      --vlc         VLC                                                                    [boolean]\n      --iina        IINA                                                                   [boolean]\n      --smplayer    SMPlayer                                                               [boolean]\n      --xbmc        XBMC                                                                   [boolean]\n      --stdout      Standard out (implies --quiet)                                         [boolean]\n\nOptions (simple):\n  -o, --out                 Set download destination                                        [string]\n  -s, --select              Select specific file in torrent                    [default: List files]\n  -i, --interactive-select  Interactively select specific file in torrent                  [boolean]\n  -t, --subtitles           Load subtitles file                                             [string]\n  -h, --help                Show help information                                          [boolean]\n  -v, --version             Show version information                                       [boolean]\n\nOptions (advanced)\n  -p, --port            Change the http server port                         [number] [default: 8000]\n  -b, --blocklist       Load blocklist file/url                                             [string]\n  -a, --announce        Tracker URL to announce to                                          [string]\n  -q, --quiet           Don't show UI on stdout                                            [boolean]\n  -d, --download-limit  Maximum download speed in kb/s                 [number] [default: unlimited]\n  -u, --upload-limit    Maximum upload speed in kb/s                   [number] [default: unlimited]\n      --pip             Enter Picture-in-Picture if supported by the player                [boolean]\n      --verbose         Show torrent protocol details                                      [boolean]\n      --playlist        Open files in a playlist if supported by the player                [boolean]\n      --player-args     Add player specific arguments (see example)                         [string]\n      --torrent-port    Change the torrent seeding port                   [number] [default: random]\n      --dht-port        Change the dht port                               [number] [default: random]\n      --not-on-top      Don't set \"always on top\" option in player                         [boolean]\n      --keep-seeding    Don't quit when done downloading                                   [boolean]\n      --no-quit         Don't quit when player exits                                       [boolean]\n      --on-done         Run script after torrent download is done                           [string]\n      --on-exit         Run script before program exit                                      [string]\n```\n\nTo download a torrent:\n\n```bash\n$ webtorrent magnet_uri\n```\n\nTo stream a torrent to a device like **AirPlay** or **Chromecast**, just pass a flag:\n\n```bash\n$ webtorrent magnet_uri --airplay\n```\n\nIn addition to magnet uris, webtorrent supports many ways to specify a torrent:\n\n- magnet uri (string)\n- torrent file (buffer)\n- info hash (hex string or buffer)\n- parsed torrent (from [parse-torrent](https://www.npmjs.com/package/parse-torrent))\n- http/https url to a torrent file (string)\n- filesystem path to a torrent file (string)\n\n### License\n\nMIT. Copyright (c) [Feross Aboukhadijeh](https://feross.org) and [WebTorrent, LLC](https://webtorrent.io).\n","funding_links":["https://github.com/sponsors/webtorrent","https://github.com/sponsors/feross"],"categories":["Modules","JavaScript","cli"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebtorrent%2Fwebtorrent-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebtorrent%2Fwebtorrent-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebtorrent%2Fwebtorrent-cli/lists"}