A command-line DNS client like dig but with colorful output and DNS-over-TLS support.
dog is a modern command-line DNS client designed as an alternative to the traditional dig tool. It provides a more user-friendly experience with colorful output, intuitive command-line argument syntax, and support for modern DNS protocols including DNS-over-TLS and DNS-over-HTTPS. The tool can also output results in JSON format, making it useful for scripting and automation tasks.
What sets dog apart from other DNS clients is its focus on usability and modern protocol support. Users can make DNS queries using natural syntax like dog example.net MX @1.1.1.1 or use explicit arguments for more complex queries. The tool supports all standard DNS record types and classes, along with advanced features like EDNS options and custom transaction IDs.
dog is ideal for system administrators, network engineers, developers, and anyone who needs to perform DNS lookups regularly. Its clean output format makes it particularly useful for debugging DNS issues, while its JSON output capability makes it valuable for integration into monitoring scripts and automated systems. The support for secure DNS protocols (DoT and DoH) also makes it relevant for privacy-conscious users and modern network environments.
# via Homebrew
brew install dog
# via Cargo
cargo build --release
