A fast, friendly DNS client — community maintained
dog-community is a maintained fork of the beloved terminal DNS client (dog/doge). It keeps the human-readable output you know, adds steady fixes, and supports DNS over HTTPS/TLS with JSON output for scripting.

About the project
Why this fork?
The original project rules; we want it to keep thriving. dog-community continues the work with active maintenance, packaging, platform support, and small UX touches that make daily usage smoother.
Renaming note
You may still see doge
in some places as we transition. The command and packages are being
renamed to dog
/dog-community
over time. Expect some overlap while we ship updates.
License & ethos
Open source, MIT. We welcome contributions, packaging help, and CI tweaks (Windows and distro coverage especially).
Install
Cargo
cargo install dns-doge
Binary name may still be doge
during the rename window.
Arch Linux (AUR)
yay -S dns_doge
Deb/RPM (coming)
Debian/Ubuntu packages and RPMs are planned; watch the Releases page.
Docker/Podman
docker build -t dog-community . docker run -it --rm dog-community doge example.net # or alias the image: alias doge="docker run -it --rm dog-community"
Build from source
git clone https://github.com/Dj-Codeman/dog_community cd dog_community cargo build --release ./target/release/doge --help
Usage
Basics
doge example.net # default query doge example.net MX # specific record type doge example.net MX @1.1.1.1 # specific nameserver doge example.net MX @1.1.1.1 -T # TCP instead of UDP
Arguments style
doge -q example.net -t MX -n 1.1.1.1 -T # explicit flags
JSON & scripting
doge example.com AAAA -J | jq .
Protocol modes
-U/--udp # DNS over UDP -T/--tcp # DNS over TCP -S/--tls # DNS over TLS -H/--https # DNS over HTTPS
More options (highlights)
-q, --query HOST Domain to query -t, --type TYPE A, AAAA, MX, NS, TXT, ... -n, --nameserver ADDR Resolver to use (e.g. 1.1.1.1) -p, --port PORT Non-default port --class CLASS IN, CH, HS -1, --short First result only -J, --json JSON output --time Print response time --edns=SETTING (disable | hide | show) --txid NUMBER Force transaction ID
Features
Readable output
Aligned columns, color, and combined queries (A/AAAA/NS/MX/TXT) that are easy on the eyes.
DoH/DoT
DNS over HTTPS/TLS support for privacy-aware lookups out of the box.
JSON mode
Emit machine-friendly JSON for pipelines and scripts.
Cross-platform
Rust 2021, small static releases where possible; Windows nameserver autodetect included.
Contribute
Issues and PRs welcome! Packaging help (Deb/RPM, Scoop/Winget), CI, and docs are great places to start.