Repository navigation
What's New
The only Go mDNS library with regex-based service discovery — now with a cross-platform CLI tool.
mdns-grep CLI
Discover mDNS services on your local network using regex patterns — like grep for mDNS.
mdns-grep # enumerate all services
mdns-grep _http._tcp # find HTTP services
mdns-grep -regex '_https?._tcp' # regex: match HTTP + HTTPS
mdns-grep -scan -timeout 10s # full 2-phase network scan
mdns-grep -json _ipp._tcp # JSON output for scripting
mdns-grep -iface eth0 _ssh._tcp # bind to specific interface
mdns-grep -6 # enable IPv6Bug Fixes (10 issues)
- Fix regex recompile every call — cache compiled patterns in
sync.Map - Fix server.sendResponse nil pointer — safe type assertion + nil checks for IPv4/IPv6 listeners
- Fix server recv goroutine leak — check shutdown after ReadFrom
- Fix client recv goroutine leak — WaitGroup + defer cleanup + close msgCh
- Fix sendQuery error logic — only return error when ALL sends fail
- Fix zone.gettxt() nil pointer — nil checks for pointer types
- Fix server_test.go — t.Fatalf from goroutine → atomic.Value
- Fix zone_test.go — TXT record compare pointer vs value
- Fix dead code — remove unused strings.Split
- Add warning when Entries channel full (was silent drop)
Dependency Cleanup
Removed heavy internal dependencies. 467 → 5 deps (only miekg/dns + golang.org/x/*).
Binaries
Pre-built for 14 platforms. UPX-compressed where supported.
| Platform | File | Size |
|---|---|---|
| Linux x86_64 | mdns-grep-linux-amd64 |
1.2M |
| Linux ARM64 | mdns-grep-linux-arm64 |
1.1M |
| Linux ARMv7 | mdns-grep-linux-armv7 |
1.1M |
| Linux x86 | mdns-grep-linux-386 |
1.2M |
| Linux MIPS LE | mdns-grep-linux-mipsle |
1.1M |
| Linux MIPS BE | mdns-grep-linux-mips |
1.1M |
| Linux RISC-V 64 | mdns-grep-linux-riscv64 |
3.6M |
| macOS Intel | mdns-grep-darwin-amd64 |
3.7M |
| macOS Apple Silicon | mdns-grep-darwin-arm64 |
3.6M |
| Windows x64 | mdns-grep-windows-amd64.exe |
1.2M |
| Windows ARM64 | mdns-grep-windows-arm64.exe |
3.6M |
| FreeBSD x64 | mdns-grep-freebsd-amd64 |
3.6M |
| FreeBSD ARM64 | mdns-grep-freebsd-arm64 |
3.5M |
| FreeBSD ARM | mdns-grep-freebsd-arm |
3.6M |