Funciones

Todo lo que NetPulse puede ver

Un listado completo de lo que la app monitoriza, y por qué se tomaron las decisiones técnicas que la hacen posible.

Inventario de funciones

De la red a la interfaz

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.

Cada tarjeta se despliega con un clic.

Panel de salud

Toda tu red, condensada en un número.

Disponible

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.

  • Health score 0-100 con cálculo ponderado por router
  • Caudal WAN, pico del día, media de 24 h y total
  • Actualización en vivo por SSE cada ~5 s

Tests de velocidad WAN

Tu conexión, medida a lo largo del tiempo.

Disponible

Lanza una prueba desde el servidor cuando la necesites o prográmala por intervalo, semanal, mensual o en la hora de menos tráfico según los últimos siete días. Los resultados se guardan en SQLite y se muestran en una gráfica de una semana y un historial de ejecuciones.

  • M-Lab NDT por defecto, con Ookla, Cloudflare, LibreSpeed y endpoints HTTP personalizados
  • Ejecución manual desde Resumen o Ajustes
  • Alerta si la bajada cae por debajo del porcentaje elegido de tu plan contratado

Topología en vivo

El mapa que tu red dibuja sola.

Disponible

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.

  • Inferencia de switches gestionados e inferidos
  • Hipervisores con contenedores anidados visibles
  • Animación de tráfico y estado de enlaces
  • Modo edición: arrastra los nodos y guarda tu layout
  • Etiqueta de evidencia en cada enlace: LLDP, FDB, atribución por device o override manual

Dispositivos

Cada dispositivo con nombre, tipo y sitio, sin levantar un dedo.

Disponible

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.

  • Clasificación por tipo: ordenador, móvil, IoT, cámara, aspirador, videoportero, aire acondicionado, caldera, placa SBC...
  • Banda (2.4 GHz / 5 GHz / cable) y señal
  • Estado online/offline y first-seen
  • Alertas de desconexión opt-in: marca un cliente y recibe un push urgente cuando se cae de verdad

Flota de routers

Toda tu flota en una pared, carga incluida.

Disponible

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.

  • Tarjeta por router con rol (gateway / AP / switch)
  • Pausa una unidad sin borrarla: sin sondeo ni alertas, con su histórico intacto
  • LLDP-MIB en switches SNMP: uplinks reales sin OpenWrt

Agente y actualización

Se instala desde la UI, se actualiza solo y reporta en vivo.

Disponible

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.

  • Instalación del agente desde la UI del servidor
  • Aviso de agente desactualizado y botón de upgrade
  • Rearme y estado del agente en tiempo real
  • owut check: comprueba si tu router tiene actualización de firmware
  • Actualizaciones de firmware desde la UI, solo OpenWrt vanilla

Integraciones externas de routers

Compatibilidad con más fabricantes sin cargar todo en el servidor.

Disponible

RouterOS y Asuswrt/Merlin envían datos firmados a través de la misma API de ingesta. Sus pushers viven en netpulse-integrations, fuera del servidor y del agente nativo de OpenWrt. Cada integración tiene sus propios tests, releases y responsable de hardware.

  • RouterOS: sistema, puertos, DHCP, ARP, FDB, temperatura, firmware y WAN.
  • Asuswrt/Merlin: pusher ARM64 en el router que reutiliza /proc, iw y lldpd.
  • Se registran como externos y comparten el historial, la topología, las alertas y la interfaz.
Ver netpulse-integrations

WiFi y roaming

Quién está pegado a qué AP, y desde cuándo.

Disponible

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.

  • Eventos de asociación/desasociación y roaming
  • Recomendación de re-anclaje por señal
  • Migración del steering de DAWN a usteer

Analizador de canales WiFi

El aire, enseñado como realmente está.

Disponible

Un espectro real por radio: cada red se dibuja como una campana sobre el eje de frecuencias, con las zonas DFS sombreadas y una franja de ocupación continua. Tu red, vista como la ve el aire.

  • Puntuación de congestión por canal (óptimo, moderado, saturado); clic para enfocarlo
  • Tus redes propias nunca congestionan un canal (detección por MAC, SSID y dawn/usteer)
  • Solo sugiere: aplicar el canal queda en tus manos, en tu router

Detalle de bocas

Cada boca del switch, con su propio historial.

Disponible

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.

  • Series temporales de tráfico por puerto
  • Alertas de puerto fantasma, flapping y degradado
  • Panel frontal del switch

WireGuard

Tus túneles, dibujados desde Internet hasta tu móvil.

Disponible

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.

  • Estado de cada peer y tiempo desde el último handshake
  • RX/TX acumulado por túnel
  • Visualización del túnel desde Internet hasta el gateway
  • Eventos de conexión y desconexión en el registro, con la duración de la sesión

AdGuard Home

Qué pide tu red y qué no consigue entrar.

Disponible

