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>
248 lines
6.2 KiB
Markdown
248 lines
6.2 KiB
Markdown
# LuCI Media Flow - Detection et surveillance du streaming
|
|
|
|
[English](README.md) | Francais | [中文](README.zh.md)
|
|
|
|
**Version :** 0.4.0
|
|
**Derniere mise a jour :** 2025-12-28
|
|
**Statut :** Actif
|
|
|
|
Detection et surveillance en temps reel des services de streaming avec estimation de qualite et alertes configurables.
|
|
|
|
## Fonctionnalites
|
|
|
|
### Detection des services de streaming
|
|
|
|
Detection et surveillance automatiques :
|
|
|
|
**Streaming video :**
|
|
- Netflix, YouTube, Disney+, Prime Video, Twitch
|
|
- HBO, Hulu, Vimeo
|
|
|
|
**Streaming audio :**
|
|
- Spotify, Apple Music, Deezer
|
|
- SoundCloud, Tidal, Pandora
|
|
|
|
**Visioconference :**
|
|
- Zoom, Microsoft Teams, Google Meet
|
|
- Discord, Skype, WebEx
|
|
|
|
### Estimation de qualite
|
|
|
|
Estime la qualite du streaming basee sur la consommation de bande passante :
|
|
- **SD** (Definition standard) : < 1 Mbps
|
|
- **HD** (Haute definition) : 1-3 Mbps
|
|
- **FHD** (Full HD 1080p) : 3-8 Mbps
|
|
- **4K** (Ultra HD) : > 8 Mbps
|
|
|
|
### Surveillance en temps reel
|
|
|
|
- Tableau de bord des flux actifs avec mises a jour en direct
|
|
- Consommation de bande passante par flux
|
|
- Suivi des IP clients
|
|
- Categorisation des services (video/audio/visio)
|
|
|
|
### Donnees historiques
|
|
|
|
- Historique des sessions avec horodatages
|
|
- Statistiques d'utilisation par service
|
|
- Statistiques d'utilisation par client
|
|
- Periode de retention configurable
|
|
|
|
### Alertes
|
|
|
|
Configurer des alertes basees sur :
|
|
- Seuils d'utilisation specifiques aux services
|
|
- Limites quotidiennes/hebdomadaires
|
|
- Actions automatiques (notifier, limiter, bloquer)
|
|
|
|
## Dependances
|
|
|
|
- **netifyd** : Moteur de Deep Packet Inspection pour la detection d'applications
|
|
- **luci-app-netifyd-dashboard** : Integration Netifyd pour OpenWrt
|
|
- **jq** : Traitement JSON (pour les donnees historiques)
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
opkg update
|
|
opkg install luci-app-media-flow
|
|
/etc/init.d/rpcd restart
|
|
/etc/init.d/uhttpd restart
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Configuration UCI
|
|
|
|
Fichier : `/etc/config/media_flow`
|
|
|
|
```
|
|
config global 'global'
|
|
option enabled '1'
|
|
option history_retention '7' # Jours de conservation de l'historique
|
|
option refresh_interval '5' # Secondes entre les mises a jour
|
|
|
|
config alert 'netflix_limit'
|
|
option service 'Netflix'
|
|
option threshold_hours '4' # Heures par jour
|
|
option action 'notify' # notify|limit|block
|
|
option enabled '1'
|
|
```
|
|
|
|
### Ajouter des alertes
|
|
|
|
Via LuCI :
|
|
1. Naviguer vers Monitoring -> Media Flow -> Alertes
|
|
2. Cliquer sur "Ajouter"
|
|
3. Configurer le nom du service, le seuil et l'action
|
|
4. Sauvegarder et appliquer
|
|
|
|
Via CLI :
|
|
```bash
|
|
uci set media_flow.youtube_alert=alert
|
|
uci set media_flow.youtube_alert.service='YouTube'
|
|
uci set media_flow.youtube_alert.threshold_hours='3'
|
|
uci set media_flow.youtube_alert.action='notify'
|
|
uci set media_flow.youtube_alert.enabled='1'
|
|
uci commit media_flow
|
|
```
|
|
|
|
## API ubus
|
|
|
|
### Methodes
|
|
|
|
```bash
|
|
# Obtenir le statut du module
|
|
ubus call luci.media-flow status
|
|
|
|
# Obtenir les sessions de streaming actives
|
|
ubus call luci.media-flow get_active_streams
|
|
|
|
# Obtenir les donnees historiques (24 dernieres heures)
|
|
ubus call luci.media-flow get_stream_history '{"hours": 24}'
|
|
|
|
# Obtenir les statistiques par service
|
|
ubus call luci.media-flow get_stats_by_service
|
|
|
|
# Obtenir les statistiques par client
|
|
ubus call luci.media-flow get_stats_by_client
|
|
|
|
# Obtenir les details pour un service specifique
|
|
ubus call luci.media-flow get_service_details '{"service": "Netflix"}'
|
|
|
|
# Definir une alerte
|
|
ubus call luci.media-flow set_alert '{"service": "Netflix", "threshold_hours": 4, "action": "notify"}'
|
|
|
|
# Lister les alertes configurees
|
|
ubus call luci.media-flow list_alerts
|
|
```
|
|
|
|
## Stockage des donnees
|
|
|
|
### Fichier historique
|
|
- Emplacement : `/tmp/media-flow-history.json`
|
|
- Format : Tableau JSON d'entrees de session
|
|
- Retention : 1000 dernieres entrees
|
|
- Rotation automatique
|
|
|
|
### Cache des statistiques
|
|
- Emplacement : `/tmp/media-flow-stats/`
|
|
- Statistiques agregees par service/client
|
|
- Mise a jour a chaque intervalle de rafraichissement
|
|
|
|
## Comment ca fonctionne
|
|
|
|
1. **Detection** : S'integre avec le moteur DPI netifyd pour detecter les protocoles d'application
|
|
2. **Classification** : Fait correspondre les applications detectees aux patterns des services de streaming
|
|
3. **Estimation de qualite** : Analyse la consommation de bande passante pour estimer la qualite du flux
|
|
4. **Enregistrement** : Sauvegarde les donnees de session dans l'historique pour analyse
|
|
5. **Alertes** : Surveille l'utilisation par rapport aux seuils configures
|
|
|
|
## Vues du tableau de bord
|
|
|
|
### Tableau de bord principal
|
|
- Statut de streaming actuel
|
|
- Flux actifs avec indicateurs de qualite
|
|
- Top des services par utilisation
|
|
- Rafraichissement automatique toutes les 5 secondes
|
|
|
|
### Vue services
|
|
- Statistiques detaillees par service
|
|
- Sessions totales, duree, bande passante
|
|
- Modal de details du service
|
|
|
|
### Vue clients
|
|
- Statistiques d'utilisation par IP client
|
|
- Top service par client
|
|
- Consommation totale
|
|
|
|
### Vue historique
|
|
- Liste chronologique des sessions
|
|
- Filtrer par periode
|
|
- Indicateurs de qualite et duree
|
|
|
|
### Vue alertes
|
|
- Configurer les alertes basees sur les services
|
|
- Definir les seuils et actions
|
|
- Activer/desactiver les alertes
|
|
|
|
## Depannage
|
|
|
|
### Aucun flux detecte
|
|
|
|
1. Verifier que netifyd fonctionne :
|
|
```bash
|
|
/etc/init.d/netifyd status
|
|
```
|
|
|
|
2. Verifier la configuration netifyd :
|
|
```bash
|
|
uci show netifyd
|
|
```
|
|
|
|
3. Verifier les flux netifyd :
|
|
```bash
|
|
ubus call luci.netifyd-dashboard get_flows
|
|
```
|
|
|
|
### Estimation de qualite imprecise
|
|
|
|
L'estimation de qualite est basee sur la bande passante instantanee et peut ne pas refleter la qualite reelle du flux. Facteurs :
|
|
- Streaming adaptatif
|
|
- Congestion reseau
|
|
- Flux concurrents multiples
|
|
|
|
### Historique non sauvegarde
|
|
|
|
1. Verifier les permissions :
|
|
```bash
|
|
ls -la /tmp/media-flow-history.json
|
|
```
|
|
|
|
2. Verifier la disponibilite de jq :
|
|
```bash
|
|
which jq
|
|
opkg install jq
|
|
```
|
|
|
|
## Performance
|
|
|
|
- **Utilisation CPU** : Minimale (parsing uniquement, netifyd fait le DPI)
|
|
- **Memoire** : ~2-5 MB pour le stockage de l'historique
|
|
- **Disque** : Aucun (tmpfs)
|
|
- **Reseau** : Pas de surcharge supplementaire
|
|
|
|
## Confidentialite
|
|
|
|
- Toutes les donnees stockees localement sur l'appareil
|
|
- Pas de telemetrie ou rapports externes
|
|
- L'historique peut etre desactive ou purge a tout moment
|
|
|
|
## Licence
|
|
|
|
Apache-2.0
|
|
|
|
## Auteur
|
|
|
|
CyberMind.fr
|