Sobre o projeto

NetPulse é um painel PWA auto-hospedado projetado para monitorar redes domésticas OpenWrt/GL.iNet. Ele oferece uma visão unificada de toda a sua frota de rede, com atualizações em tempo real via Server-Sent Events (SSE). Os principais recursos incluem: - **Visão Geral da Frota e Pontuação de Saúde**: Uma pontuação de 0 a 100 por roteador e para toda a rede, baseada em latência, perda, tempo de atividade e temperatura, atualizada a cada 5 segundos. Tráfego WAN ao vivo, feed de alertas, estatísticas do AdGuard Home e peers WireGuard são exibidos na mesma tela. - **Mapa de Topologia Desenhado Automaticamente**: A topologia da rede é inferida a partir de dados de bridge FDB e LLDP, mostrando clientes com e sem fio, switches, hosts Proxmox com VMs e túneis WireGuard. O layout é estável e ajustável pelo usuário. - **Classificação de Dispositivos**: Cada dispositivo é identificado com hostnames, IPs, detecção de tipo (padrões de hostname + OUI), primeira visualização, banda/sinal para Wi-Fi e o roteador ao qual está conectado. Os usuários podem rotular dispositivos, reservar IPs e receber alertas para novos dispositivos. - **Saúde por Roteador**: Visão detalhada do modelo, firmware, CPU, memória, temperatura, tempo de atividade, tráfego ao vivo, histórico de portas e divisões de clientes por banda de cada roteador. Switches gerenciados por SNMP também são suportados. - **WireGuard e AdGuard Home**: Nomes de peers, handshakes, estatísticas de transferência; estatísticas de consultas, proporção de bloqueios, principais domínios bloqueados. - **Wi-Fi e Roaming**: Matriz de sinal por AP, status 802.11r, utilização de canal, eventos de roaming. - **Alertas**: Temperatura, novo dispositivo, firmware disponível, WAN inativa, problemas de agente. Os canais de notificação incluem Web Push, ntfy, Telegram e webhooks. - **Multiusuário**: Senhas bcrypt, funções de administrador/visualizador, idioma por usuário (ES/EN). - **PWA Instalável**: Funciona em celular ou desktop, temas claro/escuro. - **Integração com OpenWrt**: Pacotes nativos `netpulse-agent` (.ipk/.apk), uma página `luci-app-netpulse`, configuração UCI, init procd com auto-recuperação. O servidor também pode ser executado no próprio dispositivo. - **Auto-atualização**: O atualizador integrado verifica lançamentos e os aplica atomicamente. - **MQTT + Home Assistant (opcional)**: Publica o estado da frota em um broker MQTT; o Home Assistant descobre entidades automaticamente. **Arquitetura**: Backend em Go (binário estático único com aplicativo web incorporado), frontend React 19, SQLite para séries temporais (modo WAL). Sem dependências de nuvem; apenas telemetria anônima opcional (pode ser desativada). **Instalação**: Início rápido com um script curl que configura um serviço systemd. O servidor descobre automaticamente o gateway via varredura de LAN. A autorização de chave SSH é necessária para monitoramento. Os agentes podem ser instalados a partir do aplicativo com um clique, ou via pacotes OpenWrt. **Demonstração**: Uma demonstração ao vivo com uma rede de exemplo está disponível em demo.netpulse.cloudless.club. **Licença**: AGPL-3.0, gratuita para sempre.