MonoTorrent 2.0.0

Suggested Alternatives

MonoTorrent 3.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package MonoTorrent --version 2.0.0                
NuGet\Install-Package MonoTorrent -Version 2.0.0                
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" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MonoTorrent --version 2.0.0                
#r "nuget: MonoTorrent, 2.0.0"                
#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

// Install MonoTorrent as a Cake Tool
#tool nuget:?package=MonoTorrent&version=2.0.0                

General

This is the first stable release of the 2.0 series. There are far too many changes between 1.x and 2.0 to list, but suffice it to say there have been numerous bug fixes and performance improvements across the board. In particular, there have been substantial improvements to the Streaming mode.

If you were using StreamProvider in past releases, the new approach is to use ClientEngine.AddStreamingAsync which will return a TorrentManager configured for streaming. Once you start the download you can create a stream to any of the files in the torrent using TorrentManager.StreamProvider, just like before.

MonoTorrent now uses an in-memory cache by default, which reduces the number of disk operations substantially. This feature works in tandem with incremental hashing, which means that even if some blocks in a given piece arrive out-of-order, it is still possible to hash all blocks before writing them to disk, eliminating the need to re-read them later.

Finally, the last big features are around how state is saved/restored. FastResume data for a torrent will, by default, be saved every 20-30 seconds. In the event of a crash you will be able to resume the torrent without having to run a complete hash check. This can be controlled by EngineSettings.FastResumeMode if you want to use one of the other behaviours. Additionally, you can serialize a ClientEngine to disk, and restore it, using ClientEngine.SaveStateAsync and the static method ClientEngine.RestoreStateAsync. This should be invoked just before your application closes, or whenever is appropriate. It will flush a fresh copy of fast resume data to disk for all loaded torrent, as well as capturing all mutable state in a TorrentManager so it can be restored later. For example, ITorrentFile.Priority will be maintained, and so will the paths where files are stored if you have used TorrentManager.MoveFileAsync.

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 218 9/14/2024
3.0.3-alpha.unstable.rev0024 73 8/28/2024
3.0.3-alpha.unstable.rev0003 101 8/19/2024
3.0.2 2,079 8/4/2024
3.0.1 172 8/2/2024
3.0.0 318 7/28/2024 3.0.0 is deprecated because it has critical bugs.
3.0.0-beta.rev0264 90 7/17/2024 3.0.0-beta.rev0264 is deprecated because it is no longer maintained.
3.0.0-beta.rev0240 121 6/30/2024 3.0.0-beta.rev0240 is deprecated because it is no longer maintained.
3.0.0-beta.rev0159 2,263 2/1/2023 3.0.0-beta.rev0159 is deprecated because it is no longer maintained.
3.0.0-beta.rev0157 153 2/1/2023 3.0.0-beta.rev0157 is deprecated because it is no longer maintained.
3.0.0-beta.rev0106 736 12/23/2022 3.0.0-beta.rev0106 is deprecated because it is no longer maintained.
3.0.0-beta.rev0104 131 12/15/2022 3.0.0-beta.rev0104 is deprecated because it is no longer maintained.
3.0.0-beta.rev0102 399 12/6/2022 3.0.0-beta.rev0102 is deprecated because it is no longer maintained.
3.0.0-beta.rev0068 246 11/12/2022 3.0.0-beta.rev0068 is deprecated because it is no longer maintained.
3.0.0-beta.rev0064 143 11/6/2022 3.0.0-beta.rev0064 is deprecated because it is no longer maintained.
3.0.0-beta.rev0050 131 11/2/2022 3.0.0-beta.rev0050 is deprecated because it is no longer maintained.
3.0.0-beta.rev0034 180 10/18/2022 3.0.0-beta.rev0034 is deprecated because it is no longer maintained.
3.0.0-beta.rev0015 179 9/26/2022 3.0.0-beta.rev0015 is deprecated because it is no longer maintained.
3.0.0-beta.rev0010 247 8/7/2022 3.0.0-beta.rev0010 is deprecated because it is no longer maintained.
3.0.0-beta.rev0000 209 7/10/2022 3.0.0-beta.rev0000 is deprecated because it is no longer maintained.
3.0.0-alpha.unstable.rev0233 147 7/8/2022 3.0.0-alpha.unstable.rev0233 is deprecated because it is no longer maintained.
3.0.0-alpha.unstable.rev0217 147 6/25/2022 3.0.0-alpha.unstable.rev0217 is deprecated because it is no longer maintained.
2.0.7 82,109 12/23/2022
2.0.6 5,459 7/19/2022 2.0.6 is deprecated because it is no longer maintained.
2.0.5 16,891 3/27/2022 2.0.5 is deprecated because it is no longer maintained.
2.0.4 321,886 1/13/2022 2.0.4 is deprecated because it is no longer maintained.
2.0.3 1,516 12/22/2021 2.0.3 is deprecated because it is no longer maintained.
2.0.2 1,336 12/4/2021 2.0.2 is deprecated because it is no longer maintained.
2.0.1 5,414 10/29/2021 2.0.1 is deprecated because it is no longer maintained.
2.0.0 15,311 5/4/2021 2.0.0 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0193 239 4/3/2021 2.0.0-alpha.unstable.rev0193 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0192 213 4/2/2021 2.0.0-alpha.unstable.rev0192 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0167 211 3/18/2021 2.0.0-alpha.unstable.rev0167 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0147 217 3/13/2021 2.0.0-alpha.unstable.rev0147 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0132 224 2/25/2021 2.0.0-alpha.unstable.rev0132 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0123 218 2/20/2021 2.0.0-alpha.unstable.rev0123 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0122 193 2/18/2021 2.0.0-alpha.unstable.rev0122 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0112 219 2/17/2021 2.0.0-alpha.unstable.rev0112 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0107 238 2/10/2021 2.0.0-alpha.unstable.rev0107 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0037 286 12/19/2020 2.0.0-alpha.unstable.rev0037 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0031 269 12/18/2020 2.0.0-alpha.unstable.rev0031 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.rev0017 239 12/10/2020 2.0.0-alpha.unstable.rev0017 is deprecated because it is no longer maintained.
2.0.0-alpha.unstable.build1 292 12/7/2020 2.0.0-alpha.unstable.build1 is deprecated because it is no longer maintained.
1.0.30 1,379 1/7/2022 1.0.30 is deprecated because it is no longer maintained.
1.0.29 11,412 2/16/2021 1.0.29 is deprecated because it is no longer maintained.
1.0.28 6,949 11/25/2020 1.0.28 is deprecated because it is no longer maintained.
1.0.27 1,559 11/24/2020 1.0.27 is deprecated because it is no longer maintained.
1.0.26 1,388 11/24/2020 1.0.26 is deprecated because it is no longer maintained.
1.0.25 1,525 11/14/2020 1.0.25 is deprecated because it is no longer maintained.
1.0.24 2,463 8/12/2020 1.0.24 is deprecated because it is no longer maintained.
1.0.23 2,253 7/6/2020 1.0.23 is deprecated because it is no longer maintained.
1.0.22 5,147 5/26/2020 1.0.22 is deprecated because it is no longer maintained.
1.0.21 2,983 4/24/2020 1.0.21 is deprecated because it is no longer maintained.
1.0.20 1,914 4/13/2020 1.0.20 is deprecated because it is no longer maintained.
1.0.19 21,878 3/27/2020 1.0.19 is deprecated because it is no longer maintained.
1.0.18 2,411 3/16/2020 1.0.18 is deprecated because it is no longer maintained.
1.0.17 1,503 3/9/2020 1.0.17 is deprecated because it is no longer maintained.
1.0.16 1,522 3/3/2020 1.0.16 is deprecated because it is no longer maintained.
1.0.16-alpha 1,286 2/5/2020 1.0.16-alpha is deprecated because it is no longer maintained.
1.0.15 1,560 2/2/2020 1.0.15 is deprecated because it is no longer maintained.
1.0.14 1,424 1/30/2020 1.0.14 is deprecated because it is no longer maintained.
1.0.13 1,529 1/30/2020 1.0.13 is deprecated because it is no longer maintained.
1.0.12 1,569 1/16/2020 1.0.12 is deprecated because it is no longer maintained.
1.0.11 4,094 1/8/2020 1.0.11 is deprecated because it is no longer maintained.
1.0.10 2,030 12/11/2019 1.0.10 is deprecated because it is no longer maintained.
1.0.9 1,824 12/2/2019 1.0.9 is deprecated because it is no longer maintained.
1.0.9-beta 1,208 11/28/2019 1.0.9-beta is deprecated because it is no longer maintained.
1.0.8 1,544 11/19/2019 1.0.8 is deprecated because it is no longer maintained.
1.0.7 1,561 11/2/2019 1.0.7 is deprecated because it is no longer maintained.
1.0.6 1,477 11/1/2019 1.0.6 is deprecated because it is no longer maintained.
1.0.5 1,432 11/1/2019 1.0.5 is deprecated because it is no longer maintained.
1.0.4 1,505 10/30/2019 1.0.4 is deprecated because it is no longer maintained.
1.0.3 1,596 10/16/2019 1.0.3 is deprecated because it is no longer maintained.
1.0.2 1,569 9/27/2019 1.0.2 is deprecated because it is no longer maintained.
1.0.1 1,577 9/6/2019 1.0.1 is deprecated because it is no longer maintained.
1.0.0 1,672 9/6/2019 1.0.0 is deprecated because it is no longer maintained.
0.99.136-beta 1,267 9/6/2019 0.99.136-beta is deprecated because it is no longer maintained.
0.99.134-beta 1,253 9/5/2019 0.99.134-beta is deprecated because it is no longer maintained.
0.99.119-alpha 1,187 9/4/2019 0.99.119-alpha is deprecated because it is no longer maintained.
0.9.0 10,536 6/10/2011 0.9.0 is deprecated because it is no longer maintained.