BTPD(1)

NAME
btpd - BitTorrent Protocol Daemon

SYNOPSIS
btpd [-d dir] [-p port] [OPTIONS...]

DESCRIPTION
Btpd is a utility for sharing files over the BitTorrent network protocol. It runs in daemon mode, thus needing no controlling terminal or gui. Instead, the daemon is controlled by btcli, its control utility, or other programs capable of sending commands and queries on the control socket.

btpd consists of the following programs:
    btpd - The bittorrent client.
    btcli - Command line interface to btpd.
    btinfo - Shows information from a torrent file.

All programs accept the --help option.

OPTIONS

-d dir
    The path for the btpd directory. Default is $HOME/.btpd.

-p n, --port n
    Listen at port n. Default is 6881.

--help [mode]
    Show this text or help for the specified mode.

-4  Use IPv4. If given in conjunction with -6, both versions are used.

-6  Use IPv6. By default IPv4 is used. Unfortunately enabling both IPv6 and IPv4 in btpd is less useful than it should be. The problem is that some sites have trackers for both versions and it's likely that the IPv6 one, which probably has less peers, will be used in favour of the IPv4 one.

--bw-in n
    Limit incoming BitTorrent traffic to n kB/s. Default is 0 which means unlimited.

--bw-out n
    Limit outgoing BitTorrent traffic to n kB/s. Default is 0 which means unlimited.

--empty-start
    Start btpd without any active torrents.

--ip addr
    Let the tracker distribute the given address instead of the one it sees btpd connect from.

--ipcprot mode
    Set the protection mode of the command socket. The mode is specified by an octal number. Default is 0600.

--logfile file
    Where to put the logfile. By default it's put in the btpd dir.

--max-peers n
    Limit the amount of peers to n.

--max-uploads n
    Controls the number of simultaneous uploads. The possible values are:
    n < -1 : Choose n >= 2 based on --bw-out (default).
    n = -1 : Upload to every interested peer.
    n = 0 : Dont't upload to anyone.
    n > 0 : Upload to at most n peers simultaneously.

--no-daemon
    Keep the btpd process in the foregorund and log to std{out,err}. This option is intended for debugging purposes.

--prealloc n
    Preallocate disk space in chunks of n kB. Default is 2048. Note that n will be rounded up to the closest multiple of the torrent piece size. If n is zero no preallocation will be done.

STARTING BTPD
To start btpd with default settings you only need to run it. However, there are many useful options you may want to use. To see a full list run btpd --help. If you didn't specify otherwise, btpd starts with the same set of active torrents as it had the last time it was shut down.

btdp will store information and write its log in $HOME/.btpd. Therefore it needs to be able to write there during its execution. You can specify another directory via the -d option or the $BTPD_HOME variable.

It is recommended to specifiy the maximum number of uploads. Bittorrent employs a tit for tat algorithm, so uploading at good rates allows for downloading. Try to find a balance between uploads/outgoing bandwidth and the number of active torrents.

Note: You should only need one instance of btpd regardless of how many torrents you want to share.

EXAMPLES
Start btpd with all options set to their default values.
    $ btpd

Start btpd as above, but with torrent data in the directory /var/torrents
    $ btpd -d /var/torrents

Start btpd and make it listen on port 12345, limit outgoing bandwidth to 200kB/s, limit the number of peers to 40 and not start any torrents that were active the last time btpd was shut down.
    $ btpd -p 12345 --bw-out 200 --max-peers 40 --empty-start

TROUBLESHOOTING
If btpd has shut down for some unknown reason, check the logfile for possible clues.

BUGS
Known bugs are listed at http://github.com/queueRAM/btpd/issues

Before submitting a bug report, please verify that you are running the latest version of btpd.

AUTHORS

Current maintainers:

- Marq Schneider <queueRAM@gmail.com>

Past contributors:

- Richard Nyberg <btpd@murmeldjur.se>

SEE ALSO
btcli(1) btinfo(1)