webtorrent / Webtorrent Cli
Programming Languages
Projects that are alternatives of or similar to Webtorrent Cli
WebTorrent CLI
The streaming torrent client. For the command line.
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
.
Features
- Use WebTorrent from the command line!
- Insanely fast
- Pure Javascript (no native dependencies)
- Streaming
- Stream to AirPlay, Chromecast, VLC player, IINA, 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
- magnet uri support via ut_metadata
- peer discovery via dht, tracker, and ut_pex
- protocol extension api for adding new extensions
Install
To install a webtorrent
command line program, run:
npm install webtorrent-cli -g
Usage
$ webtorrent --help
_ _ _
__ _____| |__ | |_ ___ _ __ _ __ ___ _ __ | |_
\ \ /\ / / _ \ '_ \| __/ _ \| '__| '__/ _ \ '_ \| __|
\ V V / __/ |_) | || (_) | | | | | __/ | | | |_
\_/\_/ \___|_.__/ \__\___/|_| |_| \___|_| |_|\__|
Usage:
webtorrent [command] <torrent-id> <options>
Example:
webtorrent download "magnet:..." --vlc
Commands:
download <torrent-id...> Download a torrent
downloadmeta <torrent-id...> Download torrent metafile and save it usually from magnet link
seed <file/folder...> Seed a file or folder
create <file/folder> 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
--iina IINA
--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
--pip enter Picture-in-Picture if supported by the player
--not-on-top don't set "always on top" option in player
--keep-seeding don't quit when done downloading
--no-quit don't quit when player exits
--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)
License
MIT. Copyright (c) Feross Aboukhadijeh and WebTorrent, LLC.