smartdns 0.9.2-alpha.1

A cross platform local DNS server written in rust to obtain the fastest website IP for the best Internet experience, support DoT, DoQ, DoH, DoH3.
[[bin]]
name = "smartdns"
path = "src/main.rs"

[build-dependencies.anyhow]
version = "1.0"

[build-dependencies.chrono]
version = "0.4.38"

[build-dependencies.reqwest]
default-features = false
features = ["blocking", "rustls-tls"]
version = "0.12"

[dependencies.anyhow]
version = "1.0"

[dependencies.async-http-proxy]
features = ["runtime-tokio", "basic-auth"]
version = "1.2.5"

[dependencies.async-socks5]
version = "0.6.0"

[dependencies.async-trait]
version = "0.1.80"

[dependencies.axum]
version = "0.7.7"

[dependencies.axum-server]
features = ["tls-rustls-no-provider"]
version = "0.7.1"

[dependencies.boomphf]
optional = true
version = "0.6.0"

[dependencies.byte-unit]
features = ["serde"]
version = "5.0.3"

[dependencies.bytes]
version = "1.6.0"

[dependencies.cfg-if]
version = "1"

[dependencies.chrono]
features = ["serde"]
version = "0.4.38"

[dependencies.clap]
features = ["derive"]
version = "4.5"

[dependencies.clap-verbosity-flag]
version = "2.2.2"

[dependencies.console]
optional = true
version = "0.15.8"

[dependencies.csv]
version = "1.1"

[dependencies.either]
optional = true
version = "1.12.0"

[dependencies.enum_dispatch]
version = "0.3.13"

[dependencies.futures]
default-features = false
features = ["std"]
version = "0.3.5"

[dependencies.futures-intrusive]
version = "0.5"

[dependencies.futures-util]
default-features = false
features = ["std"]
version = "0.3.5"

[dependencies.glob]
version = "0.3.1"

[dependencies.hickory-proto]
features = ["serde"]
version = "0.25.0-alpha.4"

[dependencies.hickory-resolver]
features = ["serde", "system-config"]
version = "0.25.0-alpha.4"

[dependencies.hostname]
version = "0.3"

[dependencies.ipnet]
version = "2.7"

[dependencies.local-ip-address]
version = "0.6.1"

[dependencies.lru]
default-features = false
version = "0.12"

[dependencies.nom]
version = "7.1.3"

[dependencies.num-traits]
version = "0.2.19"

[dependencies.once_cell]
version = "1.16.0"

[dependencies.quinn]
default-features = false
version = "0.11.2"

[dependencies.rand]
version = "0.8.5"

[dependencies.reqwest]
default-features = false
features = ["blocking", "rustls-tls"]
version = "0.12"

[dependencies.rustls]
default-features = false
features = ["std", "tls12"]
version = "0.23"

[dependencies.rustls-native-certs]
version = "0.8"

[dependencies.rustls-pemfile]
version = "2"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.smallvec]
version = "1.13.2"

[dependencies.socket2]
features = ["all"]
version = "0.5"

[dependencies.surge-ping]
version = "0.8.1"

[dependencies.sysinfo]
default-features = false
features = ["system"]
version = "0.32"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
features = ["time", "rt", "signal", "macros", "parking_lot"]
version = "1.41"

[dependencies.tokio-rustls]
default-features = false
version = "0.26.0"

[dependencies.tokio-util]
version = "0.7.12"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["std", "fmt", "env-filter"]
version = "0.3"

[dependencies.url]
version = "2.5.4"

[dependencies.webpki-roots]
version = "0.26"

[dependencies.which]
optional = true
version = "7.0.1"

[dev-dependencies.reqwest]
default-features = false
features = ["blocking", "rustls-tls"]
version = "0.12"

[features]
default = ["resolve-cli", "dns-over-tls", "dns-over-https", "dns-over-quic", "dns-over-h3", "dnssec", "service", "nft", "nom-recipes-all", "self-update"]
disable_icmp_ping = []
dns-over-h3 = ["hickory-proto/dns-over-h3", "hickory-resolver/dns-over-h3"]
dns-over-https = ["dns-over-https-rustls"]
dns-over-https-rustls = ["hickory-proto/dns-over-https-rustls", "hickory-resolver/dns-over-https-rustls"]
dns-over-quic = ["hickory-proto/dns-over-quic", "hickory-resolver/dns-over-quic"]
dns-over-tls = []
dnssec = ["hickory-proto/dnssec-ring", "rustls/ring"]
experimental = ["experimental-trie", "experimental-phf"]
experimental-phf = ["dep:boomphf"]
experimental-trie = []
failed_tests = []
homebrew = ["resolve-cli", "dns-over-tls", "dns-over-https", "dns-over-quic", "dns-over-h3", "dnssec", "service", "nft", "nom-recipes-all"]
mdns = []
nft = ["dep:which", "dep:either"]
nom-recipes-all = ["nom-recipes-ip"]
nom-recipes-ip = ["nom-recipes-ipv4", "nom-recipes-ipv6"]
nom-recipes-ipv4 = []
nom-recipes-ipv6 = ["nom-recipes-ipv4"]
resolve-cli = ["dep:console"]
self-update = ["dep:self_update"]
service = ["dep:which", "dep:self-replace", "dep:same-file"]

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(nightly)"]
level = "warn"
priority = 0

[package]
authors = ["YISH <mokeyish@hotmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming"]
description = """
A cross platform local DNS server written in rust to obtain the fastest website IP for the best Internet experience, support DoT, DoQ, DoH, DoH3.
"""
edition = "2021"
homepage = "https://github.com/mokeyish/smartdns-rs"
keywords = ["DNS", "BIND", "dig", "SmartDNS", "Dnsmasq"]
license = "GPL-3.0-only"
name = "smartdns"
readme = "README.md"
repository = "https://github.com/mokeyish/smartdns-rs"
rust-version = "1.75.0"
version = "0.9.2-alpha.1"

[package.metadata.patch]

[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
strip = true

[target.'cfg(target_os = "android")'.dependencies.self_update]
default-features = false
features = ["archive-tar", "compression-flate2", "rustls"]
optional = true
version = "0.41.0"

[target.'cfg(target_os = "linux")'.build-dependencies.bindgen]
version = "0.70"

[target.'cfg(target_os = "linux")'.build-dependencies.cc]
version = "1.2"

[target.'cfg(target_os = "linux")'.dependencies.caps]
version = "0.5.5"

[target.'cfg(target_os = "linux")'.dependencies.self_update]
default-features = false
features = ["archive-tar", "compression-flate2", "rustls"]
optional = true
version = "0.41.0"

[target.'cfg(target_os = "linux")'.dependencies.uzers]
default-features = false
version = "0.12"

[target.'cfg(target_os = "macos")'.dependencies.self_update]
default-features = false
features = ["archive-zip", "compression-zip-deflate", "rustls"]
optional = true
version = "0.41.0"

[target."cfg(windows)".dependencies.same-file]
optional = true
version = "1"

[target."cfg(windows)".dependencies.self-replace]
optional = true
version = "1.3.7"

[target."cfg(windows)".dependencies.self_update]
default-features = false
features = ["archive-zip", "compression-zip-deflate", "rustls"]
optional = true
version = "0.41.0"

[target."cfg(windows)".dependencies.windows]
features = ["Win32_System_Console", "Win32_Foundation", "Win32_Networking", "Win32_Networking_WinSock", "Win32_System_IO"]
version = "0.58"

[target."cfg(windows)".dependencies.windows-service]
version = "0.7.0"