A clone of btpd with my configuration changes.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Richard Nyberg a3933c0761 Unify the write and read structs. There was no good reason to keep them 18 anni fa
btpd peer_on_no_reqs was called unsafely in peer_on_choke. It should only be 18 anni fa
cli The mega whitespace patch. 19 anni fa
misc Unify the write and read structs. There was no good reason to keep them 18 anni fa
CHANGES Set version to 0.7. Update CHANGES. 19 anni fa
COPYRIGHT OMG! It's a new year already! ;) 19 anni fa
Makefile.am Add CHANGES. A file describing changes between versions of btpd. 19 anni fa
README Speling. 19 anni fa
TODO x 19 anni fa
configure.ac Just bump version number. 19 anni fa
hack.mk Import btpd-0.1. 19 anni fa

README

+ PROGRAMS

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 take the "--help" option.

+ DIRECTORY STRUCTURE

foo.torrent
The torrent metainfo file.

foo.torrent.d
Content will be downloaded to, and uploaded from, this dir.
It and its subdirectories and files will be created by
btpd as it downloads them.

foo.torrent.i
Created by 'btcli add'. Contains info on downloaded pieces.

+ SAMPLE USAGE

NOTE: Don't start one instance of btpd per torrent. You should only
need one instance regardless of how many torrents you want to share.

Start btpd:
# btpd

Start downloading or seeding bar.torrent:
# btcli add /path/to/bar.torrent

List active torrents (only bar.torrent atm):
# btcli list

Show some stats:
# btcli stat

Stop downloading/seeding bar.torrent:
# btcli del /path/to/bar.torrent

Shut down btpd (Why would you do such a thing?):
# btcli die

+ BUILDING

Make sure you have recent versions of the following software:
* curl - Get at <URL:http://curl.haxx.se/>
* openssl - Get at <URL:http://www.openssl.org/>
* libevent - Get at <URL:http://www.monkey.org/~provos/libevent/>

You also need a c99 compiler. A non antique GCC should do.

# ./configure
# make
# make install

See ./configure --help for options if it fails.