mr-karan

doggo: Query DNS from the Command Line

doggo is a Go-based DNS command-line client for readable lookups and scripting. It supports conventional DNS as well as encrypted transports, and is actively maintained with regular releases.

Stars
4.5k
Forks
146
Stars, last 15 days
+12
Last commit
1 month ago
Contributors
38

Our take

Activeregular commits and releases

Health score

55/100

How it is scored
Activity
60
Community
53
Issues
39
Pull requests
66

+12 stars in the last 15 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 commit2026-09-01 (1 month ago)
Commits, last 90 days19
Releases, last 12 months12 (latest v1.4.0, 2026-09-01)
Contributors38 (top contributor: 74% of commits)
Issues closed, last 90 days12 (typically closed in 934 days)
Project age5 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.