1055b951f3
trackers do like the new default Mozilla/5.0 (compatible) user agent. so force useragent to hjdicks and give option to override it in case trackers get even more clever in the future.
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).
|