by Karoza — Surveillance réseau temps réel en ligne de commande, avec alertes sonores et notifications de bureau.
Dépôt : github.com/karozadev/KzNetWatch
KzNetWatch surveille en temps réel la vitesse de connexion (téléchargement / envoi) sur vos
interfaces réseau. Dès qu'un seuil configurable est dépassé (par ex. 2MB/s), il vous alerte via
un bip sonore, une notification bureau native, un webhook (Slack/Discord) et journalise
l'incident — le tout pilotable en mode démon pour tourner discrètement en arrière-plan.
- Fonctionnalités
- Installation
- Démarrage rapide
- Sélection interactive de l'interface
- Commandes
- Alertes : seuil, bip et notifications
- Mode démon
- Configuration
- Contribuer
- Licence
- 📡 Surveillance temps réel du débit montant/descendant sur n'importe quelle interface réseau.
- 🖱️ Menu interactif de sélection de carte réseau (nom, IP, statut, débit courant).
- 🔔 Alertes multi-canal en cas de dépassement de seuil : bip terminal, bip système, notification bureau (macOS, Linux, Windows), webhook HTTP/Slack/Discord.
- 📝 Journal d'incidents : vitesse et processus responsable du pic enregistrés dans un fichier log.
- 🕵️
kznet top: tableau de bord des processus les plus actifs sur le réseau. - 🧩 Mode démon : lancez la surveillance en arrière-plan (
start/stop/status). - 🖥️ Multi-plateforme : Linux, macOS, Windows.
curl -fsSL https://raw.githubusercontent.com/karozadev/KzNetWatch/main/install.sh | bashou avec wget :
wget -qO- https://raw.githubusercontent.com/karozadev/KzNetWatch/main/install.sh | bashLe script détecte automatiquement votre OS/architecture, télécharge le binaire kznet
correspondant à la dernière release GitHub, vérifie son checksum SHA-256, puis l'installe dans
/usr/local/bin (ou ~/.local/bin si vous n'avez pas les droits d'écriture). Variables
d'environnement disponibles :
| Variable | Description |
|---|---|
KZNET_VERSION |
Tag de version à installer (défaut : dernière release). |
KZNET_INSTALL_DIR |
Répertoire d'installation (défaut : /usr/local/bin). |
# Installer une version précise dans un répertoire personnalisé
KZNET_VERSION=v0.1.0 KZNET_INSTALL_DIR=$HOME/bin \
curl -fsSL https://raw.githubusercontent.com/karozadev/KzNetWatch/main/install.sh | bashUtilisateurs Windows : téléchargez l'archive
.zipcorrespondante depuis la page Releases.
go install github.com/karozadev/KzNetWatch@latestTéléchargez le binaire correspondant à votre plateforme depuis la page Releases, puis :
tar -xzf kznet_*_linux_amd64.tar.gz
sudo mv kznet /usr/local/bin/git clone [email protected]:karozadev/KzNetWatch.git
cd KzNetWatch
go build -o kznet .kznet monitorSans --interface, KzNetWatch ouvre un menu interactif pour choisir la carte réseau à
surveiller. Avec --interface, il démarre directement :
kznet monitor --interface eth0 --threshold 2MB --soundAu lancement de kznet monitor sans flag --interface, un menu TUI liste toutes les interfaces
détectées (nom, statut actif/inactif, adresses IP). Naviguez avec les flèches ↑/↓ et validez
avec Entrée :
KzNetWatch — sélection de l'interface réseau
▶ eth0 ● active 192.168.1.42
lo ● active 127.0.0.1
wlan0 ● inactive sans adresse
docker0 ● active 172.17.0.1
↑/↓ naviguer • entrée sélectionner • q/esc quitter
Une fois l'interface choisie, le tableau de bord temps réel s'affiche :
KzNetWatch — surveillance de eth0
╭──────────────────────────────╮
│ Téléchargement: 1.24 MB/s │
│ Envoi: 312.50 KB/s │
│ Seuil configuré: 2.00 MB/s │
╰──────────────────────────────╯
q/esc quitter
| Commande | Description |
|---|---|
kznet monitor |
Tableau de bord temps réel du débit d'une interface, avec alertes. |
kznet top |
Liste les processus les plus actifs sur le réseau. |
kznet daemon start |
Démarre la surveillance en arrière-plan. |
kznet daemon stop |
Arrête le démon en arrière-plan. |
kznet daemon status |
Affiche le statut du démon (PID, interface surveillée). |
kznet config |
Gère la configuration persistante (show, init, path). |
kznet version |
Affiche la version installée. |
Chaque commande accepte --help pour la liste complète des options.
kznet monitor --interface eth0 \
--threshold 2MB \
--sound \
--beep \
--desktop-notify \
--webhook https://hooks.slack.com/services/XXX \
--webhook-kind slack| Flag | Description |
|---|---|
--threshold |
Seuil de déclenchement (2MB, 512KB, 1.5GB, ou un nombre d'octets). |
--sound |
Bip terminal (\a) à chaque alerte. Activé par défaut. |
--beep |
Bip système (haut-parleur) via la synthèse audio légère de l'OS. |
--desktop-notify |
Notification bureau native (macOS, Linux, Windows). Activée par défaut. |
--webhook |
URL d'un webhook HTTP/Slack/Discord à notifier. |
--webhook-kind |
Type de payload webhook : generic, slack ou discord. |
--cooldown |
Délai minimum entre deux alertes (anti-spam), 10s par défaut. |
Chaque incident est journalisé (vitesse, direction, processus responsable, PID) dans
~/.config/kznet/incidents.log (sur Linux ; voir Configuration pour les autres
OS).
Le mode démon lance la surveillance en tâche de fond, détachée du terminal :
# Démarrer la surveillance de eth0 en arrière-plan, seuil 2 Mo/s
kznet daemon start --interface eth0 --threshold 2MB --desktop-notify
# Consulter le statut (PID, interface surveillée)
kznet daemon status
# → démon KzNetWatch: actif (PID 12345, interface eth0)
# Arrêter le démon
kznet daemon stopLe démon écrit son PID dans ~/.config/kznet/kznet.pid, ses logs dans
~/.config/kznet/daemon.log, et refuse de démarrer une seconde instance tant que la première est
active.
kznet config init # écrit une configuration par défaut
kznet config show # affiche la configuration actuelle
kznet config path # affiche le chemin du fichier de configurationLe fichier de configuration YAML est stocké dans le répertoire de configuration standard de l'OS
($XDG_CONFIG_HOME/kznet/config.yaml sur Linux, ~/Library/Application Support/kznet sur macOS,
%AppData%\kznet sur Windows).
Les contributions sont les bienvenues ! Consultez CONTRIBUTING.md pour le workflow GitFlow, les conventions de commit et le processus de Pull Request.
Distribué sous licence MIT.