3 torrent \- bittorrent client
35 BitTorrent is a protocol for efficient file distribution
36 over the internet. Files are split into small pieces
37 that are then downloaded by clients in random order.
38 As soon as a client completes a piece, it makes the piece
39 available for others to download.
41 To find other clients (peers), a tracker-server is
44 Before files can be transmitted, a torrent-file needs
45 to be created describing the pieces of the files and
46 other meta-data like network addresses of the trackers.
52 reads the file given at the final
54 argument (or standard-input when omitted) and writes
55 a torrent file to standard-output and exits.
58 should be given with the
60 option in that case. A list of trackers can be obtained
61 on the web, see the examples below.
63 If the files in the torrent are also available from a url, a
65 can be passed with the
69 ends with a slash, the filename, from the torrent, concatenated
70 with the url forms the target url.
76 downloads the files that are described in the torrent-file
79 argument to the current working directory. If no
81 is given, the torrent is read from standard-input.
83 Normally, the program exits immediately after all pieces
87 option causes it to keep running and serve the remaining
88 clients (also known as seeding).
90 Trackers use a subset of the HTTP protocol, so an
93 mountpoint can be given with the
102 to list the files in the torrent-file before downloading.
106 option produces verbose debug output to standard-error.
108 To monitor the download progress, the
110 option can be given to cause the completed and total number of
111 pieces written as a line of text to standard-output in one
116 option allows you to set the 20-byte
118 that is sent to trackers and peers. If less than 20 bytes, the
120 will be padded on the right with random ASCII numbers. The
122 option allows setting the http
124 string that is used to contact the tracker. These options are
125 useful to fool trackers that filter clients based on the
131 Create new torrent file
133 ip/torrent -t http://exodus.desync.com/announce \\
134 -c 9atom.iso >9atom.torrent
137 Download the latest iso file of the distribution
140 hget http://r-36.net/9front/9front.iso.bz2.torrent | \\
142 aux/statusbar 'download...'
145 Get list of public alive trackers to choose from
147 hget http://www.trackon.org/api/live
151 .B /sys/src/cmd/ip/torrent.c
157 first appeared in 9front (October, 2011).