TORRENT(1) TORRENT(1)
NAME
torrent - bittorrent client
SYNOPSIS
ip/torrent [ -d ] [ -v ] [ -p ] [ -m mtpt ] [ -t tracker-url
] [ -w webseed-url ] [ -s ] [ -c ] [ -i peer-id ] [ -A
user-agent ] [ file ]
DESCRIPTION
BitTorrent is a protocol for efficient file distribution
over the internet. Files are split into small pieces that
are then downloaded by clients in random order. As soon as
a client completes a piece, it makes the piece available for
others to download.
To find other clients (peers), a tracker-server is con-
tacted.
Before files can be transmitted, a torrent-file needs to be
created describing the pieces of the files and other meta-
data like network addresses of the trackers.
This is done with the -c option. If provided, torrent reads
the file given at the final file argument (or standard-input
when omitted) and writes a torrent file to standard-output
and exits. A tracker-url should be given with the -t option
in that case. A list of trackers can be obtained on the web,
see the examples below.
If the files in the torrent are also available from a url, a
webseed-url can be passed with the -w option. If webseed-url
ends with a slash, the filename, from the torrent, concate-
nated with the url forms the target url.
Without the -c option, torrent downloads the files that are
described in the torrent-file given by the file argument to
the current working directory. If no file is given, the tor-
rent is read from standard-input.
Normally, the program exits immediately after all pieces
have been completed. The -s option causes it to keep run-
ning and serve the remaining clients (also known as seed-
ing).
Trackers use a subset of the HTTP protocol, so an alterna-
tive webfs(4) mountpoint can be given with the -m option
(defaults to /mnt/web).
The -v option causes torrent to list the files in the
torrent-file before downloading.
Page 1 Plan 9 (printed 11/3/25)
TORRENT(1) TORRENT(1)
The -d option produces verbose debug output to standard-
error.
To monitor the download progress, the -p option can be given
to cause the completed and total number of pieces written as
a line of text to standard-output in one second intervals.
The -i option allows you to set the 20-byte peer-id that is
sent to trackers and peers. If less than 20 bytes, the
peer-id will be padded on the right with random ASCII num-
bers. The -A option allows setting the http user-agent
string that is used to contact the tracker. These options
are useful to fool trackers that filter clients based on the
peer-id or user-agent
EXAMPLES
Create new torrent file
ip/torrent -t http://exodus.desync.com/announce \
-c 9atom.iso >9atom.torrent
Download the latest iso file of the distribution
cd /tmp
hget http://r-36.net/9front/9front.iso.bz2.torrent | \
ip/torrent -pv | \
aux/statusbar 'download...'
Get list of public alive trackers to choose from
hget https://newtrackon.com/api/live
SOURCE
/sys/src/cmd/ip/torrent.c
SEE ALSO
hget(1), webfs(4)
HISTORY
Torrent first appeared in 9front (October, 2011).
Page 2 Plan 9 (printed 11/3/25)