user@devops:~$ cat README.md
route-watch
# Descripción
route-watch (cpp-route-watch) es un monitor de la tabla de rutas del kernel Linux escrito en C++23 sin dependencias externas. Lee /proc/net/route (IPv4) y /proc/net/ipv6_route (IPv6) para decodificar destinos, gateways, mascaras/prefijos, flags y metricas por interfaz. IPv4: hex little-endian del kernel a dotted-quad (ej. 010110AC → 172.16.1.1) y prefijo CIDR desde genmask. IPv6: hex network-order %pi6 con compresion :: (ej. ...0001 → ::1) — distinto del formato LE de /proc/net/tcp6. Clasifica defaults, rutas via gateway (flag G) y host routes (flag H). Agregados: conteo IPv4/IPv6, default v4/v6, via-gateway y host routes. Orden: defaults primero, luego prefijo mas especifico y metrica. Modo watch (--watch N) con deltas de conteo entre snapshots. Salida JSON (--json) con summary + arrays ipv4/ipv6 validable. --demo multi-iface (eth0, docker0, wg0, tun0, br-lan). Filtros --ipv4/--ipv6. --no-color con paleta ANSI mutable (0 escapes en pipes). Selftest 44 checks: decode hex, parser de tablas, demo, JSON, lectura real de /proc. Zero deps: g++ -std=c++23 -O2 -Wall -Wextra.
# Características principales
$ Lectura de /proc/net/route + ipv6_route: destinos, gateways, flags, metricas e ifaces
$ Decode IPv4 hex LE del kernel a dotted-quad y prefijo CIDR desde genmask
$ Decode IPv6 %pi6 network-order con compresion :: (distinto de tcp6 LE)
$ Clasificacion de defaults, rutas via gateway (UG) y host routes (UH)
$ Modo watch (--watch N) con deltas de conteo IPv4/IPv6/default entre snapshots
$ Salida JSON (--json) con summary + arrays ipv4/ipv6 validable con python -m json.tool
$ --demo multi-iface (eth0/docker0/wg0/tun0) y --no-color con 0 codigos ANSI en pipes
$ Selftest 44 checks + zero dependencias: g++ -std=c++23 directo
# Galería
# Tecnologías utilizadas