c96d18859f fix: address code review issues on PR #10 (HAN-384)
- runner.go: store fingerprints in local var, call formatter.SetFingerprints()
  instead of mutating caller's *Config; removes Fingerprints field from Config
- fingerprint.go: use singleflight.Group in Query to coalesce concurrent
  probes for the same IP, eliminating the double-probe race
- output layer: add SetFingerprints(map[string]string) to Formatter interface;
  textFormatter and jsonFormatter each hold their own fingerprints field
- formatter_test.go: add TestTextFormatterWriteSummaryShowsVersions and
  TestJSONFormatterWriteSummaryShowsVersions verifying version output

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-08 02:59:38 +10:00
2026-06-05 04:49:39 +00:00
2026-06-05 04:49:39 +00:00

ExploreDNS

DNS reconnaissance and exploration tool.

Build

go build -o bin/exploredns ./cmd/exploredns

Or use the Makefile:

make build

Usage

./bin/exploredns <domain>

Development

make test    # run tests
make lint    # run go vet
make clean   # remove build artifacts

Project Structure

cmd/exploredns/        CLI entry point
internal/dns/          DNS query operations
internal/traverse/     DNS tree traversal
internal/fingerprint/  DNS server fingerprinting
internal/output/       Result formatting and output
internal/config/       Configuration management

License

MIT

S
Description
ExploreDNS is a comprehensive DNS traversal tool that explores every possible resolution path for a domain — from the root servers all the way down — just like a real iterative resolver, but without stopping at the first answer. It follows every referral exhaustively, collates all results, and presents them in a structured, human-readable (or JSON) report.
https://exploredns.hansenits.com
Readme GPL-3.0
14 MiB
2026-07-07 15:16:11 +00:00
Languages
Go 84.3%
HTML 14%
Shell 1.5%
Makefile 0.2%