A fast, cross-platform, and reliable multipart downloader library for .NET applications with asynchronous progress events.
Downloader is a .NET library for fast, reliable, and cross-platform file downloads. It supports multipart downloading with parallel chunks, asynchronous progress events, and robust resume capabilities, solving the need for efficient and resilient file transfer in .NET applications.
.NET developers building applications that require downloading files, such as desktop apps, services, or tools needing efficient and interruptible download operations.
Developers choose Downloader for its comprehensive feature set, including multipart downloads, automatic resume, and extensive configurability, all within a lightweight, dependency-free library designed specifically for modern .NET environments.
Fast, cross-platform and reliable multipart downloader with asynchronous progress events for .NET applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports parallel chunk downloads with configurable ChunkCount, increasing download speed and reliability, as highlighted in the Key Features for handling large files efficiently.
Offers both manual resume via serializable DownloadPackage and automatic resume with metadata embedded in .download files, ensuring interrupted downloads can continue seamlessly, as detailed in the README's resume sections.
Provides numerous options like speed limits, memory buffer size, chunk settings, and custom HTTP client injection, allowing fine-tuned control over downloads without external dependencies.
Works on .NET Standard 2.1, .NET 8, and later versions, with CI badges and documentation confirming support for Windows, Linux, and macOS.
Version 3.2.0 and above drop support for older .NET versions, forcing teams on frameworks like .NET Framework 4.6.1 to use outdated releases or migrate, as noted in the README's compatibility warning.
Multipart downloads and resume features require server support for range requests; if absent, Downloader falls back to single-chunk downloads, reducing its advantages, as admitted in the 'When does the Downloader fail' section.
The plethora of configuration options, while powerful, can be complex and overwhelming for simple use cases, potentially increasing setup time compared to minimalistic alternatives.