NetPulse surveille vos routeurs OpenWrt, dessine la topologie, note la santé du réseau et vous alerte - le tout depuis un seul binaire auto-hébergé. Rien ne quitte votre LAN.
NetPulse suit les trois principes du Club Cloudless : souveraineté numérique, libre pour toujours et fait par des personnes, pas des entreprises. Ils sont communs à toutes les apps du club et vivent en un seul endroit.
Découvrir le clubPas de Docker, pas de comptes, pas d’assistants interminables. Trois étapes et votre réseau se met à parler.
Un seul binaire Go statique avec l’app web embarquée. Tourne en service systemd cloisonné sur n’importe quel Linux (x86_64, arm64, armv7)… ou sur le routeur OpenWrt lui-même.
Jeton d’appairage à usage unique et agent .ipk natif (procd, UCI, watchdog). Sans agent, ça marche aussi : sondage SSH strictement en lecture seule.
PWA installable sur mobile et bureau, en direct via SSE toutes les 5 s. Multi-utilisateur avec rôles admin/viewer et langue par utilisateur.
Continuez à défiler. Ce sont les vrais widgets, nourris par le jeu de données démo - les mêmes chiffres que vous obtenez en lançant NetPulse en mode démo.
Le score de santé condense latence, pertes, uptime et température en 0-100. Vert signifie sérénité. Mis à jour toutes les 5 secondes via SSE.
Débit WAN en direct face à votre abonnement, avec moyennes et totaux sur 24 h. Pas d’astuce d’échantillonnage - ce que vous voyez est ce qui passe sur le câble.
Construite en direct depuis la FDB du bridge (et LLDP quand disponible) : clients filaires et sans fil, switches inférés, tunnels WireGuard dessinés du peer vers Internet.
CPU, mémoire, température et uptime par routeur. Quatre ici : une gateway GL.iNet Flint 2 et trois points d’accès Xiaomi AX6 d’occasion.
Requêtes DNS, part bloquée et domaines les plus bloqués, plus les clients qui l’utilisent. Votre blocage de pub, visible à côté de tout le reste.
Pics de température, nouveaux appareils, firmware disponible, handshakes WireGuard - dans la cloche et, avec Web Push, sur votre téléphone.
Un paquet .ipk OpenWrt natif avec init procd, configuration UCI et watchdog. Installé avec opkg, il vit sur chaque routeur en surveillant les événements WiFi en temps réel.
Le sondage est en lecture seule : il observe votre réseau sans y toucher. Ce qui écrit (réservations, blocages, orchestration, firmware) est toujours explicite et couvert par un retour arrière.
Inférée de la FDB du bridge + LLDP. Clients filaires et sans fil, switches gérés et inférés, hyperviseurs avec conteneurs imbriqués.
Chaque client classé par motifs de hostname + OUI, avec bande, signal, première apparition et routeur associé.
Peers, derniers handshakes et transfert par peer, avec tunnels dessinés sur la carte.
Statistiques de requêtes, part bloquée et domaines les plus bloqués, à côté de votre réseau.
Six catégories avec urgence par catégorie. Fil dans la cloche plus Web Push natif (VAPID).
Mots de passe bcrypt, rôles admin et viewer, langue par utilisateur. Partagez la vue sans donner les clés.
DEMO_MODE=1 offre un réseau d’exemple complet de 65 appareils - sans routeurs. Essayez avant d’installer.
Sidecar optionnel qui sonde la latence TCP par routeur, avec ses propres séries temporelles longue durée.
L’agent est distribué comme paquet .ipk à installer avec opkg. Init procd, configuration UCI, watchdog et événements iw : un citoyen OpenWrt de première classe, qui tourne sur vos routeurs à ~12 MB RSS.
Matrice de signal DAWN, état 802.11r par SSID, utilisation des canaux et flux persistant d’événements de roaming (30 jours).
Installez-la sur mobile ou bureau : en direct via SSE, Web Push natif et thèmes clair/sombre.
luci-app-netpulse intègre l’état de l’agent dans l’interface même d’OpenWrt : procd, UCI, journaux et redémarrage.
Vérifie les nouvelles versions toutes les 24 h et les applique par échange atomique. Sans intervention.
Pas de machine en plus ? Le serveur peut tourner sur le routeur OpenWrt lui-même, avec config UCI et TLS pinning.
Spectre Wi-Fi par radio avec un score de congestion par canal. Il lit l’air et conseille : il n’écrit jamais sur vos routeurs.
Serveur MCP intégré en lecture seule : flotte, appareils, alertes et topologie, consultables depuis votre assistant IA avec un token d’API.
Publié par une personne, construit comme un produit.
Zabbix, LibreNMS et PRTG sont des suites NMS pour l’infrastructure d’entreprise. NetPulse est un NOC de poche conçu pour les réseaux domestiques OpenWrt.
| NetPulse | Zabbix | LibreNMS | PRTG | |
|---|---|---|---|---|
| Topologie auto-découverte (FDB/LLDP) | ✓ | ~ | ✓ | ~ |
| Agent OpenWrt natif (.ipk, UCI, procd) | ✓ | - | - | - |
| Événements WiFi et roaming (802.11r, DAWN) | ✓ | - | ~ | - |
| Score de santé réseau 0-100 | ✓ | - | - | - |
| PWA mobile en direct (SSE, 5 s) | ✓ | - | ~ | ~ |
| Push natif sans tiers | ✓ | - | ~ | ~ |
| Tourne avec 512 Mo de RAM ou sur le routeur lui-même | ✓ | - | - | - |
| Installation en ≈5 minutes | ✓ | - | - | ~ |
| Gratuit, sans version premium | ✓ | ✓ | ✓ | ~ |
| Amplitude multi-fournisseurs (SNMP, milliers de MIBs) | ~ | ✓ | ✓ | ✓ |
| Échelle entreprise (milliers de nœuds) | - | ✓ | ✓ | ✓ |
Les suites NMS gagnent en amplitude et en échelle ; NetPulse gagne en focus OpenWrt, en simplicité et en WiFi domestique. Choisissez selon votre réseau.
Captures de NetPulse en mode démo, avec le thème que vous choisissez. Une par menu.
NetPulse est un logiciel libre (AGPL-3.0). Le code est le produit complet : aucune version premium n’attend derrière un paywall.
S’il vous sert, une étoile sur GitHub est la meilleure façon de soutenir son développement.
Un unique binaire Go statique avec l’app web embarquée, en service systemd sandboxé. Pas de Docker - il supervise un réseau ; il n’a pas besoin d’un conteneur pour ça.
curl -fsSL https://raw.githubusercontent.com/gnacho/netpulse/main/install.sh | sh
L’installateur est un shell simple et lisible - inspectez-le d’abord.
Les mises à jour se gèrent seules : l’auto-updater intégré vérifie toutes les 24 h et applique les nouvelles versions par échange atomique. Vous pouvez aussi relancer l’installateur ou désinstaller avec sh install.sh --uninstall.
NetPulse n’a pas besoin d’une machine dédiée : le serveur complet, pas seulement l’agent, tourne sur le routeur OpenWrt lui-même comme paquet natif, avec config UCI et TLS auto-signé avec pinning SPKI. Découvrir le mode on-box.
Le serveur génère sa propre paire de clés ed25519 et affiche la publique dans Réglages. Autorisez-la sur chaque routeur (/etc/dropbear/authorized_keys). La gateway s’autodétecte au premier démarrage par découverte LAN ; les autres s’ajoutent depuis Réglages. Le sondage est strictement en lecture seule.
Installez l’agent directement sur chaque routeur OpenWrt. Il collecte les événements WiFi, envoie les données par SSE et rend compte au serveur.
opkg install netpulse-agent
NetPulse est un projet personnel, construit pour mon propre réseau et publié en logiciel libre (AGPL-3.0). Il est et restera toujours libre et communautaire. J’y travaille sur mon temps libre : beaucoup d’idées, peu de temps, et il évolue d’abord selon mes propres besoins.
Si vous aimez le projet, la meilleure façon de l’aider à grandir est une étoile sur GitHub et le partage.
Mettez une étoile sur GitHubNote honnête de périmètre : pour l’instant testé uniquement sur mon propre matériel - une gateway GL.iNet Flint 2 et trois points d’accès Xiaomi AX6 sous OpenWrt - plus WireGuard et AdGuard Home. D’autres appareils OpenWrt devraient fonctionner, mais le vôtre serait le premier à le dire.
L’agent s’installe comme paquet .ipk natif sur OpenWrt (opkg install netpulse-agent). Il inclut init procd, config UCI, un watchdog et l’écoute des événements iw pour que les changements WiFi apparaissent en <3 secondes. Tourne sur le routeur lui-même, ~12 MB RSS.
Non. C’est un logiciel libre (AGPL-3.0), sans version premium ni abonnements. Pour le soutenir, une étoile sur GitHub aide.
OpenWrt et GL.iNet. Développé et testé avec un GL.iNet Flint 2 et trois Xiaomi AX6 d’occasion.
Non. Il tourne sur une machine dans votre LAN, sans télémétrie. La seule connexion sortante est optionnelle : la vérification des mises à jour.
Le sondage ne fait que lire. Les actions qui écrivent (réserver une IP, bloquer un appareil, orchestrer des services, flasher un firmware) sont explicites, déclenchées par l’admin et couvertes par un instantané avec retour arrière automatique.
Une ligne (curl | sh) installe le binaire en service systemd. L’agent est un paquet .ipk (opkg). Les mises à jour arrivent via l’auto-updater intégré ou en relançant l’installateur.
Oui : la démo publique est en ligne, et DEMO_MODE=1 lance un réseau d’exemple de 67 appareils sur votre machine.
NetPulse n’est pas né pour être publié. Je l’ai commencé pour comprendre ce qui se passait sur mon propre réseau, avec mes propres routeurs, sans dépendre de personne. Et je l’utilise au quotidien depuis longtemps : c’est mon outil unifié pour vérifier que tout est toujours en ordre. Je le développe sur mon temps libre, entre le travail et la famille.
Avec le temps, et par cohérence avec les principes auxquels je crois, j’ai décidé de le libérer et de le partager avec la communauté. Le projet s’enrichit grâce aux contributions des utilisateurs et à l’usage ; merci de l’utiliser et de m’envoyer des suggestions pour continuer à l’améliorer. Et si vous l’utilisez, une étoile sur GitHub m’aiderait beaucoup.