MonoTorrent 2.0.0-alpha.unstable.rev0192

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 version of this package available.
See the version list below for details.
Install-Package MonoTorrent -Version 2.0.0-alpha.unstable.rev0192
dotnet add package MonoTorrent --version 2.0.0-alpha.unstable.rev0192
<PackageReference Include="MonoTorrent" Version="2.0.0-alpha.unstable.rev0192" />
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.rev0192
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MonoTorrent, 2.0.0-alpha.unstable.rev0192"
#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.rev0192&prerelease

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

General

  • Small performance improvements to some Bitfield methods
  • BitField is now immutable. If you need a mutable version use a MutableBitfield.ctor(BitField), or MutableBitfield.From (BitField) to create a mutable version of a bitfield. This is useful for custom piece pickers.
  • Optimised how partial download progress (the amount of data which will be downloaded after excluding files marked as DoNotDownload) is calculated.
  • Small change to how pieces are requested from a peer. Additional requests are batched when the number of pieces being requested gets larger.
  • Removed a confusing parameter from IPieceRequester. There was no need to include a BitField in the parameters as it wasn't used for anything meaningful.
  • ITorrentFile.Priority is now a readonly property publicly. If you want to change the priority for a file you should call TorrentManager.SetFilePriorityAsync (TorrentFile, Priority). This is a threadsafe way to update the priority, and allows internal state to be updated immediately, rather than having to continually poll for changes.
  • Small perf improvement when bootstrapping the DHT table from a list of cached nodes.
  • Fixed a cosmetic bug where mapping a PieceIndex to the corresponding ITorrentFile could return the wrong File in some scenarios. The impact was that the first or last piece for a given file may never be set to true, so the progress reported by ITorrentFileInfo.BitField would be < 100% even after the torrent entered Seeding mode after downloading all data.
  • Fix submitted by @phil-scott-78 to ensure web seeds with invalid Uris are gracefully discarded.

General

  • Small performance improvements to some Bitfield methods
  • BitField is now immutable. If you need a mutable version use a MutableBitfield.ctor(BitField), or MutableBitfield.From (BitField) to create a mutable version of a bitfield. This is useful for custom piece pickers.
  • Optimised how partial download progress (the amount of data which will be downloaded after excluding files marked as DoNotDownload) is calculated.
  • Small change to how pieces are requested from a peer. Additional requests are batched when the number of pieces being requested gets larger.
  • Removed a confusing parameter from IPieceRequester. There was no need to include a BitField in the parameters as it wasn't used for anything meaningful.
  • ITorrentFile.Priority is now a readonly property publicly. If you want to change the priority for a file you should call TorrentManager.SetFilePriorityAsync (TorrentFile, Priority). This is a threadsafe way to update the priority, and allows internal state to be updated immediately, rather than having to continually poll for changes.
  • Small perf improvement when bootstrapping the DHT table from a list of cached nodes.
  • Fixed a cosmetic bug where mapping a PieceIndex to the corresponding ITorrentFile could return the wrong File in some scenarios. The impact was that the first or last piece for a given file may never be set to true, so the progress reported by ITorrentFileInfo.BitField would be < 100% even after the torrent entered Seeding mode after downloading all data.
  • Fix submitted by @phil-scott-78 to ensure web seeds with invalid Uris are gracefully discarded.

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 42 5/4/2021
2.0.0-alpha.unstable.rev0193 57 4/3/2021
2.0.0-alpha.unstable.rev0192 58 4/2/2021
2.0.0-alpha.unstable.rev0167 63 3/18/2021
2.0.0-alpha.unstable.rev0147 73 3/13/2021
2.0.0-alpha.unstable.rev0132 68 2/25/2021
2.0.0-alpha.unstable.rev0123 68 2/20/2021
2.0.0-alpha.unstable.rev0122 41 2/18/2021
2.0.0-alpha.unstable.rev0112 69 2/17/2021
2.0.0-alpha.unstable.rev0107 52 2/10/2021
2.0.0-alpha.unstable.rev0037 126 12/19/2020
2.0.0-alpha.unstable.rev0031 86 12/18/2020
2.0.0-alpha.unstable.rev0017 99 12/10/2020
2.0.0-alpha.unstable.build1 117 12/7/2020
1.0.29 1,292 2/16/2021
1.0.28 1,211 11/25/2020
1.0.27 139 11/24/2020
1.0.26 134 11/24/2020
1.0.25 238 11/14/2020
1.0.24 993 8/12/2020
1.0.23 673 7/6/2020
1.0.22 3,026 5/26/2020
1.0.21 1,731 4/24/2020
1.0.20 646 4/13/2020
1.0.19 13,301 3/27/2020
1.0.18 1,152 3/16/2020
1.0.17 289 3/9/2020
1.0.16 259 3/3/2020
1.0.16-alpha 243 2/5/2020
1.0.15 336 2/2/2020
1.0.14 210 1/30/2020
1.0.13 274 1/30/2020
1.0.12 307 1/16/2020
1.0.11 2,633 1/8/2020
1.0.10 498 12/11/2019
1.0.9 349 12/2/2019
1.0.9-beta 230 11/28/2019
1.0.8 286 11/19/2019
1.0.7 294 11/2/2019
1.0.6 237 11/1/2019
1.0.5 249 11/1/2019
1.0.4 244 10/30/2019
1.0.3 315 10/16/2019
1.0.2 311 9/27/2019
1.0.1 328 9/6/2019
1.0.0 326 9/6/2019
0.99.136-beta 231 9/6/2019
0.99.134-beta 227 9/5/2019
0.99.119-alpha 224 9/4/2019
0.9.0 8,700 6/10/2011