Fast and simple multithread downloads
Provides easy to use functions to download a file using multiple async or threaded connections while taking care to preserve integrity of the file and check it against a checksum.
progress
: Enables progress reporting using indicatif [enabled by default] json
: Enables use of JSON features on the reqwest Client [enabled by default]rustls
: Use Rustls for HTTPS [enabled by default]openssl
: Use OpenSSL for HTTPSthreaded
: Enable multithreaded clientasync
: Enable async client [enabled by default]```rust use manic::Downloader;
async fn main() -> Result<(), manic::ManicError> { let workers: u8 = 5; let client = Downloader::new("https://crates.io", workers).await?; let _ = client.download().await?; Ok(()) } ```
```rust use manic::threaded::Downloader;
fn main() -> Result<(), manic::ManicError> { let workers: u8 = 5; let client = Downloader::new("https://crates.io", workers)?; let _ = client.download()?; Ok(()) } ```
License: MIT OR Apache-2.0