Añade las dos funciones que Avahi/Bonjour tenían y faltaban:
- `mdns browse --watch`: monitor DNS-SD en vivo (eventos +/=/-), equivalente
a `avahi-browse -a`. Sin --type descubre tipos dinámicamente via el
meta-servicio _services._dns-sd._udp.local. y adjunta un browser por tipo.
Nuevo modulo lib/mdns_tools/watch.py.
- `mdns publish --address <nombre> <ip>`: publica un A record puro
hostname->IP, equivalente a `avahi-publish -a`.
Robustez del publisher:
- Maneja NonUniqueNameException (probing RFC 6762): si el nombre ya esta
tomado, deja que zeroconf renombre en vez de crashear.
- `mdns publish` sin --config auto-carga ~/.config/mdns/services.json.
Interoperabilidad validada en LAN real (documentada en README):
- Termux -> Avahi: con `mdns publish` activo, un Linux con nss-mdns resolvio
`movil.local` y le hizo ping sin configuracion extra (getent + ping OK).
- Avahi -> Termux: `mdns browse` ve los servicios que publican equipos
Avahi/Bonjour (SMB, SSH, _workstation, Chromecast, AirPlay...).
Al usar zeroconf (RFC 6762/6763), Mac/Linux/Windows descubren y resuelven
lo publicado y viceversa, sin cliente especial.
README: seccion de interoperabilidad, tabla RFC ampliada, ejemplos --watch
y --address. bashrc.snippet: alias mdns-watch. publish.py recortado a <100.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>