Estadísticas de consultas DNS, porcentaje bloqueado, dominios más bloqueados y qué clientes usan el filtro, todo junto al resto de la red.

  • Consultas y bloqueos de 24 h
  • Top de dominios bloqueados
  • Latencia media del DNS

Alertas

Se entera de las roturas antes que tú.

Disponible

Alertas categorizadas como router, internet, clientes, señal, VPN y sistema, cada una con su nivel de urgencia. Feed persistente con resolución automática, Web Push nativo y alertas de desconexión por dispositivo que activas desde el editor del cliente.

  • Feed persistente con resolución automática
  • Web Push nativo VAPID sin terceros
  • Sugerencias de acción en alertas de puerto
  • Canales extra: ntfy, Telegram y webhooks salientes (solo alertas urgentes)

Informes

Disponibilidad, en diario, semanal y mensual.

Disponible

Disponibilidad por router y por dispositivo, con granularidad horaria y diaria: latencia media, tráfico acumulado y medias de CPU y RAM. Exportación CSV integrada.

  • Disponibilidad por router y dispositivo
  • Vistas diaria, semanal y mensual
  • Exportación CSV desde la propia vista

Ajustes

Un solo sitio para toda la configuración.

Disponible

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.

  • Usuarios con roles y bcrypt
  • Test de velocidad WAN real, ejecutado desde el servidor
  • Auto-actualización con changelog
  • Integraciones: publicador MQTT/Home Assistant, servidor MCP, tokens de API, HTTPS

Modo demo

Pruébalo todo sin tocar un router real.

Disponible

DEMO_MODE=1 levanta una red de muestra completa con 65 dispositivos sin necesidad de routers reales. Útil para probar la interfaz antes de instalar.

  • Dataset canónico de 65 dispositivos
  • Misma interfaz que modo real
  • Demo online pública en demo.netpulse.cloudless.club

App LuCI

El agente, viviendo dentro del propio OpenWrt.

Disponible

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.

  • Estado del agente en LuCI
  • Reinicio y rearme del agente
  • Paquete .ipk/.apk en cada release

Modo on-box

El servidor, corriendo en el propio router.

Disponible

Si no tienes una caja aparte, el servidor puede correr en el propio router OpenWrt, con configuración UCI, pinning TLS y emparejamiento local.

  • Binario estático para routers compatibles
  • Config UCI nativa
  • Certificado autofirmado con SPKI pinning
  • HTTPS opcional para la UI: tus certificados o autofirmado

Asistente IA (MCP)

Tu asistente IA pregunta, NetPulse responde.

Disponible

Servidor MCP integrado en /mcp: tu asistente IA consulta el estado de la flota, los dispositivos, las alertas y la topología por HTTP con un token de API. Herramientas de solo lectura sobre el último sondeo.

  • Flota, salud por router, dispositivos, peers WireGuard, AdGuard, topología y alertas
  • Solo tokens de API (nunca la cookie de sesión), con rate limit
  • Cada llamada de herramienta queda registrada para auditoría

Rack físico

Tu rack de 19 pulgadas, con el cableado propuesto.

Disponible

Dibuja tu rack de 19 pulgadas, coloca routers, switches y servidores por altura U, y deja que NetPulse proponga el cableado a partir de la topología detectada, incluidos los uplinks entre routers.

  • Racks y montajes con altura U y proporción real de 19"
  • Cableado propuesto desde el FDB: los cables importados quedan marcados como detectados
  • Apagado por defecto: se activa en Ajustes

NetPulse y Home Assistant

Tus routers, apareciendo como dispositivos de Home Assistant.

Disponible

NetPulse publica el estado de la flota en un broker MQTT y Home Assistant lo descubre solo: crea los dispositivos y sus entidades sin que definas nada a mano. Todo ocurre en tu red local.

  • La instalación entera
  • Cada router, por separado
  • Controlar el router desde Home Assistant
Home Assistant
Decisiones técnicas

Por qué se hizo así

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.

¿Por qué OpenWrt / GL.iNet?

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.

¿Por qué Go + SQLite embebida?

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.

¿Por qué el sondeo es de solo lectura?

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.

¿Por qué systemd y no Docker?

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.

¿Por qué PWA + SSE?

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.

¿Por qué de DAWN a usteer?

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.

Qué no es NetPulse

Es importante ser honesto sobre el alcance. NetPulse no pretende ser:

  • Un NMS empresarial como Zabbix, LibreNMS o PRTG. No escala a miles de nodos ni soporta miles de MIBs SNMP.
  • Una solución en la nube. No hay telemetría, dashboards centralizados ni apps móviles nativas.
  • Una herramienta de configuración automática masiva. La orquestación existe, pero es opt-in y por plan.
  • Una solución universal para cualquier router. Está probado en OpenWrt / GL.iNet; otros firmwares necesitarían adaptación.
Apariencia
Tema