MonoTorrent 2.0.0-alpha.unstable.rev0017

Suggested Alternatives

MonoTorrent 3.0.1

This is a prerelease version of MonoTorrent.
There is a newer version of this package available.
See the version list below for details.
dotnet add package MonoTorrent --version 2.0.0-alpha.unstable.rev0017                
NuGet\Install-Package MonoTorrent -Version 2.0.0-alpha.unstable.rev0017                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MonoTorrent" Version="2.0.0-alpha.unstable.rev0017" />                
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.rev0017                
#r "nuget: MonoTorrent, 2.0.0-alpha.unstable.rev0017"                
#r directive can be used in F# Interactive and Polyglot Notebooks. 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.rev0017&prerelease

// Install MonoTorrent as a Cake Tool
#tool nuget:?package=MonoTorrent&version=2.0.0-alpha.unstable.rev0017&prerelease                

Warning

This release contains API breaking changes in comparison to MonoTorrent 1.x series. There may be further API breakages before 2.x is finalised.

General

Changes since previous alpha:

  • EngineSettings and TorrentSettings are now immutable objects. You can use EngineSettingsBuilder and TorrentSettingsBuilder to create a new Settings object from scratch, or to create one based on an existing Settings object. Once a new immutable Settings object has been created, you must call ClientEngine.UpdateSettingsAsync or TorrentManager.UpdateSettingsAsync, as appropriate. The new settings will have been applied once the returned Task completes. If any listen ports are altered, and port forwarding is enabled, the old port will be unmapped and the new port will be mapped.

  • Any EngineSetting associated with a TCP or UDP port can be set to '-1' to disable the feature, '0' to dynamically select any available port, or a specific port number to bind to. If '0' is specified and port forwarding is enabled, the dynamically bound port will be forwarded automatically.

  • Small tweak to use a low-allocation custom implementation of SemaphoreSlim built on top of ReusableTask. Reduces allocations by about 25%.

  • Improved how the PiecePicker allocates blocks from a single piece to multiple peers. The new approach is less proactive about assigning multiple peers to a single block, which in turn greatly improves the efficiency of Incremental Hashing without affecting download speeds. Recent experiments have shown that over 98% of pieces can be hashed without having to write the block to disk and read it back at a later point.

  • MonoTorrent now defaults to using a 5 megabyte memory cache for pieces which need to be written to disk. This further improves the efficiency of Incremental Hashing as blocks which are received out-of-order will be available in-memory rather than having to be read from disk.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 (11)

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

