the pieces are all requested in order, not implementing a rares first algorithm, and the pieces are all kept in memory until the entire torrent is downloaded. Thus, the code have been written to be as clear and simple as possible, not bothering about efficiency or performance. The purpose with implementing this client was to learn some asyncio and just practice python. If everything goes well, your torrent should be downloaded and the program terminated. In order to download a torrent file, run this command: Install the needed dependencies and run the unit tests with: It seems to relate to the number of concurrent peer connections. The client currently only support downloading of data, although adding the remaining features regarding seeding and multi-file should not be that hard.Įven though it's not practical at this point, feel free to learn from it, steal from it, improve it, laugh at it or just ignore it. See for a walkthrough on the BitTorrent protocol and how pieces works under the hood. It was implemented for fun in order to learn more about BitTorrent as well as Python's asyncio library. The client is not a practical BitTorrent client, it lacks too many features to really be useful. Cannot think of a better way to start.Īn experimental BitTorrent client implemented in Python 3 using asyncio. Basically, This sounded like a fun project and something to borrow from while making tweaking code and going through a project on my own.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |