Un listado completo de lo que la app monitoriza, y por qué se tomaron las decisiones técnicas que la hacen posible.
NetPulse lee datos de tus routers y los muestra en una sola pantalla. El sondeo es de solo lectura; lo que escribe es siempre explícito y con rollback.
Una puntuación de 0 a 100 que condensa latencia, pérdidas, uptime y temperatura. A su lado, el tráfico WAN en vivo comparado con tu plan contratado, latencia media y número de dispositivos.
Mapa semántico construido desde el FDB del bridge y LLDP cuando está disponible. Dibuja routers, switches, hipervisores, contenedores anidados, clientes cableados e inalámbricos y túneles WireGuard. Y cuando la inferencia no puede saber dónde está enchufado algo, ancla el dispositivo a su router y boca exactos a mano.
Cada cliente clasificado automáticamente por patrones de hostname y OUI, con banda, señal en dBm, primer visto y el router o puerto al que habla.
Vista de conjunto de todos tus routers con CPU, memoria, temperatura, uptime, clientes conectados y mini sparkline de carga de las últimas 24 h. Los switches gestionados sondeados por SNMP también son ciudadanos de primera, con su histórico de tráfico y sus clientes.
El agente es un paquete nativo de OpenWrt (.ipk y .apk, de mips a x86/64) con init procd, config UCI y watchdog. El servidor instala y actualiza la flota entera desde la UI, y rota los tokens en caliente sin reinstalar.
Matriz de señal entre APs y clientes, eventos de roaming persistentes durante 30 días, y herramientas para re-anclar clientes sticky o expulsarlos de un AP para que elijan uno mejor.
Vista por puerto de los switches: velocidad negociada, tráfico, errores, estado del link y alertas específicas como puerto fantasma, flapping o velocidad degradada.
Listado de peers, últimos handshakes, transferencia por peer y dibujo del túnel en el mapa de topología, con cada peer etiquetado por su nombre real de la configuración UCI.
Estadísticas de consultas DNS, porcentaje bloqueado, dominios más bloqueados y qué clientes usan el filtro, todo junto al resto de la red.
Seis categorías con urgencia por categoría: temperatura, firmware disponible, nuevo dispositivo, handshake WireGuard, puerto de red y eventos de roaming. Feed en la campana y notificaciones Web Push.
Reportes de disponibilidad diarios, semanales y mensuales por router y por dispositivo. En desarrollo: tráfico, actividad, resumen de alertas y exportación.
Una sola columna con un índice fijo que te sigue al hacer scroll: usuarios y roles, idioma por usuario, apariencia con previews reales, umbrales de datos, routers, servicios e integraciones, orquestación y auto-actualización.
DEMO_MODE=1 levanta una red de muestra completa con 67 dispositivos sin necesidad de routers reales. Útil para probar la interfaz antes de instalar.
luci-app-netpulse integra el estado del agente dentro de la interfaz web de OpenWrt: procd, UCI, logs, reinicio y enlace a la app principal.
Si no tienes una caja aparte, el servidor puede correr en el propio router OpenWrt, con configuración UCI, pinning TLS y emparejamiento local.
NetPulse no es un producto de marketing: es una herramienta personal que se construyó para resolver problemas reales. Estas son las decisiones que más preguntas reciben.
NetPulse nace de una red doméstica con cuatro routers: un GL.iNet Flint 2 como gateway y tres Xiaomi AX6 de segunda mano. OpenWrt permite flashear, inspeccionar y controlar el hardware. Sin eso no habría forma de leer el FDB, iwinfo o los eventos iw que alimentan la app.
Un único binario estático con CGO desactivado. No necesita toolchain C en el destino, se actualiza con un swap atómico y guarda usuarios, sesiones y series temporales en un SQLite local con WAL. modernc.org/sqlite hace que sea totalmente estático.
El servidor genera su propio par ed25519 y tú autorizas la clave pública en cada router. Desde ahí el sondeo solo lee: ubus, /proc, iwinfo, bridge fdb, wg show. Las acciones que escriben (reservar una IP, bloquear un dispositivo, orquestar servicios, actualizar firmware) son siempre explícitas, las lanza un admin y se aplican con snapshot y rollback automático.
NetPulse monitoriza una red; no necesita un contenedor para hacerlo. Un servicio systemd enjaulado con una unidad simple, logs en journald y reinicio automático es más ligero y más fácil de operar en un LXC o VM pequeña.
La interfaz es una SPA React con Vite y Tailwind que se instala como PWA. El backend envía eventos en vivo por SSE cada ~5 s. No hay polling constante ni WebSocket: SSE es unidireccional, se reconecta solo y funciona bien detrás de proxies caseros.
Empezamos con DAWN para el steering WiFi porque era la opción más visible en la comunidad OpenWrt. En redes reales vimos que podía denegar autenticaciones en cadena, expulsar clientes de forma inesperada y mantener bugs sin resolver en el modelo peer-to-peer. usteer es el daemon oficial de OpenWrt, con funciones equivalentes y un modelo más estable. La migración a usteer está en curso y conserva la misma visibilidad de roaming.
Es importante ser honesto sobre el alcance. NetPulse no pretende ser: