mdns-termux/lib
Andres Garcia 3ddcadd3f2 feat: monitor en vivo (--watch) y publish --address; interop validada
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>
2026-07-20 08:00:07 -05:00
..
mdns_tools feat: monitor en vivo (--watch) y publish --address; interop validada 2026-07-20 08:00:07 -05:00