Public | Automated Build

Last pushed: a month ago
Short Description
Full Description

<h1 align="center">
<a href=""><img src="" alt="WebTorrent" width="200"></a>
WebTorrent CLI

<h4 align="center">The streaming torrent client. For the command line.</h4>

<p align="center">
<a href="">
<img src="" alt="Gitter">
<a href="">
<img src="" alt="Travis Build">
<a href="">
<img src="" alt="NPM Version">
<a href="">
<img src="" alt="NPM Downloads">

WebTorrent is the first BitTorrent client that works in the browser, but webtorrent-cli,
i.e. THIS PACKAGE, is for using WebTorrent from the command line.

webtorrent-cli is a simple torrent client for use in node.js, as a command line app. It
uses TCP and UDP to talk to other torrent clients.

NOTE: To connect to "web peers" (browsers) in addition to normal BitTorrent peers, use
webtorrent-hybrid which includes WebRTC
support for node.

To use WebTorrent in the browser, see webtorrent.


  • Use WebTorrent from the command line!
  • Insanely fast
  • Pure Javascript (no native dependencies)
  • Streaming
    • Stream to AirPlay, Chromecast, VLC player, and many other devices/players
    • Fetches pieces from the network on-demand so seeking is supported (even before torrent is finished)
    • Seamlessly switches between sequential and rarest-first piece selection strategy
  • Supports advanced torrent client features


To install a webtorrent command line program, run:

npm install webtorrent-cli -g


$ webtorrent --help

    webtorrent [command] <torrent-id> <options>

    webtorrent download "magnet:..." --vlc

    download <torrent-id>   Download a torrent
    seed <file/folder>      Seed a file or folder
    create <file>           Create a .torrent file
    info <torrent-id>       Show info for a .torrent file or magnet uri

Specify <torrent-id> as one of:
    * magnet uri
    * http url to .torrent file
    * filesystem path to .torrent file
    * info hash (hex string)

Options (streaming):
    --airplay               Apple TV
    --chromecast            Chromecast
    --dlna                  DLNA
    --mplayer               MPlayer
    --mpv                   MPV
    --omx [jack]            omx [default: hdmi]
    --vlc                   VLC
    --xbmc                  XBMC
    --stdout                standard out (implies --quiet)

Options (simple):
    -o, --out [path]        set download destination [default: current directory]
    -s, --select [index]    select specific file in torrent (omit index for file list)
    -t, --subtitles [path]  load subtitles file
    -v, --version           print the current version

Options (advanced):
    -p, --port [number]     change the http server port [default: 8000]
    -b, --blocklist [path]  load blocklist file/http url
    -a, --announce [url]    tracker URL to announce to
    -q, --quiet             don't show UI on stdout
    --keep-seeding          don't quit when done downloading
    --on-done [script]      run script after torrent download is done
    --on-exit [script]      run script before program exit
    --verbose               show torrent protocol details

To download a torrent:

$ webtorrent magnet_uri

To stream a torrent to a device like AirPlay or Chromecast, just pass a flag:

$ webtorrent magnet_uri --airplay

In addition to magnet uris, webtorrent supports many ways to specify a torrent:

  • magnet uri (string)
  • torrent file (buffer)
  • info hash (hex string or buffer)
  • parsed torrent (from parse-torrent)
  • http/https url to a torrent file (string)
  • filesystem path to a torrent file (string)


MIT. Copyright (c) WebTorrent, LLC.

Docker Pull Command
Source Repository