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 contacted.

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, concatenated 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 torrent is read from standard-input.

Normally, the program exits immediately after all pieces have been completed. The -s option causes it to keep running and serve the remaining clients (also known as seeding).

Trackers use a subset of the HTTP protocol, so an alternative 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.

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 numbers. 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 http://www.trackon.org/api/live

SOURCE

/sys/src/cmd/ip/torrent.c

SEE ALSO

hget(1), webfs(4)

HISTORY

Torrent first appeared in 9front (October, 2011).