doggo: A Modern Command-line DNS Client for Humans

This repository profile is provided by osrepos.com, an open source repository discovery platform.

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 Information

Analyzed by OSRepos on February 10, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party 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:

Related repositories

Similar repositories that may be relevant next.

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️