Repository Stars
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Radarr/Radarr
Movie organizer/manager for usenet and torrent users.
Prowlarr/Prowlarr
Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps, supporting management of both Torrent Trackers and Usenet Indexers.
Lidarr/Lidarr
Looks and smells like Sonarr but made for music.
Readarr/Readarr
Book Manager and Automation (Sonarr for Ebooks)
Version Downloads Last updated
3.0.3-alpha.unstable.rev0049 226 9/14/2024
3.0.3-alpha.unstable.rev0024 74 8/28/2024
3.0.3-alpha.unstable.rev0003 102 8/19/2024
3.0.2 2,189 8/4/2024
3.0.1 173 8/2/2024
3.0.0 321 7/28/2024 3.0.0 is deprecated because it has critical bugs.
3.0.0-beta.rev0264 91 7/17/2024 3.0.0-beta.rev0264 is deprecated because it is no longer maintained.
3.0.0-beta.rev0240 122 6/30/2024 3.0.0-beta.rev0240 is deprecated because it is no longer maintained.
3.0.0-beta.rev0159 2,277 2/1/2023 3.0.0-beta.rev0159 is deprecated because it is no longer maintained.
3.0.0-beta.rev0157 154 2/1/2023 3.0.0-beta.rev0157 is deprecated because it is no longer maintained.
3.0.0-beta.rev0106 749 12/23/2022 3.0.0-beta.rev0106 is deprecated because it is no longer maintained.
3.0.0-beta.rev0104 132 12/15/2022 3.0.0-beta.rev0104 is deprecated because it is no longer maintained.
3.0.0-beta.rev0102 400 12/6/2022 3.0.0-beta.rev0102 is deprecated because it is no longer maintained.
3.0.0-beta.rev0068 247 11/12/2022 3.0.0-beta.rev0068 is deprecated because it is no longer maintained.
3.0.0-beta.rev0064 144 11/6/2022 3.0.0-beta.rev0064 is deprecated because it is no longer maintained.
3.0.0-beta.rev0050 132 11/2/2022 3.0.0-beta.rev0050 is deprecated because it is no longer maintained.
3.0.0-beta.rev0034 181 10/18/2022 3.0.0-beta.rev0034 is deprecated because it is no longer maintained.
3.0.0-beta.rev0015 180 9/26/2022 3.0.0-beta.rev0015 is deprecated because it is no longer maintained.
3.0.0-beta.rev0010 248 8/7/2022 3.0.0-beta.rev0010 is deprecated because it is no longer maintained.
3.0.0-beta.rev0000 210 7/10/2022 3.0.0-beta.rev0000 is deprecated because it is no longer maintained.
3.0.0-alpha.unstable.rev0233 148 7/8/2022 3.0.0-alpha.unstable.rev0233 is deprecated because it is no longer maintained.
3.0.0-alpha.unstable.rev0217 148 6/25/2022 3.0.0-alpha.unstable.rev0217 is deprecated because it is no longer maintained.
2.0.7 83,209 12/23/2022
2.0.6 5,465 7/19/2022 2.0.6 is deprecated because it is no longer maintained.
2.0.5 16,907 3/27/2022 2.0.5 is deprecated because it is no longer maintained.
2.0.4 321,888 1/13/2022 2.0.4 is deprecated because it is no longer maintained.
2.0.3 1,520 12/22/2021 2.0.3 is deprecated because it is no longer maintained.
2.0.2 1,337 12/4/2021 2.0.2 is deprecated because it is no longer maintained.
2.0.1 5,416 10/29/2021 2.0.1 is deprecated because it is no longer maintained.
2.0.0 15,316 5/4/2021 2.0.0 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0193 240 4/3/2021 2.0.0-alpha.unstable.rev0193 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0192 214 4/2/2021 2.0.0-alpha.unstable.rev0192 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0167 212 3/18/2021 2.0.0-alpha.unstable.rev0167 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0147 218 3/13/2021 2.0.0-alpha.unstable.rev0147 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0132 225 2/25/2021 2.0.0-alpha.unstable.rev0132 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0123 219 2/20/2021 2.0.0-alpha.unstable.rev0123 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0122 194 2/18/2021 2.0.0-alpha.unstable.rev0122 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0112 222 2/17/2021 2.0.0-alpha.unstable.rev0112 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0107 239 2/10/2021 2.0.0-alpha.unstable.rev0107 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0037 287 12/19/2020 2.0.0-alpha.unstable.rev0037 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0031 270 12/18/2020 2.0.0-alpha.unstable.rev0031 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0017 240 12/10/2020 2.0.0-alpha.unstable.rev0017 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.build1 293 12/7/2020 2.0.0-alpha.unstable.build1 is deprecated because it is no longer maintained.
1.0.30 1,382 1/7/2022 1.0.30 is deprecated because it is no longer maintained.
1.0.29 11,415 2/16/2021 1.0.29 is deprecated because it is no longer maintained.
1.0.28 6,953 11/25/2020 1.0.28 is deprecated because it is no longer maintained.
1.0.27 1,560 11/24/2020 1.0.27 is deprecated because it is no longer maintained.
1.0.26 1,389 11/24/2020 1.0.26 is deprecated because it is no longer maintained.
1.0.25 1,526 11/14/2020 1.0.25 is deprecated because it is no longer maintained.
1.0.24 2,465 8/12/2020 1.0.24 is deprecated because it is no longer maintained.
1.0.23 2,254 7/6/2020 1.0.23 is deprecated because it is no longer maintained.
1.0.22 5,149 5/26/2020 1.0.22 is deprecated because it is no longer maintained.
1.0.21 2,984 4/24/2020 1.0.21 is deprecated because it is no longer maintained.
1.0.20 1,915 4/13/2020 1.0.20 is deprecated because it is no longer maintained.
1.0.19 22,150 3/27/2020 1.0.19 is deprecated because it is no longer maintained.
1.0.18 2,412 3/16/2020 1.0.18 is deprecated because it is no longer maintained.
1.0.17 1,504 3/9/2020 1.0.17 is deprecated because it is no longer maintained.
1.0.16 1,523 3/3/2020 1.0.16 is deprecated because it is no longer maintained.
1.0.16-alpha 1,289 2/5/2020 1.0.16-alpha is deprecated because it is no longer maintained.
1.0.15 1,561 2/2/2020 1.0.15 is deprecated because it is no longer maintained.
1.0.14 1,425 1/30/2020 1.0.14 is deprecated because it is no longer maintained.
1.0.13 1,530 1/30/2020 1.0.13 is deprecated because it is no longer maintained.
1.0.12 1,570 1/16/2020 1.0.12 is deprecated because it is no longer maintained.
1.0.11 4,095 1/8/2020 1.0.11 is deprecated because it is no longer maintained.
1.0.10 2,031 12/11/2019 1.0.10 is deprecated because it is no longer maintained.
1.0.9 1,825 12/2/2019 1.0.9 is deprecated because it is no longer maintained.
1.0.9-beta 1,209 11/28/2019 1.0.9-beta is deprecated because it is no longer maintained.
1.0.8 1,545 11/19/2019 1.0.8 is deprecated because it is no longer maintained.
1.0.7 1,562 11/2/2019 1.0.7 is deprecated because it is no longer maintained.
1.0.6 1,478 11/1/2019 1.0.6 is deprecated because it is no longer maintained.
1.0.5 1,433 11/1/2019 1.0.5 is deprecated because it is no longer maintained.
1.0.4 1,506 10/30/2019 1.0.4 is deprecated because it is no longer maintained.
1.0.3 1,597 10/16/2019 1.0.3 is deprecated because it is no longer maintained.
1.0.2 1,570 9/27/2019 1.0.2 is deprecated because it is no longer maintained.
1.0.1 1,579 9/6/2019 1.0.1 is deprecated because it is no longer maintained.
1.0.0 1,674 9/6/2019 1.0.0 is deprecated because it is no longer maintained.
0.99.136-beta 1,268 9/6/2019 0.99.136-beta is deprecated because it is no longer maintained.
0.99.134-beta 1,254 9/5/2019 0.99.134-beta is deprecated because it is no longer maintained.
0.99.119-alpha 1,188 9/4/2019 0.99.119-alpha is deprecated because it is no longer maintained.
0.9.0 10,541 6/10/2011 0.9.0 is deprecated because it is no longer maintained.