secubox-openwrt/package/secubox/luci-app-cdn-cache/README.fr.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
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>
2026-03-20 10:00:18 +01:00

7.8 KiB

SecuBox CDN Cache

English | Francais | 中文

Version : 0.5.0 Statut : Actif

Un proxy de mise en cache pour SecuBox qui reduit l'utilisation de la bande passante en mettant en cache localement le contenu frequemment accede. Construit sur nginx avec des politiques de cache intelligentes pour differents types de contenu.

Fonctionnalites

  • Proxy de cache transparent - Mettre en cache le contenu HTTP automatiquement
  • Cache base sur les politiques - Regles differentes pour les mises a jour Windows, depots Linux, applications Android, jeux Steam
  • Economies de bande passante - Reduire les telechargements repetes sur tous les clients LAN
  • Gestion du cache - Purger par domaine, expirer l'ancien contenu, precharger les URLs
  • Statistiques en temps reel - Taux de hits, bande passante economisee, top des domaines caches
  • Tableau de bord LuCI - Interface web complete pour la configuration et la surveillance

Architecture

Clients LAN
     |
     v
[Proxy CDN Cache :3128]  <-- proxy cache nginx
     |
     v
  Internet

Demarrage rapide

# Activer et demarrer
uci set cdn-cache.main.enabled=1
uci commit cdn-cache
/etc/init.d/cdn-cache start

# Configurer les clients pour utiliser le proxy : 192.168.255.1:3128

Configuration

Configuration UCI

/etc/config/cdn-cache

config cdn_cache 'main'
    option enabled '1'
    option cache_dir '/var/cache/cdn'
    option cache_size '1024'          # Taille max du cache en MB
    option max_object_size '512'      # Taille max d'un objet en MB
    option cache_valid '1440'         # Validite du cache par defaut en minutes
    option listen_port '3128'         # Port d'ecoute du proxy
    option transparent '0'            # Mode proxy transparent
    option log_level 'warn'

# Politiques de cache pour des types de contenu specifiques
config cache_policy 'windows_update'
    option name 'Windows Update'
    option domains 'windowsupdate.com download.microsoft.com'
    option extensions 'exe msu cab msi'
    option cache_time '10080'         # 7 jours
    option max_size '2048'
    option priority '10'

config cache_policy 'linux_repos'
    option name 'Linux Repositories'
    option domains 'archive.ubuntu.com deb.debian.org mirrors.kernel.org'
    option extensions 'deb rpm pkg.tar.zst'
    option cache_time '4320'          # 3 jours
    option max_size '1024'
    option priority '10'

# Exclusions (ne jamais mettre en cache)
config exclusion 'banking'
    option name 'Banking Sites'
    option domains 'bank.com paypal.com'
    option reason 'Security sensitive'

Configuration client

Proxy manuel

Definir le proxy HTTP sur les appareils clients :

  • Adresse proxy : 192.168.255.1
  • Port proxy : 3128

Mode transparent

Activer le mode transparent pour rediriger automatiquement le trafic HTTP :

uci set cdn-cache.main.transparent=1
uci commit cdn-cache
/etc/init.d/cdn-cache restart

API RPCD

Statut et statistiques

Methode Parametres Description
status - Statut du service, info cache, uptime
stats - Comptage hits/miss, bande passante economisee
cache_list - Lister les elements caches (top 100)
top_domains - Domaines classes par utilisation cache
cache_size - Espace cache utilise/max/libre
bandwidth_savings period Economies sur une periode (24h/7d/30d)
hit_ratio period Taux de hits sur une periode
logs count Dernieres entrees de log

Gestion du cache

Methode Parametres Description
purge_cache - Vider tout le cache
purge_domain domain Vider le cache pour un domaine specifique
purge_expired - Supprimer les entrees expirees
preload_url url Recuperer et mettre en cache une URL
clear_stats - Reinitialiser les statistiques

Configuration

