doggo is a command-line DNS client written in Go that provides a modern alternative to traditional tools like dig.
The tool addresses the need for a more human-friendly DNS query interface. Traditional DNS clients like dig present output in a format optimized for parsing rather than readability. doggo solves this by reformatting DNS responses into a neat, concise manner while supporting modern DNS protocols including DNS over HTTPS (DoH), DNS over TLS (DoT), DNS over QUIC (DoQ), and DNSCrypt alongside standard DNS queries.
doggo suits developers and system administrators who frequently perform DNS lookups and prefer readable output over dig's verbose format. It works well for ad-hoc DNS debugging, scripting scenarios where output clarity matters, and environments where encrypted DNS protocols are required. The tool is particularly valuable for those already familiar with dig who want similar functionality with better presentation. Configuration can be managed through a TOML file or environment variables, allowing users to set defaults for flags rather than repeating them on every invocation, with command-line arguments taking precedence over configuration file settings.
The project maintains active development with regular updates to support multiple platforms. Pre-compiled binaries are available for Linux, macOS, Windows, FreeBSD, OpenBSD, and NetBSD across various architectures including ARM variants. The tool is packaged in multiple package managers, indicating sustained maintenance and community adoption. Documentation is comprehensive, including a web interface, installation guide, and CLI reference covering configuration options and protocol support.