A BitTorrent client written in Python using Twisted. I found the unofficial spec and this blog post incredibly useful. Official spec is here.
###How to use
- Devoloped on Python 2.7.5
pip install -r requirements.txt
python bt.py path/to/torrent.torrent
###What works
- Creation of all messages
- Parsing and processing of incoming bitfield, have, piece, choke, unchoke, interested, and not-interested messages.
- Downloading a single file from multiple peers.
###What doesn't (yet)
- Processing incoming request messages and sending piece responses (seeding).
- Error handling of bad data or malicious peers.
- Multiple file downloads.