# mr-karan/doggo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mr-karan-doggo).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,130 stars · 134 forks · Go · gpl-3.0

## Links

- GitHub: https://github.com/mr-karan/doggo
- Homepage: https://doggo.mrkaran.dev/
- awesome-repositories: https://awesome-repositories.com/repository/mr-karan-doggo.md

## Topics

`dns` `dns-client` `doh`

## Description

doggo is a multi-protocol DNS lookup client, performance analyzer, and diagnostic troubleshooting tool. It functions as a command-line utility for performing DNS queries across various transport protocols, including UDP, TCP, HTTPS, TLS, and QUIC.

The project distinguishes itself through a focus on secure and distributed resolution. It implements encrypted DNS standards such as DNS over HTTPS, DNS over QUIC, and DNSCrypt, and provides DNSSEC validation to verify chains of trust for signed domains. Additionally, it can execute queries from global geographic locations via an external API to analyze regional resolution differences and measure response latency across multiple resolvers.

The tool covers a broad range of diagnostic capabilities, including reverse DNS lookups, glue record inspection, and the simulation of client locations using EDNS extensions. It supports batch query processing and provides both human-readable colored output and machine-parsable JSON exports for automation.

The software is distributed as a pre-configured container image for various architectures.

## Tags

### Networking & Communication

