157 lines
3.1 KiB
Text
157 lines
3.1 KiB
Text
.TH TORRENT 1
|
|
.SH NAME
|
|
torrent \- bittorrent client
|
|
.SH SYNOPSIS
|
|
.B ip/torrent
|
|
[
|
|
.B -d
|
|
] [
|
|
.B -v
|
|
] [
|
|
.B -p
|
|
] [
|
|
.B -m
|
|
.I mtpt
|
|
] [
|
|
.B -t
|
|
.I tracker-url
|
|
] [
|
|
.B -w
|
|
.I webseed-url
|
|
] [
|
|
.B -s
|
|
] [
|
|
.B -c
|
|
] [
|
|
.B -i
|
|
.I peer-id
|
|
] [
|
|
.B -A
|
|
.I user-agent
|
|
] [
|
|
.I file
|
|
]
|
|
.SH 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.
|
|
.PP
|
|
To find other clients (peers), a tracker-server is
|
|
contacted.
|
|
.PP
|
|
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.
|
|
.PP
|
|
This is done with the
|
|
.B -c
|
|
option. If provided,
|
|
.I torrent
|
|
reads the file given at the final
|
|
.I file
|
|
argument (or standard-input when omitted) and writes
|
|
a torrent file to standard-output and exits.
|
|
A
|
|
.I tracker-url
|
|
should be given with the
|
|
.B -t
|
|
option in that case. A list of trackers can be obtained
|
|
on the web, see the examples below.
|
|
.PP
|
|
If the files in the torrent are also available from a url, a
|
|
.I webseed-url
|
|
can be passed with the
|
|
.B -w
|
|
option. If
|
|
.I webseed-url
|
|
ends with a slash, the filename, from the torrent, concatenated
|
|
with the url forms the target url.
|
|
.PP
|
|
Without the
|
|
.B -c
|
|
option,
|
|
.I torrent
|
|
downloads the files that are described in the torrent-file
|
|
given by the
|
|
.I file
|
|
argument to the current working directory. If no
|
|
.I file
|
|
is given, the torrent is read from standard-input.
|
|
.PP
|
|
Normally, the program exits immediately after all pieces
|
|
have been completed.
|
|
The
|
|
.B -s
|
|
option causes it to keep running and serve the remaining
|
|
clients (also known as seeding).
|
|
.PP
|
|
Trackers use a subset of the HTTP protocol, so an
|
|
alternative
|
|
.IR webfs (4)
|
|
mountpoint can be given with the
|
|
.B -m
|
|
option (defaults to
|
|
.BR /mnt/web ).
|
|
.PP
|
|
The
|
|
.B -v
|
|
option causes
|
|
.I torrent
|
|
to list the files in the torrent-file before downloading.
|
|
.PP
|
|
The
|
|
.B -d
|
|
option produces verbose debug output to standard-error.
|
|
.PP
|
|
To monitor the download progress, the
|
|
.B -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.
|
|
.PP
|
|
The
|
|
.B -i
|
|
option allows you to set the 20-byte
|
|
.I peer-id
|
|
that is sent to trackers and peers. If less than 20 bytes, the
|
|
.I peer-id
|
|
will be padded on the right with random ASCII numbers. The
|
|
.B -A
|
|
option allows setting the http
|
|
.I user-agent
|
|
string that is used to contact the tracker. These options are
|
|
useful to fool trackers that filter clients based on the
|
|
.I peer-id
|
|
or
|
|
.I user-agent
|
|
.
|
|
.SH EXAMPLES
|
|
Create new torrent file
|
|
.EX
|
|
ip/torrent -t http://exodus.desync.com/announce \\
|
|
-c 9atom.iso >9atom.torrent
|
|
.EE
|
|
.LP
|
|
Download the latest iso file of the distribution
|
|
.EX
|
|
cd /tmp
|
|
hget http://r-36.net/9front/9front.iso.bz2.torrent | \\
|
|
ip/torrent -pv | \\
|
|
aux/statusbar 'download...'
|
|
.EE
|
|
.LP
|
|
Get list of public alive trackers to choose from
|
|
.EX
|
|
hget http://www.trackon.org/api/live
|
|
.EE
|
|
.LP
|
|
.SH SOURCE
|
|
.B /sys/src/cmd/ip/torrent.c
|
|
.SH "SEE ALSO"
|
|
.IR hget (1),
|
|
.IR webfs (4)
|
|
.SH HISTORY
|
|
.I Torrent
|
|
first appeared in 9front (October, 2011).
|