Methode Parametres Description
set_enabled enabled Activer/desactiver le service
policies - Lister les politiques de cache
add_policy name, domains, extensions, cache_time, max_size Creer une politique
remove_policy id Supprimer une politique
exclusions - Lister les exclusions
add_exclusion name, domains, reason Creer une exclusion
remove_exclusion id Supprimer une exclusion
set_limits max_size_mb, cache_valid Definir les limites du cache
restart - Redemarrer le service

Exemples

# Verifier le statut
ubus call luci.cdn-cache status

# Obtenir les statistiques
ubus call luci.cdn-cache stats

# Purger le cache pour un domaine
ubus call luci.cdn-cache purge_domain '{"domain":"example.com"}'

# Ajouter une politique personnalisee
ubus call luci.cdn-cache add_policy '{
  "name": "Game Updates",
  "domains": "cdn.steampowered.com epicgames.com",
  "extensions": "pak bundle",
  "cache_time": 10080,
  "max_size": 4096
}'

# Definir les limites du cache (2GB, validite 48h)
ubus call luci.cdn-cache set_limits '{"max_size_mb": 2048, "cache_valid": 2880}'

Configuration du cache nginx

Le service genere la configuration nginx a /var/etc/cdn-cache-nginx.conf :

  • Zone de cache : Zone de cles de 64MB, taille max configurable
  • Niveaux de cache : Structure de repertoires a 2 niveaux pour la performance
  • Contenu stale : Sert le contenu stale en cas d'erreurs upstream (500, 502, 503, 504)
  • Verrou de cache : Empeche le thundering herd sur les cache miss
  • Verification sante : Endpoint /cdn-cache-health

En-tetes de reponse

Les reponses cachees incluent :

  • X-Cache-Status : HIT, MISS, EXPIRED, STALE, UPDATING
  • X-Cache-Date : Date de reponse originale

Politiques de cache par defaut

Politique Domaines Extensions Duree
Windows Update windowsupdate.com, download.microsoft.com exe, msu, cab, msi 7 jours
Linux Repos archive.ubuntu.com, deb.debian.org deb, rpm, pkg.tar.zst 3 jours
Android Apps play.googleapis.com apk, obb 7 jours
Steam Games steamcontent.com - 7 jours
Static Content * js, css, png, jpg, woff 1 jour

Fichiers

Fichier Description
/etc/config/cdn-cache Configuration UCI
/etc/init.d/cdn-cache Script d'initialisation
/var/etc/cdn-cache-nginx.conf Config nginx generee
/var/cache/cdn/ Repertoire de stockage du cache
/var/run/cdn-cache.pid Fichier PID
/var/run/cdn-cache-stats.json Fichier de statistiques
/var/log/cdn-cache/access.log Log d'acces
/var/log/cdn-cache/error.log Log d'erreur
/usr/libexec/rpcd/luci.cdn-cache Backend RPCD

Depannage

Le service ne demarre pas

# Verifier la syntaxe nginx
nginx -t -c /var/etc/cdn-cache-nginx.conf

# Verifier le log d'erreur
cat /var/log/cdn-cache/error.log

Le cache ne fonctionne pas

# Verifier que le proxy ecoute
netstat -tlnp | grep 3128

# Tester avec curl
curl -x http://192.168.255.1:3128 http://example.com -I

# Verifier l'en-tete de statut du cache
curl -x http://192.168.255.1:3128 http://example.com -I | grep X-Cache

Verifier le contenu du cache

# Lister les fichiers caches
ls -la /var/cache/cdn/

# Taille du cache
du -sh /var/cache/cdn/

Vider tout le cache

ubus call luci.cdn-cache purge_cache
# ou manuellement
rm -rf /var/cache/cdn/*
/etc/init.d/cdn-cache restart

Performance

Avec une configuration optimale :

  • Taux de hits : 60-80% typique pour le contenu repete
  • Economies de bande passante : Reduction de 40-60%
  • Latence : < 1ms pour les cache hits

Dependances

  • nginx-full - Nginx avec modules proxy et cache
  • luci-base - Framework LuCI
  • rpcd - Daemon RPC

Licence

Apache-2.0 - CyberMind.fr