Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
18 KiB
Tableau de Bord des Services Reseau (luci-app-network-tweaks)
Surveillance unifiee des services reseau avec decouverte dynamique des composants, suivi d'impact cumulatif et synchronisation automatique DNS/hosts
Apercu
Le Tableau de Bord des Services Reseau (anciennement Network Tweaks) combine la synchronisation DNS automatique des VHosts avec une surveillance complete des services reseau. Il offre une visibilite en temps reel sur tous les services impactant le reseau, leur effet cumulatif sur votre systeme, et s'integre avec les Modes Reseau pour une configuration basee sur les profils.
Fonctionnalites Cles
Tableau de Bord des Services Reseau (v2.0+)
- Decouverte Dynamique des Composants - Decouvre automatiquement les services lies au reseau depuis le catalogue de plugins SecuBox
- Suivi d'Impact Cumulatif - Metriques en temps reel montrant le total des entrees DNS, VHosts et ports exposes
- Integration Mode Reseau - Parametres de synchronisation controles par les profils de mode reseau
- Rafraichissement Automatique - Mises a jour en direct toutes les 10 secondes
- Agregation de Donnees Multi-Sources - Combine metadonnees de manifeste, etat d'installation, statut runtime et associations VHost
- Interface Grille Moderne - Disposition responsive basee sur cartes avec vues detaillees des composants
Synchronisation de Base (v1.0+)
- Generation DNS Automatique - Cree des entrees de configuration DNSmasq pour tous les domaines VHost actives
- Gestion du Fichier Hosts - Met a jour
/etc/hostsavec les entrees de domaines VHost - Synchronisation Temps Reel - Surveille les changements de configuration VHost et met a jour automatiquement
- Integration LuCI - Interface web conviviale avec tableau de bord de statut
- Configuration Flexible - Choisissez les fonctionnalites a activer (DNS, hosts, ou les deux)
- Conscience Reseau - Detection automatique de l'IP LAN ou remplacement manuel
Table des Matieres
- Installation
- Demarrage Rapide
- Tableau de Bord des Services Reseau
- Synchronisation de Base
- Configuration
- Integration Mode Reseau
- Documentation Technique
- Depannage
- Developpement
- Journal des Modifications
Installation
# Compiler le paquet
make package/luci-app-network-tweaks/compile
# Installer sur le routeur
opkg install luci-app-network-tweaks_*.ipk
# Activer et demarrer
/etc/init.d/network-tweaks enable
/etc/init.d/network-tweaks start
Demarrage Rapide
-
Acceder au Tableau de Bord :
- Naviguer vers Reseau -> Tableau de Bord Services Reseau dans LuCI
-
Voir l'Impact Reseau :
- Voir les composants actifs, entrees DNS, VHosts et ports exposes en un coup d'oeil
- Surveiller le statut et les contributions de chaque service
-
Configurer la Synchronisation :
- Activer la synchronisation DNS et/ou hosts
- Choisir le mode auto-sync ou manuel
-
Integration avec VHost Manager :
- Activer les VHosts dans VHost Manager
- Network Tweaks les rend automatiquement resolvables sur votre LAN
Tableau de Bord des Services Reseau
Architecture
Manifestes Catalogue Plugins -> Moteur Decouverte -> Agregation Donnees -> Affichage Tableau de Bord
| | | |
fichiers *.json Filtre reseau Modele unifie Cartes grille
(metadonnees) (ports/protocoles) (JSON) + metriques
Sections du Tableau de Bord
1. Resume d'Impact
Quatre cartes de metriques montrant l'impact reseau global :
| Metrique | Description |
|---|---|
| Composants Actifs | Services actuellement en cours d'execution |
| Entrees DNS | Total des enregistrements DNS geres |
| VHosts Publies | Hotes virtuels configures |
| Ports Exposes | Ports reseau ouverts |
2. Statut Mode Reseau
Affiche :
- Mode reseau actuel (Routeur, DMZ, Voyage, etc.)
- Parametres de synchronisation specifiques au mode
- Si la synchronisation DNS est activee
3. Grille des Composants
Grille responsive de cartes de composants, chacune montrant :
Badges de Statut :
- En cours - Service actif
- Arrete - Service installe mais non en cours
- N/A - Pas de runtime disponible
Etat d'Installation :
- Installe - Tous les paquets presents
- Partiel - Certains paquets manquants
- Disponible - Pret a installer
Impact Reseau :
- Entrees DNS - Nombre d'enregistrements DNS
- VHosts - Hotes virtuels publies
- Ports - Ports reseau exposes
Contribution :
- Montre combien ce composant ajoute a la configuration globale
Actions :
- Details - Voir les informations completes du composant
Modal Details Composant
Cliquer sur Details sur n'importe quelle carte pour voir :
Composant: AdGuard Home
Categorie: reseau
Etat Installation: installe
Etat Service: en cours
Impact Reseau:
- Entrees DNS: 1
- VHosts: 1
- Ports: 2
Capacites:
[filtrage-dns] [blocage-pubs] [publication-vhost]
Processus de Decouverte
- Scan des Manifestes : Scanne
/usr/share/secubox/plugins/catalog/*.json - Filtrage Reseau : Identifie les apps avec impact reseau :
network.inbound_ports[]- Apps exposant des ports reseaunetwork.protocols[]- Apps utilisant des protocoles reseaucapabilities[]- Capacites liees au reseau
- Requetes d'Etat :
- Etat Installation : via
opkg statusouapk info - Etat Runtime : via
docker psou services init.d - Associations VHost : correspondances avec VHosts publies
- Etat Installation : via
- Calcul d'Impact : Compte entrees DNS, hosts, ports, VHosts
- Agregation : Combine en reponse JSON unifiee
Detection de Pertinence Reseau
Une app apparait dans le tableau de bord si son manifeste contient :
Ports Reseau :
{
"network": {
"inbound_ports": [53, 3000]
}
}
Protocoles Reseau :
{
"network": {
"protocols": ["http", "https", "dns"]
}
}
Capacites Reseau :
{
"capabilities": [
"vhost-publish",
"dns-filtering",
"proxy",
"firewall",
"vpn",
"network-service"
]
}
Synchronisation de Base
Fonctionnement
- Surveille les VHosts : Observe
/etc/config/vhostspour les hotes virtuels actives - Genere les Entrees :
- DNSmasq : Cree
/tmp/dnsmasq.d/50-vhosts.confavec entreesaddress=/domain/ip - Hosts : Ajoute des entrees a
/etc/hostsdans une section geree
- DNSmasq : Cree
- Rechargement Auto : Recharge automatiquement DNSmasq quand des changements sont detectes
- Declencheurs :
- Changements de configuration VHost (via declencheurs UCI)
- Evenements d'interface reseau up (LAN)
- Synchronisation manuelle via LuCI ou CLI
Fichiers Generes
Configuration DNSmasq
Emplacement : /tmp/dnsmasq.d/50-vhosts.conf
# Entrees DNS auto-generees pour les domaines VHost Manager
# Gere par network-tweaks
# IP: 192.168.1.1
# Genere: 2026-01-01 12:00:00
address=/cloud.local/192.168.1.1
address=/adguard.local/192.168.1.1
address=/domoticz.local/192.168.1.1
Entrees Hosts
Ajoute a : /etc/hosts
# Gere par network-tweaks
# Entrees hosts auto-generees pour les domaines VHost Manager
# Genere: 2026-01-01 12:00:00
192.168.1.1 cloud.local
192.168.1.1 adguard.local
192.168.1.1 domoticz.local
Utilisation en Ligne de Commande
# Synchroniser toutes les entrees
network-tweaks-sync sync
# Voir le statut actuel
network-tweaks-sync status
# Nettoyer toutes les entrees gerees
network-tweaks-sync cleanup
Gestion du Service
# Activer le demarrage automatique
/etc/init.d/network-tweaks enable
# Demarrer le service
/etc/init.d/network-tweaks start
# Recharger la configuration (declenche sync)
/etc/init.d/network-tweaks reload
# Verifier le statut
/etc/init.d/network-tweaks status
Configuration
Parametres Interface Web
Trouves sous la section Configuration dans le tableau de bord :
| Option | Defaut | Description |
|---|---|---|
| Activer Network Tweaks | Oui | Interrupteur principal pour synchronisation DNS/hosts |
| Sync Auto | Oui | Synchroniser automatiquement quand la config VHost change |
| Sync DNSmasq | Oui | Generer config DNSmasq pour resolution de domaine local |
| Sync /etc/hosts | Oui | Mettre a jour /etc/hosts avec domaines VHost |
| Interface LAN | lan |
Interface reseau pour detection d'adresse IP |
| IP de Remplacement | vide | Specifier manuellement l'IP (vide = auto-detection) |
Fichier de Configuration
Editer /etc/config/network_tweaks :
config global 'global'
option enabled '1' # Activer/desactiver Network Tweaks
option auto_sync '1' # Sync auto sur changements config
option sync_hosts '1' # Mettre a jour /etc/hosts
option sync_dnsmasq '1' # Generer config DNSmasq
option lan_interface 'lan' # Interface a utiliser pour IP
option default_ip '' # Remplacement IP manuel (vide = auto-detect)
Integration Mode Reseau
Chaque profil de mode reseau inclut des parametres network-tweaks :
Mode Routeur (Defaut)
config mode 'router'
option network_tweaks_enabled '1'
option network_tweaks_sync_hosts '1'
option network_tweaks_sync_dnsmasq '1'
option network_tweaks_auto_sync '1'
Mode Sniffer (Transparent)
config mode 'sniffer'
option network_tweaks_enabled '0' # Desactive pour transparence
option network_tweaks_sync_hosts '0'
option network_tweaks_sync_dnsmasq '0'
Autres Modes
Tous les autres modes (DMZ, Point d'Acces, Relais, Double NAT, Voyage, Multi-WAN, Relais VPN) activent network-tweaks avec synchronisation complete.
Documentation Technique
API RPC Backend
getNetworkComponents
Retourne tous les composants lies au reseau avec donnees agregees.
Requete : Pas de parametres
Reponse :
{
"success": true,
"components": [
{
"id": "adguardhome",
"name": "AdGuard Home",
"category": "network",
"install_state": "installed",
"service_state": "running",
"network_impact": {
"dns_entries": 1,
"vhosts": 1,
"ports": 2
},
"cumulative_contribution": {
"dnsmasq_entries": 1,
"hosts_entries": 1,
"ports_opened": 2
},
"capabilities": ["dns-filtering", "vhost-publish"]
}
],
"cumulative_summary": {
"total_components": 12,
"active_components": 8,
"total_dns_entries": 18,
"total_vhosts": 6,
"total_ports_exposed": 23
},
"network_mode": {
"current_mode": "router",
"mode_name": "Router",
"sync_enabled": true
}
}
getCumulativeImpact
Retourne le resume agrege de l'impact reseau.
setComponentEnabled
Active/desactive les fonctionnalites reseau d'un composant.
Requete :
{
"app_id": "adguardhome",
"enabled": true
}
Methodes Legacy
getStatus- Statut avec comptages VHostsyncNow- Declencher synchronisation immediategetConfig- Obtenir configuration actuellesetConfig- Mettre a jour configuration
Integration CLI
Commandes UBUS :
# Obtenir tous les composants
ubus call luci.network-tweaks getNetworkComponents
# Obtenir impact cumulatif
ubus call luci.network-tweaks getCumulativeImpact
# Obtenir configuration
ubus call luci.network-tweaks getConfig
# Declencher sync
ubus call luci.network-tweaks syncNow
Architecture Frontend
Vue Principale : /luci-static/resources/view/network-tweaks/overview.js
Methodes cles :
load()- Initialiser donnees et charger CSSrenderDashboard()- Construire tableau de bord completrenderCumulativeImpact()- Cartes resume d'impactrenderNetworkModeStatus()- Indicateur de moderenderComponentsGrid()- Cartes composantsshowComponentDetails()- Modal detailspollData()- Rafraichissement auto (intervalle 10s)updateDisplay()- Mise a jour DOM en direct
Style : /luci-static/resources/network-tweaks/dashboard.css
Grille responsive :
- Bureau : grille 4 colonnes (min 200px)
- Mobile : colonne unique
- Effets hover et animations
- Codage couleur des statuts
Depannage
Composants Non Affiches
Symptomes : Le tableau de bord affiche "Aucun composant impactant le reseau detecte"
Solutions :
-
Verifier que le catalogue de plugins existe :
ls /usr/share/secubox/plugins/catalog/ -
Verifier le format du manifeste :
cat /usr/share/secubox/plugins/catalog/adguardhome.json -
Tester RPC manuellement :
ubus call luci.network-tweaks getNetworkComponents
Etat Service Affiche "N/A"
Causes :
- Docker non installe/en cours
- Script init n'existe pas
- Mauvais
runtimedans le manifeste
Solutions :
-
Pour les apps Docker :
docker ps --filter "name=adguardhome" -
Pour les services natifs :
/etc/init.d/service-name running
Resolution DNS Ne Fonctionne Pas
Solutions :
-
Verifier config dnsmasq :
cat /tmp/dnsmasq.d/50-vhosts.conf -
Verifier dnsmasq en cours :
ps | grep dnsmasq -
Verifier fichier hosts :
cat /etc/hosts -
Declencher sync manuel :
- Cliquer Sync Maintenant dans tableau de bord
- Ou :
/usr/sbin/network-tweaks-sync sync
-
S'assurer que les clients utilisent le routeur comme DNS :
nslookup cloud.local
Rafraichissement Auto Ne Fonctionne Pas
Solutions :
- Verifier console navigateur pour erreurs
- Verifier le polling (intervalle 10s)
- Forcer rechargement : Ctrl+Shift+R
Developpement
Ajouter des Composants Personnalises
Creer une entree catalogue de plugin :
# /usr/share/secubox/plugins/catalog/myapp.json
{
"id": "myapp",
"name": "Mon Application Personnalisee",
"category": "network",
"runtime": "native",
"packages": ["myapp"],
"network": {
"inbound_ports": [8080],
"protocols": ["http"]
},
"capabilities": ["vhost-publish"]
}
Ajouter de Nouvelles Methodes RPC
-
Declarer dans la section
list:json_add_object "myMethod" json_close_object -
Implementer dans la section
call:myMethod) json_init json_add_boolean "success" 1 # Implementation json_dump ;;
Developpement Frontend
Ajouter des sections au tableau de bord :
renderDashboard: function() {
return E('div', { 'class': 'network-tweaks-dashboard' }, [
this.renderCumulativeImpact(),
this.renderMyNewSection(), // Ajouter ici
this.renderComponentsGrid()
]);
}
Exemples de Workflows
Configuration de Nextcloud avec Network Tweaks
-
Installer Nextcloud :
nextcloudctl install /etc/init.d/nextcloud start -
Creer VHost dans VHost Manager :
- Domaine :
cloud.local - Backend :
http://127.0.0.1:80 - SSL : Active
- Activer VHost
- Domaine :
-
Network Tweaks automatiquement :
- Cree entree DNS :
cloud.local->192.168.1.1 - Met a jour fichier hosts
- Recharge DNSmasq
- Cree entree DNS :
-
Acceder depuis n'importe quel appareil :
- Ouvrir
https://cloud.local - Le domaine se resout vers le routeur
- Nginx transmet a Nextcloud
- Ouvrir
Considerations de Performance
Temps de Reponse
- Reponse RPC typique : 200-500ms
- Chargement initial tableau de bord : 1-2s
- Impact rafraichissement auto : Minimal
Polling
- Intervalle : 10 secondes
- Impact CPU : Minimal
- Reseau : ~5KB par requete
- Memoire : Stable (pas d'accumulation)
Optimisations Futures
- Cache TTL 30 secondes pour scans de manifestes
- Mises a jour de decouverte incrementales
- Worker en arriere-plan pour requetes lourdes
Dependances
luci-base- Interface web LuCIrpcd- Daemon RPC UBUSluci-app-vhost-manager- VHost Manager (source des domaines)dnsmasq- Serveur DNS
Journal des Modifications
v2.0.0 (2026-01-01) - Tableau de Bord Services Reseau
Fonctionnalites Majeures :
- Decouverte dynamique des composants depuis catalogue plugins
- Tableau de bord de suivi d'impact cumulatif
- Integration mode reseau
- Interface grille avec cartes composants
- Rafraichissement auto avec polling 10 secondes
- Modal details composants
- Design responsive avec support mode sombre
Backend :
- Ajout methode RPC
getNetworkComponents - Ajout methode RPC
getCumulativeImpact - Ajout methode RPC
setComponentEnabled - Ajout de 8 fonctions helper pour decouverte/agregation
- Integration statut mode reseau
Frontend :
- Reecriture complete de
overview.js - Nouveau
dashboard.cssavec systeme de grille - Cartes resume d'impact
- Indicateur mode reseau
- Grille composants avec badges de statut
Configuration :
- Options network-tweaks ajoutees aux 8 modes reseau
- Config reste retrocompatible
v1.0.0 - Version Initiale (Network Tweaks)
- Synchronisation basique VHost vers DNS/hosts
- Declencheur sync manuel
- Affichage simple des statistiques
- Auto-sync sur changements VHost
- Integration Hotplug
Licence
Apache-2.0
Auteur
CyberMind Studio contact@cybermind.fr
Support
- Issues : https://github.com/CyberMind-FR/secubox-openwrt/issues
- Documentation : Ce README
- Version : 2.0.0
- Derniere Mise a Jour : 2026-01-01
Contribution
Contributions bienvenues ! Veuillez :
- Tester les changements soigneusement
- Mettre a jour la documentation
- Suivre le style de code existant
- Soumettre une PR avec description claire