doggo: A Modern Command-line DNS Client for Humans

doggo: A Modern Command-line DNS Client for Humans

Summary

doggo is a powerful and user-friendly command-line DNS client, built with Golang. It aims to simplify DNS lookups and troubleshooting by providing clear, human-readable output, unlike traditional tools. Inspired by the Rust 'dog' client, doggo extends its capabilities with a focus on modern DNS protocols and ease of use.

Repository Info

Updated on February 10, 2026
View on GitHub

Tags

Click on any tag to explore related repositories

Introduction

doggo is a powerful and user-friendly command-line DNS client, built with Golang. It aims to simplify DNS lookups and troubleshooting by providing clear, human-readable output, unlike traditional tools. Inspired by the dog client written in Rust, doggo extends its capabilities with a focus on modern DNS protocols and ease of use.

Installation

doggo offers multiple convenient installation methods across various platforms.

The recommended approach is using the easy install script:

curl -fsSL https://raw.githubusercontent.com/mr-karan/doggo/main/install.sh | sh

Alternatively, you can install doggo via popular package managers like Homebrew, MacPorts, Arch Linux (yay), Scoop, and Winget. Go users can also install it directly using go install github.com/mr-karan/doggo/cmd/doggo@latest. Docker images are also available for containerized environments.

For a comprehensive guide and more options, including pre-compiled binaries, visit the official installation documentation.

Examples

Getting started with doggo is straightforward. Here are a few common use cases:

# Simple DNS lookup
doggo example.com

# Query MX records using a specific nameserver
doggo MX github.com @9.9.9.9

# Use DNS over HTTPS
doggo example.com @https://cloudflare-dns.com/dns-query

# JSON output for scripting
doggo example.com --json | jq '.responses[0].answers[].address'

# Reverse DNS lookup
doggo --reverse 8.8.8.8 --short

These examples showcase doggo's flexibility for various DNS queries.

Why Use doggo?

doggo stands out with its focus on user experience and modern features. It provides human-readable, color-coded, and tabular output, making DNS responses easy to understand. For automation, it offers robust JSON output.

A key strength is its support for multiple transport protocols, including DoH (DNS over HTTPS), DoT (DNS over TLS), DoQ (DNS over QUIC), TCP, UDP, and DNSCrypt. This versatility makes it an invaluable tool for network professionals and developers alike.

Additional features like EDNS support, Internationalized Domain Names (IDN), shell completions, and cross-platform compatibility further enhance its utility, making doggo a comprehensive replacement for traditional DNS clients.

Links

Explore doggo further through these official resources: