.TH "debtorrent-client" "1" .SH "NAME" debtorrent-client \(em download files using a scatter-gather network .SH "SYNOPSIS" .PP \fBdebtorrent-client\fR [\fBoptions\fP \&...] .SH "DESCRIPTION" .PP This manual page documents briefly the options available to the debtorrent-client command. .PP \fBdebtorrent-client\fR is a daemon that listens for requests for packages from APT, and then downloads them using bittorrent, a peer-to-peer, scatter-gather network protocol. .PP In order for APT to send it's requests to debtorrent-client, the source.list entries must be modified to point to the debtorrent-client proxy address. If debtorrent-client is running on this machine, then adding "localhost:9988/" to the beginning of each entry should be sufficient. For example, if your sources.list contains a line like this: .PP deb http://ftp.us.debian.org/debian etch main contrib non-free .PP then replace it with this: .PP deb http://localhost:9988/ftp.us.debian.org/debian etch main contrib non-free .PP The port can be changed in the debtorrent-client config file in /etc/debtorrent/debtorrent-client.conf, or using the "\-\-port" command-line option described below, but it defaults to 9988. .SH "OPTIONS" .PP These programs follow the usual GNU command line syntax, with long options starting with two dashes (`\-\-'). A summary of options is included below. For more detail, see the configuration file in /etc/debtorrent. .SS "CONFIG FILES" .IP "\fB\-\-configfile \fIfilename\fR\fP" 10 the \fIfilename\fR to use for the configuration file, if not specified then a file in /etc/debtorrent will be used, followed by a file in the .DebTorrent directory in the user's home directory .IP "\fB\-\-save_options\fP 0|1" 10 whether to save the current options as the new default configuration for the current program (defaults to 0) .SS "LOCATIONS" .IP "\fB\-\-download_dir \fIdirectory\fR\fP" 10 the local \fIdirectory\fR to save the downloads in, if left blank the default of the user's home directory will be used .IP "\fB\-\-saveas_style\fP 1|2" 10 how to name the torrent download directories, 1 = mirror_dists_suite_section_binary-arch, 2 = mirror (experimental) .IP "\fB\-\-cache_dir \fIdirectory\fR\fP" 10 the local \fIdirectory\fR to save cache data in, if left blank then a .DebTorrent directory in the user's home directory will be used .IP "\fB\-\-expire_cache_data \fIdays\fR\fP" 10 the number of \fIdays\fR after which you wish to expire old cache data (0 = disabled) (defaults to 30) .IP "\fB\-\-log_dir \fIdirectory\fR\fP" 10 the local \fIdirectory\fR to save log files in, if left blank then the cache directory will be used .IP "\fB\-\-log_level \fIlevel\fR\fP" 10 log messages that are greater than or equal to \fIlevel\fR to log files, the basic log levels are 50 (critical), 40 (errors), 30 (warnings), 20 (info), and 10 (debug) (the default is 20) .SS "RATE LIMIITS" .IP "\fB\-\-max_upload_rate \fIkB/s\fR\fP" 10 the maximum \fIkB/s\fR to upload at (0 = no limit, \-1 = automatic) (defaults to 0) .IP "\fB\-\-max_download_rate \fIkB/s\fR\fP" 10 the maximum \fIkB/s\fR to download at (0 = no limit) (defaults to 0) .IP "\fB\-\-upload_rate_fudge \fIseconds\fR\fP" 10 the time equivalent in \fIseconds\fR of writing to kernel-level TCP buffer, for rate adjustment (defaults to 5.0) .IP "\fB\-\-tcp_ack_fudge \fIoverhead\fR\fP" 10 how much TCP ACK download \fIoverhead\fR to add to upload rate calculations (0 = disabled) (defaults to 0.029999999999999999) .IP "\fB\-\-max_rate_period \fIseconds\fR\fP" 10 the maximum number of \fIseconds\fR to use in guessing what the current rate estimate represents (defaults to 20.0) .IP "\fB\-\-upload_unit_size \fIbytes\fR\fP" 10 when limiting the upload rate, the number of \fIbytes\fR to send at a time (defaults to 1460) .SS "TORRENT CONNECTIONS" .IP "\fB\-\-bind \fIip\fR|\fIhostname\fR[,\fIip\fR|\fIhostname\fR ...]\fP" 10 a comma-separated list of \fIips\fR and \fIhostnames\fR to bind to locally to listen for peer connections (defaults to '') .IP "\fB\-\-ip \fIip\fR\fP" 10 the \fIip\fR to report you have to the tracker (defaults to '') .IP "\fB\-\-minport \fIport\fR\fP" 10 the minimum \fIport\fR to listen on (defaults to 10000) .IP "\fB\-\-maxport \fIport\fR\fP" 10 the maximum \fIport\fR to listen on (defaults to 60000) .IP "\fB\-\-random_port\fP 0|1" 10 whether to choose randomly inside the port range (instead of counting up linearly from min to max) (defaults to 1) .IP "\fB\-\-ipv6_enabled\fP 0|1" 10 whether to allow the client to connect to peers via IPv6 (defaults to 0) .IP "\fB\-\-ipv6_binds_v4\fP 0|1" 10 set if an IPv6 server socket won't also field IPv4 connections (defaults to 0) .IP "\fB\-\-timeout \fIseconds\fR\fP" 10 the number of \fIseconds\fR to wait between closing sockets which nothing has been received on (defaults to 300.0) .IP "\fB\-\-timeout_check_interval \fIseconds\fR\fP" 10 the number of \fIseconds\fR to wait between checking if any connections have timed out (defaults to 60.0) .SS "ENCRYPTION" .IP "\fB\-\-crypto_allowed\fP 0|1" 10 whether to allow the client to accept encrypted connections. (defaults to 0) .IP "\fB\-\-crypto_only\fP 0|1" 10 whether to only create or allow encrypted connections. (defaults to 0) .IP "\fB\-\-crypto_stealth\fP 0|1" 10 whether to prevent all non-encrypted connection attempts; will result in an effectively firewalled state on older trackers. (defaults to 0) .SS "APT REQUESTS" .IP "\fB\-\-port \fIport\fR\fP" 10 the \fIport\fR to listen on (defaults to 9988) .IP "\fB\-\-apt_bind \fIip\fR|\fIhostname\fR[,\fIip\fR|\fIhostname\fR ...]\fP" 10 a comma-separated list of \fIips\fR and \fIhostnames\fR to bind to locally to listen for requests from Apt clients (defaults to '') .IP "\fB\-\-show_infopage\fP 0|1" 10 whether to display an info page when the tracker's root dir is loaded (defaults to 1) .IP "\fB\-\-infopage_redirect \fIURL\fR\fP" 10 redirect the info page to this \fIURL\fR (defaults to '') .IP "\fB\-\-favicon \fIfilename\fR\fP" 10 the \fIfilename\fR containing x-icon data to return when browser requests favicon.ico (defaults to '') .IP "\fB\-\-display_path\fP 0|1" 10 whether to display the full path or the torrent contents for each torrent (defaults to 1 for \fBbtlaunchmany\fR, 0 for \fBbtlaunchmanycurses\fR) .IP "\fB\-\-allow_get\fP 0|1" 10 use with allowed_dir; adds a /file?hash=\fIhash\fR URL that allows users to download the torrent file (defaults to 0) .IP "\fB\-\-min_time_between_log_flushes \fIseconds\fR\fP" 10 the minimum number of \fIseconds\fR it must have been since the last flush to do another one (defaults to 3.0) .IP "\fB\-\-hupmonitor\fP 0|1" 10 whether to reopen the log file upon receipt of HUP signal (defaults to 0) .IP "\fB\-\-allowed_ips \fIfile\fR\fP" 10 only allow connections from IPs specified in the given \fIfile\fR, which contains subnet data in the format: aa.bb.cc.dd/len (defaults to '') .IP "\fB\-\-banned_ips \fIfile\fR\fP" 10 don't allow connections from IPs specified in the given \fIfile\fR, which contains IP range data in the format: xxx:xxx:ip1-ip2 (defaults to '') .IP "\fB\-\-parse_ip_files \fIseconds\fR\fP" 10 number of \fIseconds\fR between reloading of allowed and banned IP lists (defaults to 60) .SS "OTHER THINGS" .IP "\fB\-\-disable_http_downloader\fP 0|1" 10 whether to disable the backup HTTP downloader, WARNING: for testing purposes only (defaults to 0) .IP "\fB\-\-separate_all\fP 0|1|2|3" 10 whether to separate the architecture:all packages into a separate torrent, 0 = don't separate, 1 = separate, run architecture:all, 2 = separate, run non-architecture:all torrent, 3 = separate, run both .IP "\fB\-\-pieces_url \fIURL\fR\fP" 10 the remote \fIURL\fR to use to fetch information on the splitting of large packages into pieces .IP "\fB\-\-long_lived_torrent_url \fIURL\fR\fP" 10 the remote \fIURL\fR to use to fetch information on creating a long-lived torrent for testing or unstable using unique piece numbers .SH "ADVANCED OPTIONS" .PP WARNING: The options below control some of the inner workings of the bittorrent client. You should not need to change any of them, and it is NOT recommended that you change them unless you are VERY familiar with bittorrent, as poor choices for some of the variables can have bad results, such as other clients refusing to connect to you. .SS "BITTORRENT OPTIONS" .IP "\fB\-\-keepalive_interval \fIseconds\fR\fP" 10 the number of \fIseconds\fR to pause between sending keepalives (defaults to 120.0) .IP "\fB\-\-download_slice_size \fIbytes\fR\fP" 10 the number of \fIbytes\fR to query for per request (defaults to 16384) .IP "\fB\-\-max_slice_length \fIlength\fR\fP" 10 the maximum \fIlength\fR slice to send to peers, larger requests are ignored (defaults to 131072) .IP "\fB\-\-max_message_length \fIlength\fR\fP" 10 the maximum \fIlength\fR prefix encoding you'll accept over the wire. Larger values will get the connection dropped. (defaults to 8388608) .IP "\fB\-\-rarest_first_cutoff \fInumber\fR\fP" 10 the \fInumber\fR of downloads at which to switch from random to rarest first (defaults to 2) .IP "\fB\-\-rarest_first_priority_cutoff \fInumber\fR\fP" 10 the \fInumber\fR of peers which need to have a piece before other partials take priority over rarest first (defaults to 5) .IP "\fB\-\-breakup_seed_bitfield\fP 0|1" 10 whether to send an incomplete bitfield and then 'have' messages, in order to get around stupid ISP manipulation (defaults to 1) .IP "\fB\-\-snub_time \fIseconds\fR\fP" 10 the number of \fIseconds\fR to wait for data to come in over a connection before assuming it's semi-permanently choked (defaults to 30.0) .SS "INCENTIVE MECHANISM" .IP "\fB\-\-max_uploads \fInumber\fR\fP" 10 the maximum \fInumber\fR of uploads to allow at once (defaults to 7) .IP "\fB\-\-min_uploads \fInumber\fR\fP" 10 the \fInumber\fR of uploads to fill out to with extra optimistic unchokes (defaults to 4) .IP "\fB\-\-round_robin_period \fIseconds\fR\fP" 10 the number of \fIseconds\fR between the client switching upload targets (defaults to 30) .IP "\fB\-\-auto_kick\fP 0|1" 10 whether to allow the client to automatically kick/ban peers that send bad data (defaults to 1) .IP "\fB\-\-security\fP 0|1" 10 whether to enable extra security features intended to prevent abuse (defaults to 1) .SS "TRACKER CONNECTIONS" .IP "\fB\-\-default_tracker \fIannounce\fR\fP" 10 the default tracker \fIannounce\fR address to use for new torrents that don't specify one (defaults to 'http://dttracker.debian.net:6969/announce') .IP "\fB\-\-force_tracker \fIannounce\fR\fP" 10 if set, this will force all new torrents to use this \fIannounce\fR address for the tracker, regardless of the one specified for the torrent (defaults to '') .IP "\fB\-\-rerequest_interval \fIseconds\fR\fP" 10 the number of \fIseconds\fR between requesting more peers (defaults to 300) .IP "\fB\-\-min_peers \fInumber\fR\fP" 10 make tracker requests every \-\-rerequest_interval until this \fInumber\fR has been reached, then switch to the standard longer interval (defaults to 20) .IP "\fB\-\-max_initiate \fInumber\fR\fP" 10 the \fInumber\fR of peers at which to stop initiating new connections (defaults to 40) .IP "\fB\-\-max_connections \fInumber\fR\fP" 10 the absolute maximum \fInumber\fR of peers to connect with (0 = no limit) (defaults to 0) .IP "\fB\-\-http_timeout \fIseconds\fR\fP" 10 the number of \fIseconds\fR to wait before assuming that an http connection has timed out (defaults to 60) .SS "FILE SYSTEM" .IP "\fB\-\-buffer_reads\fP 0|1" 10 whether to buffer disk reads (defaults to 1) .IP "\fB\-\-write_buffer_size \fIspace\fR\fP" 10 the maximum amount of \fIspace\fR to use for buffering disk writes (in megabytes, 0 = disabled) (defaults to 4) .IP "\fB\-\-max_files_open \fInumber\fR\fP" 10 the maximum \fInumber\fR of files to keep open at a time, 0 means no limit (defaults to 50) .IP "\fB\-\-check_hashes\fP 0|1" 10 whether to check hashes on disk (defaults to 1) .IP "\fB\-\-double_check\fP 0|1" 10 whether to double-check data being written to the disk for errors (may increase CPU load) (defaults to 1) .IP "\fB\-\-triple_check\fP 0|1" 10 whether to thoroughly check data being written to the disk (may slow disk access) (defaults to 0) .IP "\fB\-\-lock_files\fP 0|1" 10 whether to lock files the client is working with (defaults to 1) .IP "\fB\-\-lock_while_reading\fP 0|1" 10 whether to lock access to files being read (defaults to 0) .IP "\fB\-\-auto_flush \fIminutes\fR\fP" 10 the number of \fIminutes\fR between automatic flushes to disk (0 = disabled) (defaults to 0) .SS "ADVANCED FEATURES" .IP "\fB\-\-super_seeder\fP 0|1" 10 whether to use special upload-efficiency-maximizing routines (only for dedicated seeds) (defaults to 0) .IP "\fB\-\-dedicated_seed_id \fIcode\fR\fP" 10 the \fIcode\fR to send to a tracker, identifying as a dedicated seed (defaults to '') .SH "SEE ALSO" .PP \fBdebtorrent-tracker\fP\fB(1)\fP .SH "AUTHOR" .PP This manual page was written by Cameron Dale for the \fBDebian\fP system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. .PP On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. .\" created by instant / docbook-to-man, Sun 21 Mar 2010, 05:05