/monotorrent

The official repository for MonoTorrent, a bittorrent library for .NET

Primary LanguageC#OtherNOASSERTION

MonoTorrent

NuGet version

Build status

Supported Specifications

This is a list of all the BEPs which have been implemented in MonoTorrent. A full list of all available BEPs can be seen here

Final/Active BEPs

Accepted BEPs

Draft BEPs

Others

Supported Client Features

The client downloads torrents and has a wide range of functionality.

  • Prioritise specific files.

  • Selective file downloading (including the ability to not download specific files).

  • Rarest first piece picking (takes priorisation into account).

  • End-game mode to boost the last 1-2% of the download.

  • Sequential downloading (for media files).

  • Per-torrent download/upload rate limiting.

  • Overall download/upload rate limiting.

  • In memory cache to reduce disk reads.

  • Auto-throttling if the download rate exceeds the piece verification/disk write rate.

  • IPV4 connections.

  • IPV6 connections.

  • IP address ban lists.

  • Creating torrents from a single file, a folder, or arbitrary files in arbitrary folders.

  • Fast resume data can be saved/restored to avoid hashing the data every time a torrent is started.

  • Incremental piece hashing (reduces disk reads by incrementally hashing each block in a piece as it is received).

  • Sparse files (NTFS filesystem).

  • UPnP port forwarding.

  • NAT-PMP port forwarding.

  • Creating and using Magnet URI.

Supported Tracker Features

This is a standard bittorrent tracker server.

  • HTTP announce and scrape requests.
  • UDP announce and scrape requests.
  • Compact peer responses (reduces bandwidth)
  • Optionally allows unregistered torrents. In this mode the tracker will begin maintaining peer lists for a torrent as soon as the first announce request is received.