tendns 0.2.0

Encrypted TXT discovery and hexadecimal IPv4 resolution, as a library and DNS server
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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