NetPulse 监视你的 OpenWrt 路由器,绘制拓扑,评估网络健康并提醒你——全部来自一个自托管的二进制文件。数据绝不离开你的局域网。
NetPulse 遵循 Cloudless 俱乐部的三项原则:数字主权、永远自由、属于人而非公司。俱乐部的每款应用都遵循它们,内容集中在一处。
了解俱乐部没有 Docker,没有账号,没有冗长的向导。三步即可让你的网络开口说话。
单个静态 Go 二进制文件,内嵌 Web 应用。以沙箱化 systemd 服务运行在任何 Linux(x86_64、arm64、armv7)上——甚至可以直接跑在 OpenWrt 路由器上。
一次性配对令牌 + 原生 .ipk agent(procd、UCI、watchdog)。不装 agent 也行:严格只读的 SSH 轮询。
可安装的 PWA,手机和桌面通用,每 5 秒通过 SSE 实时更新。多用户,admin/viewer 角色,按用户设置语言。
继续滚动。这些是真实的组件,用演示数据集驱动——与你在演示模式下运行 NetPulse 看到的数字完全一致。
健康评分将延迟、丢包、运行时间和温度浓缩为 0-100。绿色代表安心。每 5 秒通过 SSE 更新。
实时 WAN 吞吐量对照你的签约带宽,附 24 小时均值与总量。没有采样花招——你看到的就是线路上跑的数据。
实时从网桥 FDB(可用时加 LLDP)构建:有线与无线客户端、推断出的交换机,以及从 peer 画到互联网的 WireGuard 隧道。
每台路由器的 CPU、内存、温度和运行时间。这里有四台:一台 GL.iNet Flint 2 网关和三台二手小米 AX6 接入点。
DNS 查询、拦截比例和热门拦截域名,以及哪些客户端在使用它。你的广告拦截与其他一切并排可见。
温度飙升、新设备、可用固件、WireGuard 握手——推送到铃铛,配合 Web Push 还能推到你的手机。
一个原生 OpenWrt .ipk 软件包,带 procd init、UCI 配置和 watchdog。用 opkg 安装后,它驻留在每台路由器上,实时监视 WiFi 事件。
轮询是只读的:它观察你的网络,不做改动。任何写入操作(保留、封禁、编排、固件)都是显式的,并带回滚保护。
从网桥 FDB + LLDP 推断。有线与无线客户端、托管与推断的交换机、带嵌套容器的虚拟化主机。
每个客户端按主机名模式 + OUI 分类,附频段、信号、首次出现时间和所连路由器。
Peers、最近握手和按 peer 的传输量,隧道绘制在地图上。
查询统计、拦截比例和热门拦截域名,与你的网络并排呈现。
六个类别,每类可设紧急程度。铃铛信息流加原生 Web Push(VAPID)。
bcrypt 密码、admin 与 viewer 角色、按用户设置语言。分享视图而不交出钥匙。
DEMO_MODE=1 给你一个包含 65 台设备的完整示例网络——无需路由器。先试后装。
可选 sidecar,按路由器轮询 TCP 延迟,拥有自己的长期时间序列。
agent 以 .ipk 软件包形式提供,用 opkg 安装。procd init、UCI 配置、watchdog 和 iw 事件:一个一等公民式的 OpenWrt 组件,在你的路由器上以约 12 MB RSS 运行。
DAWN 信号矩阵、每个 SSID 的 802.11r 状态、信道利用率,以及持久的漫游事件流(30 天)。
安装到手机或桌面:SSE 实时更新、原生 Web Push、明暗主题。
luci-app-netpulse 将 agent 状态集成到 OpenWrt 自己的界面中:procd、UCI、日志和重启。
每 24 小时检查新版本,以原子交换方式应用。无需干预。
没有多余的设备?服务器可以直接跑在 OpenWrt 路由器上,带 UCI 配置和 TLS 固定。
每个射频的 Wi-Fi 频谱,逐信道拥堵评分。它只读取空气并给建议:从不写入你的路由器。
内置只读 MCP 服务器:机队、设备、告警和拓扑,AI 助手可用 API 令牌查询。
由一个人发布,但按产品的标准构建。
Zabbix、LibreNMS 和 PRTG 是面向企业基础设施的 NMS 套件。NetPulse 是为 OpenWrt 家庭网络打造的袖珍 NOC。
| NetPulse | Zabbix | LibreNMS | PRTG | |
|---|---|---|---|---|
| 自动发现拓扑(FDB/LLDP) | ✓ | ~ | ✓ | ~ |
| 原生 OpenWrt 代理(.ipk、UCI、procd) | ✓ | - | - | - |
| WiFi 与漫游事件(802.11r、DAWN) | ✓ | - | ~ | - |
| 0-100 网络健康评分 | ✓ | - | - | - |
| 移动端实时 PWA(SSE,5 秒) | ✓ | - | ~ | ~ |
| 无需第三方的原生推送 | ✓ | - | ~ | ~ |
| 可在 512 MB 内存或路由器本体上运行 | ✓ | - | - | - |
| ≈5 分钟完成安装 | ✓ | - | - | ~ |
| 免费,无高级版 | ✓ | ✓ | ✓ | ~ |
| 多厂商广度(SNMP,数千 MIB) | ~ | ✓ | ✓ | ✓ |
| 企业级规模(数千节点) | - | ✓ | ✓ | ✓ |
NMS 套件胜在广度与规模;NetPulse 胜在 OpenWrt 专注、简单与家庭 WiFi。按你的网络选择。
演示模式下的 NetPulse 截图,使用你选择的主题。每个菜单一张。
NetPulse 是自由软件(AGPL-3.0)。代码即完整产品:没有藏在付费墙后的高级版。
如果它对你有用,在 GitHub 上加一颗星就是支持开发的最好方式。
单个静态 Go 二进制,内嵌 Web 应用,作为沙箱化的 systemd 服务运行。无需 Docker--它监控的是网络,不需要容器来完成这件事。
curl -fsSL https://raw.githubusercontent.com/gnacho/netpulse/main/install.sh | sh
安装脚本是平实可读的 shell-- 先检查它.
更新自动完成:内置自动更新器每 24 小时检查一次,以原子交换方式应用新版本。你也可以重新运行安装脚本,或用 sh install.sh --uninstall 卸载。
NetPulse 不需要专用机器:完整服务器,而不只是 agent,以原生软件包形式运行在 OpenWrt 路由器本身,带 UCI 配置和自签名 TLS 加 SPKI pinning。了解 on-box 模式。
服务器生成自己的 ed25519 密钥对,并在设置中显示公钥。在每台路由器上授权它(/etc/dropbear/authorized_keys)。网关在首次启动时通过局域网发现自动检测;其余在设置中添加。轮询严格只读。
直接在每台 OpenWrt 路由器上安装 agent。它采集 WiFi 事件,通过 SSE 推送数据,并向服务器回报。
opkg install netpulse-agent
NetPulse 是一个个人项目,为我的自有网络而建,以自由软件(AGPL-3.0)发布。它现在和将来都将是自由和社区驱动的。我在业余时间开发它:想法很多,时间很少,它首先按照我自己的需求演进。
如果你喜欢这个项目,在 GitHub 上加星并分享它就是帮助它成长的最好方式。
在 GitHub 上加星诚实的范围说明:目前只在作者自己的硬件上测试过——一台 GL.iNet Flint 2 网关和三台运行 OpenWrt 的小米 AX6 接入点——外加 WireGuard 和 AdGuard Home。其他 OpenWrt 设备应该能用,但你的会是第一个告诉我结果的。
agent 以原生 .ipk 软件包安装在 OpenWrt 上(opkg install netpulse-agent)。它自带 procd init、UCI 配置、watchdog 和 iw 事件监听,WiFi 变化在 <3 秒内出现。运行在路由器本身,约 12 MB RSS。
不。它是自由软件(AGPL-3.0),没有高级版,也没有付费计划。想支持的话,在 GitHub 上加星就是帮助。
OpenWrt 和 GL.iNet。使用一台 GL.iNet Flint 2 和三台二手小米 AX6 开发测试。
不会。它运行在你局域网内的一台设备上,没有遥测。唯一的外连是可选的更新检查。
轮询只读取。写入类操作(保留 IP、封禁设备、编排服务、刷写固件)都是显式的、由管理员触发,并带有快照和自动回滚。
一行命令(curl | sh)即可将二进制安装为 systemd 服务。agent 是 .ipk 包(opkg)。更新通过内置自动更新器或重新运行安装脚本完成。
可以:公开演示在线运行,也可以用 DEMO_MODE=1 在自己机器上启动一个 67 台设备的示例网络。
NetPulse 最初并不是为了发布而做。我做它是为了了解自己网络里发生了什么,用自己的路由器,不依赖任何人。而且我长期每天都在用它:它是我检查一切是否正常的统一工具。我在业余时间开发它,在工作和家庭之间。
随着时间推移,为了与我信奉的原则一致,我决定将它自由化并与社区分享。项目因用户的贡献和使用而更加丰富,感谢你使用它并发送建议让它不断改进。如果你在用,在 GitHub 上加一颗星会帮很大忙。