Doggo – Command-line DNS client for modern DNS needs

Doggo is a versatile command-line DNS client designed for modern DNS needs. It supports various DNS transport protocols such as DNS over HTTPS (DoH), DNS over TLS (DoT), DNS over QUIC (DoQ), and DNSCrypt. With a focus on simplicity and efficiency, Doggo provides human-readable and JSON output, making it ideal for both casual users and developers. It’s cross-platform, supporting Linux, macOS, Windows, and BSD systems. This article will guide you through the installation process on different operating systems and provide examples of how to use Doggo.

Doggo Command-Line DNS Client

Table of Contents

  1. Installation
  2. Examples
  3. Conclusion

1. Installation

Windows

  1. Download the Binary: Go to the Doggo GitHub releases page and download the latest Windows binary.
  2. Extract the Binary: Extract the downloaded zip file to a directory of your choice.
  3. Add to PATH: Add the directory containing the doggo.exe to your system PATH.
  4. Verify Installation: Open Command Prompt and run:
    doggo --version

macOS

  1. Using Homebrew:
    brew install doggo
  2. Manual Installation:
    • Download the latest macOS binary from the GitHub releases page.
    • Extract and move the binary to /usr/local/bin.
    • Verify the installation:
      doggo --version

Linux

  1. Using Package Manager:
    • For Debian-based distributions:
      sudo apt install doggo
    • For Red Hat-based distributions:
      sudo dnf install doggo
  2. Manual Installation:
    • Download the binary from the GitHub releases page.
    • Extract and move the binary to /usr/local/bin.
    • Verify the installation:
      doggo --version

2. Usage Examples

  1. Basic DNS Query:
    doggo example.com
  2. Query with Specific DNS Server:
    doggo example.com @1.1.1.1
  3. Reverse DNS Lookup:
    doggo -x 8.8.8.8
  4. Query with JSON Output:
    doggo example.com -j
  5. Query DNS over HTTPS:
    doggo example.com --doh
  6. Query DNS over TLS:
    doggo example.com --dot
  7. Query DNS over QUIC:
    doggo example.com --doq
  8. Use Multiple DNS Servers:
    doggo example.com @1.1.1.1 @8.8.8.8
  9. Specify Record Type (e.g., MX records):
    doggo example.com -t MX
  10. Enable Verbose Output:
    doggo example.com -v
  11. Specify Query Timeout:
    doggo example.com --timeout 5
  12. Query DNSCrypt:
    doggo example.com --dnscrypt
  13. Shell Completions:
    doggo completion bash | sudo tee /etc/bash_completion.d/doggo
  14. Web Interface:
    doggo serve
  15. Help and Usage Information:
    doggo --help

3. Conclusion

Doggo is a powerful and flexible DNS client that caters to a variety of needs with support for multiple DNS protocols and output formats. Its cross-platform compatibility ensures that users on Windows, macOS, and Linux can all benefit from its features. By following the installation steps and using the provided examples, you can leverage Doggo to enhance your DNS querying capabilities. Whether you’re a developer, network administrator, or casual user, Doggo offers a robust solution for DNS resolution.