MonoTorrent
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
- BEP 3 - The BitTorrent Protocol Specification. (Alternative specification)
- BEP 20 - Peer ID Conventions
Accepted BEPs
- BEP 5 - DHT Protocol
- BEP 6 - Fast Extension
- BEP 7 - IPv6 Tracker Extension
- BEP 9 - Extension for Peers to Send Metadata Files
- BEP 10 - Extension Protocol
- BEP 11 - Peer Exchange (PEX)
- BEP 12 - Multitracker Metadata Extension
- BEP 14 - Local Service/Peer Discovery
- BEP 15 - UDP Tracker Protocol
- BEP 19 - HTTP/FTP/Web Seeding (GetRight-style)
- BEP 23 - Tracker Returns Compact Peer Lists
- BEP 27 - Private Torrents
Draft BEPs
- BEP 16 - Superseeding
- BEP 48 - Tracker Protocol Extension: Scrape
- BEP 47 - Padding files and extended file attributes
- BEP 52 - The BitTorrent Protocol Specification v2
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).
-
Partial Hash Checking. If a
TorrentFile
has itsPriority
set toDoNotDownload
then these files will be skipped when the hash check runs. If the priority is raised then the files will be automatically hash checked (if needed) before any piece is downloaded. -
Sparse files (NTFS filesystem).
-
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.
JetBrains
A special thank you to JetBrains for supplying a free license to their tooling so I can continue to deliver great features on this opensource project.
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]