# doggo: A Modern Command-line DNS Client for Humans

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

Source: osrepos.com
Repository profile: https://osrepos.com/repo/mr-karan-doggo
Generated for open source discovery and AI-assisted research.

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.

GitHub: https://github.com/mr-karan/doggo
OSRepos URL: https://osrepos.com/repo/mr-karan-doggo

## 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.

## Topics

- dns
- dns-client
- doh
- go
- cli
- network
- tool

## Repository Information

Last analyzed by OSRepos: Tue Feb 10 2026 20:01:07 GMT+0000 (Western European Standard Time)
Detail views: 2
GitHub clicks: 4

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## 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:

shell
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](https://doggo.mrkaran.dev/docs/intro/installation/).

## Examples

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

shell
# 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:

*   [GitHub Repository](https://github.com/mr-karan/doggo)
*   [Official Documentation](https://doggo.mrkaran.dev/docs/)
*   [Web Interface](https://doggo.mrkaran.dev/)