Routeur dédié au spectacle vivant, basé sur OpenWrt. StageNeth intègre une interface web Vue 3, une API Go et un orchestrateur réseau Go pour séparer les flux audio/vidéo/lumière (AV) du réseau de gestion, tout en fournissant les services DHCP, NTP, mDNS et SNMP nécessaires aux équipements scéniques.
État du projet : StageNeth est en version de développement (
0.2.0-beta.19). Beaucoup de fonctionnalités restent à stabiliser, à valider sur banc et à compléter avant d'obtenir un OS déployable en production. Ne pas utiliser sur un spectacle réel sans validation approfondie.
- Interface web Vue 3 en HTTPS avec deux niveaux d'accès : mode simple (opérateur) et mode expert (tech)
- API Go sécurisée par JWT
- Orchestration réseau Go : génération automatique des VLANs 802.1q, bridges, firewall, DHCP, QoS/NIC tuning, et PTP
- Configuration par service : chaque protocole (Dante, NDI, AES67/RAVENNA, ST 2110, Art-Net, sACN, PTP, AVB, NMOS, MA-Net/Proprietary...) a son propre VLAN, son DSCP, sa priorité et son MTU
- Trunk AV configurable (
eth1par défaut) et interface dédiée ST 2110 (eth2) en jumbo frames (MTU 9000) - Serveur NTP avec DHCP option 42 automatique par VLAN
- Réflecteur mDNS (
umdns) et découverte mDNS entre les VLANs AV - Surveillance : monitoring CPU/mémoire/services, alertes, journaux multi-sources triés/filtrés/colorisés, agent SNMP v2c/v3 et serveur syslog
- Système : changement de hostname, paramètres de sauvegarde/restauration UCI
- Support constructeurs : profils générique, Luminex GigaCore, Cisco SG350/AV, Netgear AV avec conseils IGMP/PTP/jumbo/DSCP
- Firewall durci : pas de NAT sur les zones média, inter-VLAN fermé par défaut, DHCP/DNS/NTP autorisés localement
- Build conteneurisée avec Podman
packages/: packages OpenWrt StageNethstageneth-api: API Gostageneth-ui: interface Vue 3stageneth-network: orchestrateur Go, UCI defaults, PTP (linuxptp)
files/: overlay OpenWrt (uci-defaults, bannière,openwrt_release)config/: fragments de configuration OpenWrtbuilder/: Containerfile et scriptsbuild-stageneth.sh: script de buildopenwrt/: arbre de build OpenWrt (ignoré par git)
| Fichier | Rôle |
|---|---|
/etc/config/stageneth |
Services, VLANs, bindings, forwardings, switch vendor, trunk |
packages/stageneth-network/files/config |
Template UCI par défaut |
build.conf |
Version (STAGENETH_VERSION) et suffixe de build (BUILD_SEMVER_SUFFIX) |
./build-stageneth.shLes images finales sont copiées dans bin/ à la racine.
Voir docs/build.md pour les détails.
Remplacez 0.2.0-beta.19 par la version indiquée dans build.conf (ou utilisez directement les images des GitHub Releases) :
gunzip -c bin/stageneth-0.2.0-beta.19-x86-64-generic-ext4-combined.img.gz > /tmp/stageneth-test.img
qemu-system-x86_64 -m 1024 -smp 2 -enable-kvm \
-hda /tmp/stageneth-test.img -display none -serial file:/tmp/stageneth-qemu.log \
-netdev user,id=net0,net=192.168.1.0/24,hostfwd=tcp::2222-192.168.1.1:22,hostfwd=tcp::8443-192.168.1.1:443 \
-device e1000,netdev=net0- UI :
https://192.168.1.1/(forwardée surhttps://localhost:8443/) - SSH :
ssh -p 2222 root@localhost - Mot de passe root test :
stageneth
Voir docs/testing.md pour le plan de validation complet (PTP, multicast, DSCP, MTU, DHCP, NTP, firewall).
- L'image de test définit un mot de passe root connu (
stageneth) et génère un secret JWT aléatoire au premier démarrage. En production, changez impérativement ce mot de passe dès le premier lancement viaParamètres > Credentialsou en SSH avecpasswd. - Le répertoire
openwrt/est un arbre de build complet et est ignoré par git.
GPL-2.0-only (conforme à OpenWrt).