Об этом проекте

NetPulse — это саморазмещаемая PWA-панель, предназначенная для мониторинга домашних сетей OpenWrt/GL.iNet. Она обеспечивает единое представление всей сети устройств с обновлениями в реальном времени через Server-Sent Events (SSE). Основные функции включают: - **Обзор сети и оценка здоровья**: Оценка от 0 до 100 для каждого маршрутизатора и всей сети, основанная на задержке, потерях, времени работы и температуре, обновляется каждые 5 секунд. Живой WAN-трафик, лента алертов, статистика AdGuard Home и пиры WireGuard отображаются на одном экране. - **Автоматически рисуемая карта топологии**: Топология сети выводится из данных FDB моста и LLDP, показывая проводных/беспроводных клиентов, коммутаторы, хосты Proxmox с ВМ и туннели WireGuard. Расположение стабильно и настраивается пользователем. - **Классификация устройств**: Каждое устройство идентифицируется по именам хостов, IP-адресам, определению типа (шаблоны имен + OUI), времени первого появления, диапазону/сигналу для Wi-Fi и маршрутизатору, к которому оно подключено. Пользователи могут помечать устройства, резервировать IP-адреса и получать алерты о новых устройствах. - **Здоровье каждого маршрутизатора**: Детальный вид модели, прошивки, CPU, памяти, температуры, времени работы, живого трафика, истории портов и разбивки клиентов по диапазонам. Также поддерживаются коммутаторы с SNMP. - **WireGuard и AdGuard Home**: Имена пиров, рукопожатия, статистика передачи; статистика запросов, доля заблокированных, топ заблокированных доменов. - **Wi-Fi и роуминг**: Матрица сигналов для каждой точки доступа, статус 802.11r, использование каналов, события роуминга. - **Алерты**: Температура, новое устройство, доступная прошивка, обрыв WAN, проблемы агента. Каналы уведомлений включают Web Push, ntfy, Telegram и вебхуки. - **Многопользовательский режим**: Пароли bcrypt, роли администратор/зритель, язык для каждого пользователя (ES/EN). - **Устанавливаемое PWA**: Работает на телефоне или компьютере, светлая/тёмная темы. - **Интеграция с OpenWrt**: Нативные пакеты `netpulse-agent` (.ipk/.apk), страница `luci-app-netpulse`, конфигурация UCI, procd init с самовосстановлением. Сервер также может работать на самом устройстве. - **Самообновление**: Встроенный обновлятор проверяет релизы и применяет их атомарно. - **MQTT + Home Assistant (по желанию)**: Публикует состояние сети в MQTT-брокер; Home Assistant автоматически обнаруживает сущности. **Архитектура**: Бэкенд на Go (один статический бинарник со встроенным веб-приложением), фронтенд на React 19, SQLite для временных рядов (режим WAL). Без облачных зависимостей; только необязательная анонимная телеметрия (можно отключить). **Установка**: Быстрый старт с помощью curl-скрипта, который настраивает сервис systemd. Сервер автоматически обнаруживает шлюз через сканирование LAN. Для мониторинга требуется авторизация по SSH-ключам. Агенты можно установить из приложения в один клик или через пакеты OpenWrt. **Демо**: Живое демо с примером сети доступно на demo.netpulse.cloudless.club. **Лицензия**: AGPL-3.0, бесплатно навсегда.