Cargo.toml
Rama main · réplica de lectura del repositorio original.
[package]
name = "numa"
version = "0.25.0"
authors = ["razvandimescu <razvan@dimescu.com>"]
edition = "2021"
description = "Portable DNS resolver in Rust — .numa local domains, ad blocking, developer overrides, DNS-over-HTTPS"
license = "MIT"
repository = "https://github.com/razvandimescu/numa"
keywords = ["dns", "dns-server", "ad-blocking", "reverse-proxy", "developer-tools"]
categories = ["network-programming", "development-tools"]
[dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time", "sync", "signal", "fs"] }
axum = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1.1"
serde_ignored = "0.1"
log = "0.4"
env_logger = "0.11"
reqwest = { version = "0.13", features = ["rustls-no-provider", "gzip", "http2", "query"], default-features = false }
hyper = { version = "1", features = ["client", "http1", "server"] }
hyper-util = { version = "0.1", features = ["client-legacy", "http1", "tokio"] }
http-body-util = "0.1"
futures = "0.3"
socket2 = { version = "0.6", features = ["all"] }
rcgen = { version = "0.14", features = ["pem", "x509-parser"] }
time = "0.3"
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12", "logging"] }
arc-swap = "1"
ring = "0.17"
odoh-rs = "1.0.5"
psl = "2"
base64 = "0.23"
# sys_rng re-exports the rand_core odoh-rs (via hpke) bounds on; keep the majors in step.
getrandom = { version = "0.4", features = ["sys_rng"] }
rustls-pemfile = "2.2.0"
qrcode = { version = "0.14", default-features = false, features = ["svg"] }
# Bundled Mozilla roots (DER) for both the reqwest and DoT TLS paths — see forward.rs.
webpki-root-certs = "1"
proxy-header = { version = "0.1", features = ["tokio"] }
ipnet = { version = "2", features = ["serde"] }
quinn-udp = "0.6"
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(target_env = "musl")'.dependencies]
mimalloc = { version = "0.1", default-features = false }
libmimalloc-sys = { version = "=0.1.49", features = ["extended"] }
[target.'cfg(windows)'.dependencies]
windows-service = "0.8"
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_System_ProcessStatus", "Win32_System_Threading"] }
[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
tower = { version = "0.5", features = ["util"] }
http = "1"
hickory-resolver = { version = "0.26", features = ["https-ring", "webpki-roots"] }
hickory-proto = "0.26"
x509-parser = "0.18"
[[bench]]
name = "hot_path"
harness = false
[[bench]]
name = "throughput"
harness = false
[[bench]]
name = "dnssec"
harness = false
[[bench]]
name = "recursive_compare"
harness = false
[profile.release]
lto = "fat"
codegen-units = 1
strip = true
[lints.clippy]
cognitive_complexity = "warn"