--- title: doggo — Network Analysis and Diagnostics date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: A modern DNS lookup client that replaces dig, supporting color output, JSON, and multiple record queries. tags: program, Network Analysis and Diagnostics, doggo --- A modern DNS lookup client that replaces dig. Supports color output, JSON, and simultaneous lookup of multiple records. ## Basic Information | Program Name | doggo | | --- | --- | | One-line Introduction | A modern DNS lookup client that replaces dig. Supports color output, JSON, and simultaneous lookup of multiple records. | | Development & Maintenance | Karan Rajeev (mr-karan) | | Official Homepage | https://doggo.mrkaran.dev | | Official Documentation | https://doggo.mrkaran.dev/docs/ | | Official Download | https://doggo.mrkaran.dev/docs/getting-started/installation/ | | Supported Operating Systems | Linux, macOS, Windows (Binary, Homebrew, Debian, RPM) | | License | Apache-2.0 | | Stable Version | 1.0.x — Verified on 2026-10-18 | | GitHub Repository | https://github.com/mr-karan/doggo | | Category | Network Analysis & Diagnostics (Tags: DNS, dig, lookup, CLI, Go) | ## What is this program? doggo is a modern DNS lookup tool designed to replace the standard dig command. It provides color-coded output, choice of JSON or table format, and the ability to query multiple records (A, AAAA, MX, TXT, etc.) at once. Written in Go, it runs as a single binary anywhere and also supports DNS over HTTPS (DoH) and DNS over TLS (DoT). It can follow the default system DNS settings or specify any arbitrary nameserver. ## What problem does it solve? - When dig's default output is hard to read, it provides a color-coded, organized format. - It is used to look up multiple records (MX, TXT, NS, etc.) of a domain at once. - It is used for private lookups via DNS over HTTPS. - It is used to parse DNS results into scripts in JSON format. ## Key Features ### Simultaneous Lookup of Multiple Records Can query A, AAAA, MX, TXT, NS, CNAME, and others in one go. - **Use Case**: When checking domain configuration, you don't have to query each record separately. - **Outcome**: View all records on a single screen. - **Limitations**: Some non-standard records may not be supported. ### JSON Output Outputs lookup results in JSON format for use in scripts and automation. - **Use Case**: Used to automatically verify DNS configuration in CI/CD pipelines. - **Outcome**: DNS results can be processed as structured data. - **Limitations**: JSON output can become lengthy with large-scale queries. ### DNS over HTTPS / TLS Supports encrypted DNS lookups via DoH and DoT protocols. - **Use Case**: Used when concerned about ISP DNS tampering or eavesdropping. - **Outcome**: DNS queries can be sent over an encrypted channel. - **Limitations**: DoH server responses might be slower than standard DNS. ### Custom Nameserver Allows specifying an arbitrary DNS server for lookups. - **Use Case**: Used to check propagation status to specific nameservers (e.g., 8.8.8.8, 1.1.1.1). - **Outcome**: Allows comparing DNS response differences between servers. - **Limitations**: If the specified server is unresponsive, the lookup fails. ## Installation and Execution ### Script Installation (Linux/macOS) Install easily using the official installation script. ``` curl -sSfL https://raw.githubusercontent.com/mr-karan/doggo/main/install.sh | sh -s -- -b /usr/local/bin # Verify installation doggo --version ``` ### cargo (Rust Binary) Can also be installed via cargo. ``` cargo install doggo-cli doggo --version ``` ### macOS / Homebrew Install with Homebrew. ``` brew install doggo ``` ## Practical Usage Examples ### Basic DNS Lookup (A Record) Look up the IPv4 address of a domain. ``` # Basic A record lookup doggo example.com # Simultaneous lookup of multiple records doggo example.com A,AAAA,MX,TXT ``` ### Lookup via Specific Nameserver Query a desired DNS server. ``` # Lookup via Cloudflare DNS doggo example.com @1.1.1.1 # Lookup via Google DNS doggo example.com @8.8.8.8 ``` ### Lookup with JSON Output Receive results in JSON format for use in scripts. ``` # Output in JSON format doggo example.com MX --json # Parse with jq doggo example.com A --json | jq '.[0].data' ``` ### Private Lookup via DoH Send encrypted queries via DNS over HTTPS. ``` # Use DoH doggo example.com --short --https https://cloudflare-dns.com/dns-query # Use DoT doggo example.com --tls --resolver 1.1.1.1:853 ``` --- Source (HTML): https://games.aidebatehub.com/programs/apps/network/doggo.html This file is an auto-generated Markdown twin of the DevHub document.