| Crates.io | dns-doge |
| lib.rs | dns-doge |
| version | 0.2.9 |
| created_at | 2024-02-22 02:26:54.747583+00 |
| updated_at | 2025-08-10 09:57:20.937466+00 |
| description | A command-line DNS client |
| homepage | https://dns.lookup.dog/ |
| repository | |
| max_upload_size | |
| id | 1148807 |
| size | 452,574 |
doge is a command-line DNS client, like dig forked from the amazing work done here. It has colourful output, understands normal command-line argument syntax, supports the DNS-over-TLS and DNS-over-HTTPS protocols, and can emit JSON. I believe this is an amazing project and should be improved on.
doge example.net Query a domain using default settings
doge example.net MX ...looking up MX records instead
doge example.net MX @1.1.1.1 ...using a specific nameserver instead
doge example.net MX @1.1.1.1 -T ...using TCP rather than UDP
doge exapple.net MX @1.1.1.1 -p 69 ...using a nonstandard port
doge -q example.net -t MX -n 1.1.1.1 -T As above, but using explicit arguments
<arguments> Human-readable host names, nameservers, types, or classes
-q, --query=HOST Host name or domain name to query
-t, --type=TYPE Type of the DNS record being queried (A, MX, NS...)
-n, --nameserver=ADDR Address of the nameserver to send packets to
-p, --port=PORT Port options for sending queries on nonstandard ports
--class=CLASS Network class of the DNS record being queried (IN, CH, HS)
--edns=SETTING Whether to OPT in to EDNS (disable, hide, show)
--txid=NUMBER Set the transaction ID to a specific value
-Z=TWEAKS Set uncommon protocol-level tweaks
-U, --udp Use the DNS protocol over UDP
-T, --tcp Use the DNS protocol over TCP
-S, --tls Use the DNS-over-TLS protocol
-H, --https Use the DNS-over-HTTPS protocol
-1, --short Short mode: display nothing but the first result
-J, --json Display the output as JSON
--color, --colour=WHEN When to colourise the output (always, automatic, never)
--seconds Do not format durations, display them as seconds
--time Print how long the response took to arrive
Cargo: cargo install dns-doge
ArchLinux: yay -S dns_doge
Ubuntu/Debian: Comming Soon
RHEL/Fedora/Cenos: Publishing rpm
To build the container image of doge, you can use Docker or Podman. Here an example using Docker:
$ docker build -t doge .
You can then run it using the following command:
$ docker run -it --rm doge
To run doge directly, you can then define the following alias:
<code>$ alias doge="docker run -it --rm doge"</code>
I am not a Rust expert at all, Honestly I'm the opposite, just learning coding. I used dog on my Arch system and a few random *nix Laptops that I perpetually fix and break. As such parts of maintaining and improving this project will be outside of my understanding. Learning packaging, docker stuff and CI/CD. I'm too broke for a mac book, and currently refuse to install windows 10/11, Small fixes and improvements I'll try to fix timely but major things especially on my non target machines might take awhile - forever to fix ( please drop a PR ) in those cases :).
The long awaited website is here: CHECK ME OUT!!!
<p><s> I will make a website at some point... for the time being nothing to drastic has changed from the dog <a href=" https://dns.lookup.dog">website</a>
</s></p>
<p> The original website no-longer exists. I'll make a new website for doge.... at some point</p>