Skip to content

v1.1.0 — mdns-grep: regex-based mDNS service discovery

Latest

Choose a tag to compare

@sonnt85 sonnt85 released this 17 Apr 05:11
· 10 commits to main since this release

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 IPv6

Bug 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

Full Changelog

v1.0.0...v1.1.0