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