finds.dev← search

// the find

knadh/dns.toys

★ 2,830 · Go · MIT · updated Feb 2026

A DNS server that offers useful utilities and services over the DNS protocol. Weather, world time, unit conversion etc.

dns.toys is a DNS server that repurposes DNS TXT queries as a tiny API for weather, time zones, currency/unit conversion, dictionary lookups, and other odds and ends — so you can get answers with `dig` instead of opening a browser. Good fit for terminal-heavy developers who want fast, scriptable lookups; less useful if you need anything beyond short plain-text answers.

Repurposing DNS as the transport is genuinely clever — any DNS client (dig, nslookup, custom resolvers) works out of the box with zero client library needed. The service catalog (internal/services/*) is large and consistently structured, so adding a new 'toy' is a well-worn pattern to follow. Fully self-hostable via Docker if you don't want to depend on the public dns.toys instance or need offline/air-gapped data.

Building from source is annoying — you have to manually fetch and place cities15000.txt, the WordNet tarball, and IFSC data yourself; none of it is vendored or fetched automatically outside a shell script. DNS/TXT record size limits cap what a response can ever contain, so this only works for short factual answers, not anything structured or verbose. Test coverage looks thin — only internal/services/aerial has a test file, so correctness of the fx, weather, and timezone services is basically unverified from outside. The public dns.toys server is a single point of failure for anyone not self-hosting, and there's nothing in the README about rate limits or uptime guarantees.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →