[package]
edition = "2024"
name = "dnsync"
version = "0.2.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DNS Sync and Control with MCP"
readme = "README.md"
license = "MIT"
repository = "https://github.com/Ozy-Viking/dnsync"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/dnsync-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"
[features]
cloudflare = []
default = [
"technitium",
"pangolin",
"cloudflare",
"unifi",
"pihole",
]
doq = ["hickory-resolver/quic-ring"]
pangolin = []
pihole = []
technitium = []
unifi = []
[lib]
name = "dnslib"
path = "src/lib.rs"
[[bin]]
name = "dns"
path = "src/main.rs"
[[test]]
name = "client_tests"
path = "tests/client_tests.rs"
[[test]]
name = "mcp_resolve_tests"
path = "tests/mcp_resolve_tests.rs"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.clap_complete]
version = "4"
[dependencies.hickory-resolver]
version = "0.26"
features = [
"tls-ring",
"https-ring",
"rustls-platform-verifier",
]
[dependencies.inquire]
version = "0.7"
[dependencies.miette]
version = "7"
features = ["fancy"]
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"multipart",
"form",
"query",
]
[dependencies.rmcp]
version = "1.7"
features = [
"server",
"transport-io",
]
[dependencies.schemars]
version = "1.2"
[dependencies.secrecy]
version = "0.10"
features = ["serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "1.1"
[dependencies.toml_edit]
version = "0.25"
[dependencies.tracing]
version = "0.1"
features = ["attributes"]
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.http]
version = "1"
[dev-dependencies.mockito]
version = "1"
[dev-dependencies.rstest]
version = "0.26"
[profile.release]
opt-level = 3
lto = true
strip = true