-
ExploreDNS v1.1.0
Stablereleased this
2026-07-07 15:16:11 +00:00 | 4 commits to main since this releaseThe web interface grows up: this release brings the dns.squish.net-style
traversal detail tree and a geolocated server map to the browser, plus
operational features for running ExploreDNS as a public service — rate
limiting, optional usage reporting, and automated release engineering.Highlights
Live traversal detail tree. The web UI now renders every query as it
happens in a refid-numbered tree mirroring the original dns.squish.net
detail view: status chips per node (referral / answered / error), glue
resolution subtrees collapsed behind per-node "show resolve" toggles,
italic-- completed earliermarkers for fast-mode reuse, and a raw
event log behind a toggle for debugging.Server map. After each traversal the server fingerprints every
nameserver it encountered (version.bind) and the UI plots them on an
OpenStreetMap/Leaflet map with a Country / City / Servers / Software
table beneath — geolocation happens client-side via geojs.io, so there
are no API keys and no server-side tracking. Also available raw at
GET /api/traverse/{id}/servers.Public-service guardrails. Traversal starts are now rate-limited per
client IP (default 30/hour, tunable viaEXPLOREDNS_RATE_LIMIT,
Fly-Client-IP/X-Forwarded-Foraware) on top of the existing
concurrency cap and hard timeout. Direct localhost use is exempt, so
local workflows stay unthrottled.Optional usage reporting. Set
EXPLOREDNS_WEBHOOK_URLand the server
POSTs a JSON event when a traversal starts and another when it completes
(duration, status, result count, and the summary). Delivery is
fire-and-forget with a short timeout and one retry — a slow or dead
receiver can never delay a user's traversal. Off by default; exact
payload shapes are documented in the README.Release engineering.
exploredns --version/-Vreports the build
version (also inGET /api/health, alongside the Fly region serving the
request). From this release onward, everyv*tag automatically builds
and attaches binaries for Linux (amd64/arm64), macOS (amd64/arm64), and
Windows (amd64) with SHA256SUMS, pushes version-tagged Docker images,
and deploys the hosted instance.Plus: a favicon — the delegation tree in 32 pixels, green leaf for
the answered path.Upgrading from v1.0.0
- No CLI changes; output and flags are unchanged.
- Web API: rate limiting is on by default (30 traversals/hour per
client IP → HTTP 429 beyond that). Raise or lower it with
EXPLOREDNS_RATE_LIMIT="N/duration". /api/healthnow includesversion(andregionwhen running on
Fly.io).- New endpoint:
GET /api/traverse/{id}/servers; SSE streams emit a
serversstage event when fingerprints are ready.
Install
go install gitea.hansenits.com.au/hits/ExploreDNS/cmd/exploredns@v1.1.0 go install gitea.hansenits.com.au/hits/ExploreDNS/cmd/server@v1.1.0Downloads