[package]
edition = "2024"
rust-version = "1.99.1"
name = "tendns"
version = "0.2.0"
build = false
include = [
"src/**",
"tests/**",
"Cargo.toml",
"Cargo.lock",
"README.md",
"LICENSE",
"tendns.example.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Encrypted TXT discovery and hexadecimal IPv4 resolution, as a library and DNS server"
readme = "README.md"
keywords = [
"dns",
"dns-over-https",
"encryption",
"discovery",
]
categories = [
"network-programming",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/cfal/tendns"
[features]
cli = [
"dep:bytes",
"dep:clap",
"dep:hickory-resolver",
"dep:hickory-server",
"dep:humantime",
"dep:http",
"dep:http-body-util",
"dep:hyper",
"dep:hyper-util",
"dep:reqwest",
"dep:rustls",
"dep:serde",
"dep:serde_json",
"dep:tokio-rustls",
"dep:toml",
"dep:url",
"tokio/macros",
"tokio/rt-multi-thread",
"tokio/net",
"tokio/signal",
"tokio/io-util",
]
default = ["cli"]
[lib]
name = "tendns"
path = "src/lib.rs"
[[bin]]
name = "tendns"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "doh_server"
path = "tests/doh_server.rs"
[[test]]
name = "policy"
path = "tests/policy.rs"
[[test]]
name = "process"
path = "tests/process.rs"
[[test]]
name = "request_policy"
path = "tests/request_policy.rs"
[[test]]
name = "resolution"
path = "tests/resolution.rs"
[[test]]
name = "transport"
path = "tests/transport.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-lc-rs]
version = "1.19"
features = [
"alloc",
"aws-lc-sys",
]
default-features = false
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.12"
optional = true
[dependencies.clap]
version = "4.6"
features = ["derive"]
optional = true
[dependencies.hickory-proto]
version = "0.26.3"
[dependencies.hickory-resolver]
version = "0.26.3"
features = [
"tokio",
"https-aws-lc-rs",
"webpki-roots",
]
optional = true
default-features = false
[dependencies.hickory-server]
version = "0.26.3"
optional = true
default-features = false
[dependencies.http]
version = "1.5"
optional = true
[dependencies.http-body-util]
version = "0.1"
optional = true
[dependencies.humantime]
version = "2.4"
optional = true
[dependencies.hyper]
version = "1.12"
features = [
"server",
"http1",
"http2",
]
optional = true
[dependencies.hyper-util]
version = "0.1"
features = [
"server-auto",
"tokio",
]
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"rustls",
"http2",
"json",
"query",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"std",
"aws_lc_rs",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.tokio]
version = "1.54"
features = [
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26"
features = ["aws_lc_rs"]
optional = true
default-features = false
[dependencies.toml]
version = "0.9"
optional = true
[dependencies.url]
version = "2.5"
optional = true
[dependencies.zeroize]
version = "1.9"
[dev-dependencies.h2]
version = "0.4"
[dev-dependencies.rcgen]
version = "0.14"
features = [
"crypto",
"aws_lc_rs",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.27"
[dev-dependencies.tokio]
version = "1.54"
features = [
"macros",
"test-util",
"process",
"rt",
"io-util",
]
[profile.dev]
debug = 0
[profile.release]
opt-level = 3
lto = "fat"
strip = true
[profile.test]
debug = 0