secubox-openwrt/luci-app-cdn-cache
CyberMind-FR a53e5f7068 feat: Add comprehensive permission management system (v0.3.1)
Implement three-tier permission management across all SecuBox modules:

**1. Package-Level Permissions (PKG_FILE_MODES)**
- Add PKG_FILE_MODES to all 15 module Makefiles
- RPCD scripts: 755 (executable)
- CSS/JS/JSON files: 644 (default, no config needed)
- Ensures correct permissions at installation time

**2. Runtime Permission Fix**
- New script: /usr/libexec/secubox/fix-permissions.sh
- RPCD method: luci.secubox fix_permissions
- UI control: "🔧 Fix Perms" button in Quick Actions
- Fixes all permissions and restarts services

**3. Automation & Documentation**
- secubox-tools/add-pkg-file-modes.sh: Auto-configure PKG_FILE_MODES
- PERMISSIONS-GUIDE.md: Comprehensive permissions guide
- MODULE-ENABLE-DISABLE-DESIGN.md: Enable/disable system design doc
- Updated Makefile template with PKG_FILE_MODES pattern

**Modules Updated:**
- luci-app-auth-guardian
- luci-app-bandwidth-manager
- luci-app-cdn-cache
- luci-app-client-guardian
- luci-app-crowdsec-dashboard
- luci-app-ksm-manager
- luci-app-media-flow
- luci-app-netdata-dashboard
- luci-app-netifyd-dashboard
- luci-app-network-modes
- luci-app-secubox (+ fix-permissions.sh script)
- luci-app-system-hub
- luci-app-traffic-shaper
- luci-app-vhost-manager
- luci-app-wireguard-dashboard

**Benefits:**
- No more manual permission fixes after installation
- Users can fix permissions from UI without SSH access
- Proper OpenWrt package management compliance
- Automated detection and configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 02:19:30 +01:00
..
.github/workflows fix: hope modules refresh 2025-12-23 18:56:15 +01:00
htdocs/luci-static/resources feat: apply Design System v0.3.0 to all 15 SecuBox modules 2025-12-26 20:15:33 +01:00
root fix: resolve validation issues across all modules 2025-12-25 09:01:06 +01:00
demo.html fix: hope modules refresh 2025-12-23 18:56:15 +01:00
Makefile feat: Add comprehensive permission management system (v0.3.1) 2025-12-28 02:19:30 +01:00
README.md fix: hope modules refresh 2025-12-23 18:56:15 +01:00

SecuBox CDN Cache Dashboard

OpenWrt License SecuBox

Dashboard LuCI pour gérer un proxy cache CDN local sur OpenWrt. Optimisez votre bande passante en cachant le contenu web fréquemment accédé.

CDN Cache Dashboard

🎯 Fonctionnalités

  • 📊 Dashboard temps réel — Statistiques de hit ratio, économies de bande passante
  • 💾 Gestion du cache — Visualisation des objets en cache, purge sélective
  • 📋 Policies configurables — Règles par domaine, extension, durée
  • 📈 Graphiques statistiques — Évolution du hit ratio et des économies
  • 🔧 Maintenance — Purge, préchargement, logs, redémarrage
  • ⚙️ Configuration complète — Taille cache, port, mode transparent

📦 Installation

Depuis les packages SecuBox

opkg update
opkg install luci-app-cdn-cache

Compilation manuelle

# Cloner dans le SDK OpenWrt
git clone https://github.com/gkerma/luci-app-cdn-cache.git package/luci-app-cdn-cache

# Compiler
make package/luci-app-cdn-cache/compile V=s

🔧 Configuration

Via LuCI

  1. Accéder à Services → CDN Cache → Settings
  2. Configurer la taille du cache, le port et les policies
  3. Activer le service

Via UCI

# Activer le service
uci set cdn-cache.main.enabled=1
uci set cdn-cache.main.cache_size=2048
uci set cdn-cache.main.listen_port=3128
uci commit cdn-cache

# Redémarrer
/etc/init.d/cdn-cache restart

Configuration client

Configurez vos appareils pour utiliser le proxy :

Proxy HTTP: 192.168.1.1:3128

Ou utilisez le mode transparent avec des règles iptables.

📊 Policies de Cache

Les policies définissent quoi cacher et pour combien de temps :

Policy Domaines Extensions Durée
Windows Update windowsupdate.com, download.microsoft.com exe, msu, cab 7 jours
Linux Repos archive.ubuntu.com, deb.debian.org deb, rpm 3 jours
Static Content * js, css, png, jpg, woff 1 jour

🚫 Exclusions

Certains domaines ne doivent jamais être cachés :

  • Sites bancaires — Sécurité
  • Streaming vidéo — Contenu temps réel
  • APIs dynamiques — Données changeantes

📁 Structure du Package

luci-app-cdn-cache/
├── Makefile
├── htdocs/luci-static/resources/
│   ├── view/cdn-cache/
│   │   ├── overview.js        # Dashboard principal
│   │   ├── cache.js           # Gestion du cache
│   │   ├── policies.js        # Configuration policies
│   │   ├── statistics.js      # Graphiques stats
│   │   ├── maintenance.js     # Outils maintenance
│   │   └── settings.js        # Configuration
│   └── cdn-cache/
│       ├── api.js             # API RPC
│       └── dashboard.css      # Styles
└── root/
    ├── etc/
    │   ├── config/cdn-cache   # Configuration UCI
    │   └── init.d/cdn-cache   # Script init
    └── usr/
        ├── libexec/rpcd/cdn-cache  # Backend RPCD
        └── share/
            ├── luci/menu.d/   # Menu LuCI
            └── rpcd/acl.d/    # ACL

🔗 API RPCD

Méthode Description
status État du service
stats Statistiques globales
cache_list Liste des objets en cache
top_domains Top domaines par usage
bandwidth_savings Économies de bande passante
purge_cache Vider tout le cache
purge_domain Vider cache d'un domaine
preload_url Précharger une URL

🔧 Dépendances

  • luci-base — Framework LuCI
  • nginx-ssl — Serveur proxy
  • rpcd — Daemon RPC
  • coreutils-stat — Utilitaires

📈 Performances

Avec une configuration optimale :

  • Hit ratio : 60-80% typique
  • Économies : 40-60% de bande passante
  • Latence : < 1ms pour les hits

🔗 Liens

📄 Licence

Apache-2.0 © 2025 CyberMind.fr