- [DNS Query Clients](https://awesome-repositories.com/f/networking-communication/dns-query-clients.md) — Provides a command line tool for performing DNS queries using multiple transport protocols like UDP, TCP, HTTPS, TLS, and QUIC.
- [DNS Record Resolvers](https://awesome-repositories.com/f/networking-communication/dns-query-routers/dns-reconnaissance/dns-record-resolvers.md) — Performs domain name queries for specific record types across multiple transport protocols to verify infrastructure existence. ([source](https://cdn.jsdelivr.net/gh/mr-karan/doggo@main/README.md))
- [Encrypted Query Clients](https://awesome-repositories.com/f/networking-communication/dns-query-clients/encrypted-query-clients.md) — Implements encrypted DNS standards like DNS over HTTPS, DNS over TLS, and DNSCrypt to prevent interception. ([source](https://doggo.mrkaran.dev/docs/resolvers/dot))
- [DNS Diagnostics](https://awesome-repositories.com/f/networking-communication/dns-query-routers/dns-reconnaissance/dns-record-resolvers/dns-diagnostics.md) — Analyzes DNS records and resolver behavior using verbose logging, timing data, and glue record inspection.
- [DNS-over-HTTPS Clients](https://awesome-repositories.com/f/networking-communication/dns-servers/dns-over-https-servers/dns-over-https-clients.md) — Encrypts queries and responses via HTTPS to prevent eavesdropping and manipulation of network traffic. ([source](https://doggo.mrkaran.dev/docs/resolvers/doh))
- [Multi-Protocol Encrypted DNS Clients](https://awesome-repositories.com/f/networking-communication/dns-servers/multi-protocol-encrypted-dns-clients.md) — Supports multiple encrypted DNS standards including DNS over HTTPS, DNS over TLS, and DNSCrypt for secure resolution.
- [Multi-Protocol Routing](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/multi-protocol-routing.md) — Routes DNS requests over multiple transport protocols including UDP, TCP, HTTPS, TLS, QUIC, and DNSCrypt. ([source](https://doggo.mrkaran.dev/docs/guide/reference))
- [DNS-over-QUIC Clients](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/quic-implementations/dns-over-quic-clients.md) — Executes DNS lookups using the QUIC protocol to reduce latency and encrypt data during transmission. ([source](https://doggo.mrkaran.dev/docs/resolvers/quic))
- [Protocol-Agnostic Transport Layers](https://awesome-repositories.com/f/networking-communication/protocol-agnostic-transport-layers.md) — Provides a modular abstraction layer that supports multiple transport protocols including UDP, TCP, TLS, HTTPS, QUIC, and DNSCrypt.
- [DNS Query Flag Control](https://awesome-repositories.com/f/networking-communication/dns-query-clients/dns-query-flag-control.md) — Sets recursion and security flags to control how a DNS server processes a request. ([source](https://doggo.mrkaran.dev/docs/features/tweaks))
- [Glue Record Inspection](https://awesome-repositories.com/f/networking-communication/dns-query-routers/dns-reconnaissance/dns-record-resolvers/glue-record-inspection.md) — Queries the additional section of a response to identify nameserver IP addresses and investigate domain delegation. ([source](https://doggo.mrkaran.dev/docs/guide/examples))
- [DNS Response Formatting](https://awesome-repositories.com/f/networking-communication/dns-response-formatting.md) — Renders lookup responses in multiple styles, including colored text and machine-parsable JSON. ([source](https://doggo.mrkaran.dev/docs/))
- [EDNS Client Subnet Routing](https://awesome-repositories.com/f/networking-communication/edns-client-subnet-routing.md) — Uses EDNS client subnet extensions to request geo-aware responses and test traffic routing based on simulated locations. ([source](https://doggo.mrkaran.dev/docs/guide/examples))
- [Multi-Region Monitoring Probes](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/service-mesh-networking/multi-region-federation/multi-region-monitoring-probes.md) — Executes DNS queries from specific global locations via an external API to test network reachability. ([source](https://doggo.mrkaran.dev/docs/guide/reference))

### Security & Cryptography

- [DNS Security](https://awesome-repositories.com/f/security-cryptography/dns-security.md) — Implements secure name resolution protocols including DNS over HTTPS, DNS over TLS, DNS over QUIC, and DNSCrypt.
- [DNS Troubleshooting Tools](https://awesome-repositories.com/f/security-cryptography/dns-troubleshooting-tools.md) — Provides a diagnostic utility for analyzing DNS resolver behavior, validating DNSSEC, and inspecting glue records.
- [DNSCrypt Implementations](https://awesome-repositories.com/f/security-cryptography/dnscrypt-implementations.md) — Authenticates communication between the client and resolver to prevent spoofing and ensure confidentiality via DNSCrypt. ([source](https://doggo.mrkaran.dev/docs/resolvers/dnscrypt))
- [DNSSEC Chain-of-Trust Validators](https://awesome-repositories.com/f/security-cryptography/dnssec-zone-signing/dnssec-chain-of-trust-validators.md) — Implements cryptographic validation of DNS responses from root trust anchors through delegation signer records to ensure authenticity.
- [Latency Benchmarking](https://awesome-repositories.com/f/security-cryptography/encrypted-dns-resolvers/custom-dns-resolvers/latency-benchmarking.md) — Measures response latency and compares results across multiple global resolvers to identify performance bottlenecks.
- [Zone View Retrieval](https://awesome-repositories.com/f/security-cryptography/dns-security/authenticated-record-retrievers/zone-view-retrieval.md) — Retrieves all supported record types for a domain in a single request to provide a complete view of the zone. ([source](https://doggo.mrkaran.dev/docs/features/any))
- [Query Strategies](https://awesome-repositories.com/f/security-cryptography/encrypted-dns-resolvers/custom-dns-resolvers/query-strategies.md) — Implements customizable strategies for sending queries to multiple resolvers to determine response handling. ([source](https://doggo.mrkaran.dev/docs/))

### System Administration & Monitoring

- [Resolver Comparison Tools](https://awesome-repositories.com/f/system-administration-monitoring/dns-resolvers/resolver-comparison-tools.md) — Queries multiple resolvers simultaneously to analyze and compare responses from different providers. ([source](https://doggo.mrkaran.dev/docs/guide/examples))
- [DNS Data Collection](https://awesome-repositories.com/f/system-administration-monitoring/dns-data-collection.md) — Executes batch queries and exports results in JSON format for integration into shell scripts and external tools.
- [DNS Resolvers](https://awesome-repositories.com/f/system-administration-monitoring/dns-resolvers.md) — Controls nameserver querying behavior by managing timeout durations, IP version preferences, and search lists. ([source](https://doggo.mrkaran.dev/docs/guide/reference))
- [Reverse DNS Resolution](https://awesome-repositories.com/f/system-administration-monitoring/reverse-dns-resolution.md) — Translates IP addresses back into their associated domain names for network diagnostics. ([source](https://cdn.jsdelivr.net/gh/mr-karan/doggo@main/README.md))

### Testing & Quality Assurance

- [DNS Performance Analysis](https://awesome-repositories.com/f/testing-quality-assurance/dns-performance-analysis.md) — Measures response latency and compares results from multiple global resolvers simultaneously.

### Data & Databases

- [Batch Query Execution](https://awesome-repositories.com/f/data-databases/batch-query-execution.md) — Reads a list of domains from a file and executes DNS lookups for all entries iteratively. ([source](https://doggo.mrkaran.dev/docs/guide/examples))
- [Regional Resolution Analysis](https://awesome-repositories.com/f/data-databases/query-performance-analyzers/regional-resolution-analysis.md) — Performs lookups from multiple global geographic locations to analyze regional resolution differences. ([source](https://cdn.jsdelivr.net/gh/mr-karan/doggo@main/README.md))

### Software Engineering & Architecture

- [Global Latency Probes](https://awesome-repositories.com/f/software-engineering-architecture/monotonic-time-measurement/global-latency-probes.md) — Measures network response times across diverse global geographic regions using an external API for distributed probing.
- [DNS Resolver Comparison](https://awesome-repositories.com/f/software-engineering-architecture/workflow-nodes/concurrent-provider-queries/dns-resolver-comparison.md) — Dispatches queries to multiple nameservers simultaneously to compare resolution results and measure response latency across providers.

### Web Development

- [EDNS0 Options](https://awesome-repositories.com/f/web-development/api-request-configurations/request-metadata-attachment/protocol-extension-metadata/edns0-options.md) — Injects extended options like client subnets and security cookies into DNS packets via the EDNS0 standard.

### Part of an Awesome List

- [Network and API Clients](https://awesome-repositories.com/f/awesome-lists/devtools/network-and-api-clients.md) — Human-friendly DNS lookup client.
