[package]
edition = "2021"
name = "mhost"
version = "0.6.0"
authors = ["Lukas Pustina <lukas@pustina.de>"]
build = "build.rs"
include = [
"README.md",
"LICENSE-APACHE",
"LICENSE-MIT",
"CHANGELOG.md",
"**/*.rs",
"Cargo.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "More than host - A modern take on the classic host DNS lookup utility including an easy to use and very fast Rust lookup library"
homepage = "https://mhost.pustina.de"
readme = "README.md"
keywords = [
"network",
"dns",
"host",
"dig",
"cli",
]
categories = ["command-line-utilities"]
license = "MIT/Apache-2.0"
repository = "https://github.com/lukaspustina/mhost.git"
[package.metadata.deb]
extended-description = """
mhost
- is very fast and uses multiple DNS servers concurrently and aggregates all results for more reliable lookups.
- supports classic DNS over UDP and TCP as well as modern DNS over TLS (DoT) and HTTP (DoH).
- presents results in an easy, human readable format or as JSON for post-processing.
- discovers host names, subdomains of any domain, as well as IP subnets in CIDR notation.
- uses lints to validate the DNS configurations of any domain.
"""
section = "Network"
features = ["app"]
priority = "optional"
assets = [
[
"target/release/mhost",
"usr/bin/",
"755",
],
[
"README.md",
"usr/share/doc/mhost/README",
"644",
],
]
[package.metadata.rpm]
package = "mhost"
[package.metadata.rpm.cargo]
buildflags = [
"--release",
"--features",
"app",
]
[package.metadata.rpm.targets.mhost]
path = "/usr/bin/mhost"
[features]
app = [
"anyhow",
"clap",
"clap_complete",
"hostname",
"humantime",
"tabwriter",
"tracing-log",
"tracing-subscriber",
]
default = ["app"]
[lib]
name = "mhost"
path = "src/lib.rs"
[[bin]]
name = "mhost"
path = "src/bin/mhost.rs"
doc = false
required-features = ["app"]
[[example]]
name = "lookup_json"
path = "examples/lookup_json.rs"
[[example]]
name = "multi_lookup"
path = "examples/multi_lookup.rs"
[[example]]
name = "multi_resolvers"
path = "examples/multi_resolvers.rs"
[[example]]
name = "predefined_resolvers"
path = "examples/predefined_resolvers.rs"
[[example]]
name = "resolvers_from_file"
path = "examples/resolvers_from_file.rs"
[[example]]
name = "rnd_lookups"
path = "examples/rnd_lookups.rs"
[[example]]
name = "soa_check"
path = "examples/soa_check.rs"
[[example]]
name = "statistics"
path = "examples/statistics.rs"
[[example]]
name = "subnet_ptr_lookup"
path = "examples/subnet_ptr_lookup.rs"
[[example]]
name = "system_resolvers"
path = "examples/system_resolvers.rs"
[[test]]
name = "cli_output_tests"
path = "tests/cli_output_tests.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
optional = true
[dependencies.clap_complete]
version = "4"
optional = true
[dependencies.futures]
version = "0.3.*"
[dependencies.hickory-resolver]
version = "0.25"
features = [
"tokio",
"tls-ring",
"https-ring",
"dnssec-ring",
"system-config",
"serde",
]
[dependencies.hostname]
version = "0.4"
optional = true
[dependencies.humantime]
version = "2"
optional = true
[dependencies.indexmap]
version = "2"
[dependencies.ipnetwork]
version = "0.21"
features = ["serde"]
[dependencies.lru_time_cache]
version = "0.11"
[dependencies.nom]
version = "7"
[dependencies.pin-project]
version = "1"
[dependencies.rand]
version = "0.9"
[dependencies.reqwest]
version = "0.13"
features = [
"rustls",
"json",
"query",
"hickory-dns",
]
default-features = false
[dependencies.resolv-conf]
version = "0.7"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.smallvec]
version = "1"
[dependencies.tabwriter]
version = "1"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"fs",
"io-util",
"net",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-futures]
version = "0.2"
[dependencies.tracing-log]
version = "0.2"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"registry",
"env-filter",
]
optional = true
[dependencies.yansi]
version = "1.0"
[dev-dependencies.lit]
version = "1"
[dev-dependencies.spectral]
version = "0.6"
[dev-dependencies.tracing-log]
version = "0.2"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"registry",
"env-filter",
]
[build-dependencies.clap]
version = "4"
features = ["suggestions"]
default-features = false
[build-dependencies.clap_complete]
version = "4"
[profile.release]
lto = true
panic = "abort"
overflow-checks = true