MonoTorrent 2.0.0-alpha.unstable.rev0107

MonoTorrent is a cross platform and open source implementation of the BitTorrent protocol. It supports many advanced features such as Encryption, DHT, Peer Exchange, Web Seeding and Magnet Links.
Notable features include:
-Encryption
-Dht
-Peer Exchange (uTorrent style)
-Local Peer Discovery
-Web Seeding (getright style)
-Magnet Links / Metadata download
-IPV6
-FAST Extensions
-Sparse files (NTFS file system)
-Multi-tracker torrents
-Compact tracker responses
-IP Address white listing / black listing
-Fast Resume
-Initial Seeding (super seeding)
-Selective downloading
-Prioritised downloading
-Full bittorrent tracker
-Dynamic request queue size
-Memory Cache
-Endgame mode
-Per torrent and global rate limiting
-Individual file relocation

This is a prerelease version of MonoTorrent.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package MonoTorrent -Version 2.0.0-alpha.unstable.rev0107
dotnet add package MonoTorrent --version 2.0.0-alpha.unstable.rev0107
<PackageReference Include="MonoTorrent" Version="2.0.0-alpha.unstable.rev0107" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MonoTorrent --version 2.0.0-alpha.unstable.rev0107
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MonoTorrent, 2.0.0-alpha.unstable.rev0107"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install MonoTorrent as a Cake Addin
#addin nuget:?package=MonoTorrent&version=2.0.0-alpha.unstable.rev0107&prerelease

// Install MonoTorrent as a Cake Tool
#tool nuget:?package=MonoTorrent&version=2.0.0-alpha.unstable.rev0107&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

General

  • Refactored the piece picking API to simplify the way custom picking algorithms can be implemented. IPiecePicker is responsible for tracking which blocks have been requested from each peer. IPieceRequester is responsible for determining how to prioritise piece requests, and which peer to attempt to download new blocks from.

For example the StreamingPieceRequester uses StandardPicker to prioritise pieces which are needed immediately by issuing multiple requests for blocks in those pieces, and by requesting them off peers who have high transfer rates. It then limits the number of outstanding requests for lower priority pieces so that it can react quickly if the user seeks to a new position in the stream.

Similarly, the StandardPieceRequester uses a StandardPicker to implement normal bittorrent rarest-first downloading logic. The standard requester will also automatically begin issuing duplicate requests for blocks once every block has been requested at least once.

The same StandardPicker is used by bother IPieceRequester implementations as it is flexible enough to support nearly every usecase.

  • Some small fixes around the new immutable API for setting allowed encyption types.
  • Add the necessary API to set EngineSettings.DiskCacheBytes and ensured this can be set to 0 to disable the in-memory disk cache. This is now off by default as it is still experimental.

General

  • Refactored the piece picking API to simplify the way custom picking algorithms can be implemented. IPiecePicker is responsible for tracking which blocks have been requested from each peer. IPieceRequester is responsible for determining how to prioritise piece requests, and which peer to attempt to download new blocks from.

For example the StreamingPieceRequester uses StandardPicker to prioritise pieces which are needed immediately by issuing multiple requests for blocks in those pieces, and by requesting them off peers who have high transfer rates. It then limits the number of outstanding requests for lower priority pieces so that it can react quickly if the user seeks to a new position in the stream.

Similarly, the StandardPieceRequester uses a StandardPicker to implement normal bittorrent rarest-first downloading logic. The standard requester will also automatically begin issuing duplicate requests for blocks once every block has been requested at least once.

The same StandardPicker is used by bother IPieceRequester implementations as it is flexible enough to support nearly every usecase.

  • Some small fixes around the new immutable API for setting allowed encyption types.
  • Add the necessary API to set EngineSettings.DiskCacheBytes and ensured this can be set to 0 to disable the in-memory disk cache. This is now off by default as it is still experimental.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MonoTorrent:

Package Downloads
H.Runners.TorrentRunner
Allows you to download torrents.
BitTorrentStorage
Bit Torrent Storage

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on MonoTorrent:

Repository Stars
Radarr/Radarr
A fork of Sonarr to work with movies à la Couchpotato.
lidarr/Lidarr
Looks and smells like Sonarr but made for music.
Readarr/Readarr
Book Manager and Automation (Sonarr for Ebooks)

Version History

Version Downloads Last updated
2.0.0-alpha.unstable.rev0193 41 4/3/2021
2.0.0-alpha.unstable.rev0192 55 4/2/2021
2.0.0-alpha.unstable.rev0167 60 3/18/2021
2.0.0-alpha.unstable.rev0147 63 3/13/2021
2.0.0-alpha.unstable.rev0132 67 2/25/2021
2.0.0-alpha.unstable.rev0123 66 2/20/2021
2.0.0-alpha.unstable.rev0122 39 2/18/2021
2.0.0-alpha.unstable.rev0112 67 2/17/2021
2.0.0-alpha.unstable.rev0107 50 2/10/2021
2.0.0-alpha.unstable.rev0037 124 12/19/2020
2.0.0-alpha.unstable.rev0031 84 12/18/2020
2.0.0-alpha.unstable.rev0017 97 12/10/2020
2.0.0-alpha.unstable.build1 114 12/7/2020
1.0.29 724 2/16/2021
1.0.28 1,160 11/25/2020
1.0.27 137 11/24/2020
1.0.26 132 11/24/2020
1.0.25 236 11/14/2020
1.0.24 984 8/12/2020
1.0.23 668 7/6/2020
1.0.22 3,015 5/26/2020
1.0.21 1,723 4/24/2020
1.0.20 638 4/13/2020
1.0.19 12,628 3/27/2020
1.0.18 1,148 3/16/2020
1.0.17 287 3/9/2020
1.0.16 255 3/3/2020
1.0.16-alpha 237 2/5/2020
1.0.15 329 2/2/2020
1.0.14 204 1/30/2020
1.0.13 273 1/30/2020
1.0.12 306 1/16/2020
1.0.11 2,626 1/8/2020
1.0.10 495 12/11/2019
1.0.9 347 12/2/2019
1.0.9-beta 228 11/28/2019
1.0.8 280 11/19/2019
1.0.7 291 11/2/2019
1.0.6 236 11/1/2019
1.0.5 247 11/1/2019
1.0.4 237 10/30/2019
1.0.3 307 10/16/2019
1.0.2 303 9/27/2019
1.0.1 326 9/6/2019
1.0.0 319 9/6/2019
0.99.136-beta 229 9/6/2019
0.99.134-beta 221 9/5/2019
0.99.119-alpha 217 9/4/2019
0.9.0 8,694 6/10/2011
Show less