NetPulse следит за роутерами OpenWrt, рисует топологию, оценивает здоровье сети и предупреждает вас - всё из одного self-hosted бинарника. Ничего не покидает вашу LAN.
NetPulse следует трём принципам Cloudless Club: цифровой суверенитет, свобода навсегда и сделано людьми, а не компаниями. Они общие для всех приложений клуба и живут в одном месте.
Познакомиться с клубомБез Docker, без аккаунтов, без бесконечных мастеров. Три шага - и ваша сеть заговорит.
Один статический бинарник Go со встроенным веб-приложением. Работает как изолированный systemd-сервис на любом Linux (x86_64, arm64, armv7)… или на самом роутере OpenWrt.
Одноразовый токен сопряжения и нативный агент .ipk (procd, UCI, watchdog). Без агента тоже работает: строго read-only опрос по SSH.
Устанавливаемый PWA для телефона и десктопа, в реальном времени по SSE каждые 5 с. Многопользовательский режим с ролями admin/viewer и языком для каждого.
Продолжайте прокручивать. Это настоящие виджеты, питаемые демо-датасетом - те самые цифры, что вы увидите, запустив NetPulse в демо-режиме.
Оценка здоровья сжимает задержку, потери, аптайм и температуру в 0-100. Зелёный - значит спокойно. Обновляется каждые 5 секунд по SSE.
Живая пропускная способность WAN против вашего тарифа, со средними и итогами за 24 часа. Никаких трюков с выборкой - что видите, то и идёт по проводу.
Строится вживую из FDB бриджа (и LLDP, когда доступен): проводные и беспроводные клиенты, выведенные свитчи и туннели WireGuard от peer до интернета.
CPU, память, температура и аптайм по каждому роутеру. Здесь четыре: один шлюз GL.iNet Flint 2 и три б/у точки доступа Xiaomi AX6.
DNS-запросы, доля блокировок и топ заблокированных доменов, плюс какие клиенты его используют. Ваша блокировка рекламы видна рядом со всем остальным.
Скачки температуры, новые устройства, доступная прошивка, рукопожатия WireGuard - в колокольчике и, через Web Push, на вашем телефоне.
Нативный пакет .ipk OpenWrt с инициализацией procd, конфигурацией UCI и watchdog. Устанавливается через opkg и живёт на каждом роутере, отслеживая события WiFi в реальном времени.
Опрос работает только на чтение: он наблюдает за сетью и ничего не меняет. Всё, что пишет (резервы, блокировки, оркестрация, прошивка), всегда явно и защищено откатом.
Выводится из FDB бриджа + LLDP. Проводные и беспроводные клиенты, управляемые и выведенные свитчи, гипервизоры с вложенными контейнерами.
Каждый клиент классифицируется по паттернам hostname + OUI, с диапазоном, сигналом, первым появлением и роутером.
Пиры, последние рукопожатия и передача по пирам, с туннелями на карте.
Статистика запросов, доля блокировок и топ доменов - рядом с вашей сетью.
Шесть категорий с настройкой срочности. Лента в колокольчике плюс нативный Web Push (VAPID).
Пароли bcrypt, роли admin и viewer, язык для каждого. Делитесь видом, не отдавая ключи.
DEMO_MODE=1 даёт полную образцовую сеть из 65 устройств - без роутеров. Попробуйте до установки.
Опциональный sidecar, опрашивающий TCP-задержку по каждому роутеру, со своими долгосрочными временными рядами.
Агент поставляется как пакет .ipk, устанавливаемый через opkg. Init procd, конфигурация UCI, watchdog и события iw: полноценный житель OpenWrt, работающий на ваших роутерах при ~12 МБ RSS.
Матрица сигнала DAWN, статус 802.11r для каждого SSID, загрузка каналов и постоянная лента событий роуминга (30 дней).
Установите на телефон или десктоп: реальное время по SSE, нативный Web Push, светлая/тёмная темы.
luci-app-netpulse встраивает статус агента прямо в интерфейс OpenWrt: procd, UCI, логи и перезапуск.
Проверяет новые релизы каждые 24 ч и применяет их атомарной заменой. Без вашего участия.
Нет отдельной машины? Сервер может работать прямо на роутере OpenWrt, с конфигом UCI и TLS pinning.
Спектр Wi-Fi для каждого радио с оценкой загруженности каналов. Он читает эфир и советует: ничего не пишет на ваши роутеры.
Встроенный MCP-сервер только для чтения: флот, устройства, оповещения и топология, доступные вашему ИИ-ассистенту по API-токену.
Публикует один человек, но собран как продукт.
Zabbix, LibreNMS и PRTG - это NMS-сьюты для корпоративной инфраструктуры. NetPulse - карманный NOC для домашних сетей OpenWrt.
| NetPulse | Zabbix | LibreNMS | PRTG | |
|---|---|---|---|---|
| Автообнаруживаемая топология (FDB/LLDP) | ✓ | ~ | ✓ | ~ |
| Нативный агент OpenWrt (.ipk, UCI, procd) | ✓ | - | - | - |
| События WiFi и роуминга (802.11r, DAWN) | ✓ | - | ~ | - |
| Оценка здоровья сети 0-100 | ✓ | - | - | - |
| Живой мобильный PWA (SSE, 5 с) | ✓ | - | ~ | ~ |
| Нативный push без посредников | ✓ | - | ~ | ~ |
| Работает на 512 МБ RAM или на самом роутере | ✓ | - | - | - |
| Установка за ≈5 минут | ✓ | - | - | ~ |
| Бесплатно, без премиум-версии | ✓ | ✓ | ✓ | ~ |
| Широта мультивендорности (SNMP, тысячи MIB) | ~ | ✓ | ✓ | ✓ |
| Корпоративный масштаб (тысячи узлов) | - | ✓ | ✓ | ✓ |
NMS-сьюты выигрывают в широте и масштабе; NetPulse - в фокусе на OpenWrt, простоте и домашнем WiFi. Выбирайте под свою сеть.
Скриншоты NetPulse в демо-режиме, в выбранной вами теме. По одному на меню.
NetPulse - свободное ПО (AGPL-3.0). Код и есть весь продукт: за пейволом не прячется премиум-версия.
Если программа вам полезна, звезда на GitHub - лучший способ поддержать разработку.
Единственный статический Go-бинарник со встроенным веб-приложением, работающий как изолированный systemd-сервис. Без Docker - он мониторит сеть; контейнер для этого не нужен.
curl -fsSL https://raw.githubusercontent.com/gnacho/netpulse/main/install.sh | sh
Инсталлятор - простой, читаемый shell - сначала проверьте его.
Обновления происходят сами: встроенный авто-апдейтер проверяет каждые 24 ч и применяет новые версии атомарной заменой. Можно также перезапустить установщик или удалить через sh install.sh --uninstall.
NetPulse не нуждается в отдельной машине: полный сервер, а не только агент, работает на самом роутере OpenWrt как нативный пакет, с конфигурацией UCI и самоподписанным TLS с pinning SPKI. Узнать о режиме on-box.
Сервер генерирует свою пару ключей ed25519 и показывает публичный ключ в Настройках. Авторизуйте его на каждом роутере (/etc/dropbear/authorized_keys). Шлюз самоопределяется при первом старте через обнаружение LAN; остальные добавляются в Настройках. Опрос строго только для чтения.
Установите агент прямо на каждый роутер OpenWrt. Он собирает события WiFi, передаёт данные по SSE и отчитывается серверу.
opkg install netpulse-agent
NetPulse - личный проект, созданный для моей собственной сети и опубликованный как свободное ПО (AGPL-3.0). Он был и останется свободным и ориентированным на сообщество. Я работаю над ним в свободное время: много идей, мало времени, и он развивается прежде всего по моим потребностям.
Если проект вам нравится, лучший способ помочь ему расти - звезда на GitHub и рассказ о нём другим.
Поставьте звезду на GitHubЧестная оговорка о границах: пока тестировалось только на моём железе - шлюз GL.iNet Flint 2 и три точки доступа Xiaomi AX6 на OpenWrt - плюс WireGuard и AdGuard Home. Другие устройства OpenWrt должны работать, но ваше станет первым, которое расскажет.
Агент устанавливается как нативный пакет .ipk в OpenWrt (opkg install netpulse-agent). В комплекте init procd, конфиг UCI, watchdog и слушатели событий iw, чтобы изменения WiFi появлялись за <3 секунды. Работает на самом роутере, ~12 МБ RSS.
Нет. Это свободное ПО (AGPL-3.0), без премиум-версии и платных планов. Хотите поддержать - звезда на GitHub поможет.
OpenWrt и GL.iNet. Разработано и протестировано на GL.iNet Flint 2 и трёх б/у Xiaomi AX6.
Нет. Всё работает на устройстве внутри вашей LAN, без телеметрии. Единственное исходящее соединение опционально: проверка обновлений.
Опрос только читает. Действия с записью (резерв IP, блокировка устройства, оркестрация сервисов, прошивка) явные, запускаются администратором и покрыты снапшотом с автоматическим откатом.
Одна строка (curl | sh) ставит бинарник как systemd-сервис. Агент - пакет .ipk (opkg). Обновления приходят через встроенный авто-апдейтер или повторный запуск установщика.
Да: публичное демо работает онлайн, а DEMO_MODE=1 поднимает пример сети из 67 устройств на вашей машине.
NetPulse создавался не для публикации. Я начал его, чтобы понять, что происходит в моей собственной сети, с моими роутерами и без зависимости от кого-либо. И я долго пользовался им каждый день: это мой единый инструмент, чтобы проверять, что всё в порядке. Я развиваю его в свободное время, между работой и семьёй.
Со временем, следуя принципам, в которые я верю, я решил сделать его свободным и поделиться с сообществом. Проект растёт благодаря вкладу пользователей и использованию; спасибо, что пользуетесь им и присылаете предложения для дальнейшего улучшения. А если вы им пользуетесь, звезда на GitHub очень поможет.