mtorrent-core
A collection of basic types for building asynchronous Tokio-based BitTorrent clients. Some of the features:
- peer wire protocol over TCP and uTP, using IPv4 or IPv6
- extended message protocol and Peer Exchange
- opt-in protocol encryption (aka message stream encryption)
- tracker protocol over HTTP and UDP, using IPv4 or IPv6
- parsing of metainfo files and magnet links
- rarest-first algorithm for downloading and seeding pieces
- storage and filesystem operations for reading and writing torrent data
- management of the states of connected peers
This crate is a part of the mtorrent client and examples of its usage can be found here. Note that most of the types must be used inside a tokio::LocalRuntime.