[package]
edition = "2024"
name = "fast-down"
version = "5.0.0"
authors = [
"share121 <me@s121.top>",
"Cyan Changes <contact@cyans.me>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Download everything fast"
homepage = "https://github.com/fast-down/core"
documentation = "https://docs.rs/fast-down"
readme = "README.md"
keywords = [
"concurrency",
"download",
"fast",
"parallel",
]
categories = [
"asynchronous",
"concurrency",
"network-programming",
"no-std",
]
license = "MIT"
repository = "https://github.com/fast-down/core"
[features]
fast-puller = ["reqwest"]
file = ["fast-pull/file"]
getifaddrs = ["dep:getifaddrs"]
http = [
"dep:parking_lot",
"dep:thiserror",
"dep:urlencoding",
]
mem = ["fast-pull/mem"]
reqwest = [
"dep:httpdate",
"dep:reqwest",
"http",
]
reqwest-tls = ["reqwest/default-tls"]
sanitize-filename = ["dep:path_helper"]
serde = [
"dep:serde",
"url/serde",
]
[lib]
name = "fast_down"
path = "src/lib.rs"
[dependencies.bytes]
version = "1.7.1"
[dependencies.fast-pull]
version = "5.0"
[dependencies.futures]
version = "0.3"
[dependencies.httpdate]
version = "1.0"
optional = true
[dependencies.parking_lot]
version = "0.12"
optional = true
[dependencies.path_helper]
version = "0.1"
features = ["sanitize"]
optional = true
[dependencies.serde]
version = "1.0.156"
features = [
"rc",
"serde_derive",
]
optional = true
[dependencies.thiserror]
version = "2.0"
optional = true
[dependencies.tokio]
version = "1.39"
[dependencies.url]
version = "2.5.8"
[dependencies.urlencoding]
version = "2.0"
optional = true
[dev-dependencies.mockito]
version = "1.7"
[target.'cfg(not(target_family = "wasm"))'.dependencies.getifaddrs]
version = "0.6"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.reqwest]
version = "0.13"
optional = true
default-features = false
[lints.clippy]
multiple_crate_versions = "allow"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.cargo]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1