Our take
Activeregular commits and releases- Activity
- 61
- Community
- 52
- Issues
- 39
- Pull requests
- 67
+10 stars in the last 8 days
- Slower to close issues than 98% of the projects we track
doggo is a capable, actively maintained DNS CLI for people who want readable output, scripting support, and a choice of DNS transports without leaving the terminal.
Good fit if
- You want a dig-like tool with JSON output and convenient configuration.
- Your workflow needs encrypted DNS transports, resolver selection, or delegation tracing.
- You prefer a Go command-line tool with cross-platform installation options.
Look elsewhere if
- You need a DNS service or server rather than a client for issuing queries.
- You require a project under a permissive license; doggo uses GPL-3.0.
- Your environment cannot use the Go 1.26.6 runtime requirement indicated by the project metadata.
All health signals
| Last commit | 2026-09-01 (1 month ago) |
|---|---|
| Commits, last 90 days | 19 |
| Releases, last 12 months | 12 (latest v1.4.0, 2026-09-01) |
| Contributors | 38 (top contributor: 74% of commits) |
| Issues closed, last 90 days | 12 (typically closed in 934 days) |
| Project age | 5 years |
Checked on 2026-10-07 with the GitHub API.
Overview
doggo is a command-line DNS client for looking up records and inspecting resolver responses. It presents results in a human-readable format while also offering JSON output for scripts, providing an alternative to tools such as dig.
It supports standard DNS transports and encrypted options including DNS over HTTPS, TLS, and QUIC, plus DNSCrypt. Its configurable resolvers and query options make it useful for both routine lookups and troubleshooting.
Key Features
- Displays DNS answers in a concise, color-coded table or JSON.
- Queries over UDP and TCP, as well as DoH, DoT, DoQ, and DNSCrypt.
- Supports iterative delegation tracing and reverse DNS lookups.
- Offers EDNS options including Client Subnet, NSID, Cookies, and Padding.
- Allows multiple resolvers and configurable query strategies.
- Reads defaults from TOML configuration files or environment variables.
- Includes a web interface and shell completions for zsh and fish.
Use Cases
- Developers can check DNS records during application setup or deployment, using JSON output when results need to feed a script.
- Operators can compare resolver behavior by querying multiple nameservers or using encrypted DNS transports.
- Network troubleshooters can follow delegation with
--trace, inspect response timing, or perform reverse lookups. - Privacy-conscious users can make DNS queries through DoH, DoT, DoQ, or DNSCrypt instead of relying only on plain DNS.
What you need
Detected in the repository
- Go 1.26.6 or newer (from go.mod)
- Automated checks on GitHub Actions
License in plain words
GPL-3.0strong copyleft
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license notice
- Share your changes: yes, the full source of anything you distribute that includes it, under the GPL
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Install with Go:
go install github.com/mr-karan/doggo/cmd/doggo@latest
Then try doggo example.com. See the README and documentation for installation options and usage details.
Considerations
The project is active, with regular commits and releases, and contributions come from multiple people rather than being concentrated in one contributor. Recent issue closures show ongoing maintenance, though the measured median time to close issues is lengthy, so teams with time-sensitive support needs should evaluate that fit. The stated Go runtime requirement is 1.26.6. GPL-3.0 licensing may impose obligations on teams distributing modified versions or incorporating the software into their products.
Found this useful?
Share it with someone who would like doggo.