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