Sophia Davis
Summer 2014
This program uses UDP protocol to connect to one tracker and download files from other peers connected to that tracker. Both single and multi-file torrents are supported.
I approached this project as suggested by Kristin Widman in her awesome blog post. For more information, the spec is very useful, as is the unofficial wiki spec.
Functions for the initial processing of metainfo files (bencoding, length calculation, etc.) was heavily tested. After that I mostly relied on direct interaction with the tracker and peers.
python session.py metainfo_file.torrent Download/Path