mtorrent-core 0.5.4

Fundamentals for building asynchronous BitTorrent clients
Documentation

CI Crates.io Version docs.rs codecov

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.