docs: Regenerate README with updated URLs and module list
- Update version to 0.15.3 - Update GitHub URL to CyberMind-FR/secubox-openwrt - Update website to secubox.cybermood.eu - Simplify and reorganize module tables - Add public pages section Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ce543762cc
commit
b5f3c55eef
615
README.md
615
README.md
@ -1,279 +1,75 @@
|
||||
# SecuBox - Security Suite for OpenWrt
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
**Version:** 0.15.3
|
||||
**Last Updated:** 2025-01-14
|
||||
**Status:** Active Development
|
||||
|
||||
[](https://github.com/gkerma/secubox/actions/workflows/build-openwrt-packages.yml)
|
||||
[](https://github.com/gkerma/secubox/actions/workflows/test-validate.yml)
|
||||
[](https://github.com/CyberMind-FR/secubox-openwrt/actions/workflows/build-openwrt-packages.yml)
|
||||
[](LICENSE)
|
||||
|
||||
## 📚 Documentation pour Développeurs
|
||||
|
||||
**NOUVEAU (2025-12-26):** Guides complets de développement disponibles!
|
||||
|
||||
| Guide | Description | Public |
|
||||
|-------|-------------|--------|
|
||||
| **[DEVELOPMENT-GUIDELINES.md](./DEVELOPMENT-GUIDELINES.md)** | ⭐ Guide complet: Design System, RPCD/ubus, ACL, JavaScript, CSS, Debugging (100+ pages) | Développeurs, IA assistants |
|
||||
| **[QUICK-START.md](./QUICK-START.md)** | ⚡ Aide-mémoire rapide: Règles critiques, commandes, templates de code | Développeurs expérimentés |
|
||||
| **[AGENTS.md](./AGENTS.md)** | 🤖 Repository Guidelines: structure, commandes build/test, conventions de commits | Contributeurs, agents IA |
|
||||
| **[CLAUDE.md](./CLAUDE.md)** | 🏗️ Architecture & Build: SDK OpenWrt, structure fichiers, CI/CD | Claude Code, automation |
|
||||
| **[deploy-module-template.sh](./deploy-module-template.sh)** | 🚀 Script de déploiement standardisé avec backup automatique | DevOps |
|
||||
|
||||
**⚠️ Règles Critiques:**
|
||||
1. RPCD naming: fichier = objet ubus (`luci.system-hub`)
|
||||
2. Menu paths: path menu = fichier vue (`system-hub/overview.js`)
|
||||
3. Permissions: RPCD=755, CSS/JS=644
|
||||
4. **TOUJOURS valider:** `./secubox-tools/validate-modules.sh`
|
||||
|
||||
**Design System (v0.3.0):** Inspiré de [demo Cybermind](https://cybermind.fr/apps/system-hub/demo.html)
|
||||
- Palette dark: `#0a0a0f` (fond), `#6366f1→#8b5cf6` (gradients)
|
||||
- Fonts: Inter (texte), JetBrains Mono (valeurs)
|
||||
- CSS classes: `.sh-*` (System Hub), `.sb-*` (SecuBox)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Overview
|
||||
## Overview
|
||||
|
||||
SecuBox is a comprehensive security and network management suite for OpenWrt, providing a unified ecosystem of specialized dashboards and tools. All modules are compiled automatically for multiple OpenWrt architectures via GitHub Actions.
|
||||
|
||||
---
|
||||
|
||||
## 📦 SecuBox Modules
|
||||
|
||||
### 🎛️ Core Control
|
||||
|
||||
#### **luci-app-secubox** - SecuBox Central Hub
|
||||
Unified security dashboard providing central management for all SecuBox components.
|
||||
|
||||
**Features:**
|
||||
- Centralized dashboard for all modules
|
||||
- Integrated monitoring and management
|
||||
- Unified navigation interface
|
||||
|
||||
[View Details](luci-app-secubox/README.md)
|
||||
**Website:** [secubox.cybermood.eu](https://secubox.cybermood.eu)
|
||||
**Publisher:** [CyberMind.fr](https://cybermind.fr)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-system-hub** - System Control Center
|
||||
Central control and remote assistance dashboard for OpenWrt.
|
||||
## SecuBox Modules
|
||||
|
||||
**Features:**
|
||||
- 🧩 Component management (start/stop/restart all services)
|
||||
- 💚 Health monitoring with score (0-100) and recommendations
|
||||
- 🖥️ Remote assistance via RustDesk integration
|
||||
- 🔍 Diagnostic collection with anonymization
|
||||
- 📋 Unified logs from all components
|
||||
- 📅 Scheduled tasks (health reports, backups)
|
||||
### Core
|
||||
|
||||
[View Details](package/secubox/luci-app-system-hub/README.md)
|
||||
| Module | Version | Status | Description |
|
||||
|--------|---------|--------|-------------|
|
||||
| **luci-app-secubox-portal** | 1.0.2 | Stable | Unified dashboard and navigation |
|
||||
| **luci-app-system-hub** | 0.5.1 | Stable | Central system management |
|
||||
| **luci-app-secubox** | 1.0.0 | Stable | SecuBox central hub |
|
||||
|
||||
### Security & Monitoring
|
||||
|
||||
| Module | Version | Status | Description |
|
||||
|--------|---------|--------|-------------|
|
||||
| **luci-app-crowdsec-dashboard** | 0.7.0 | Stable | CrowdSec collaborative threat protection |
|
||||
| **luci-app-netdata-dashboard** | 0.5.0 | Stable | Real-time system monitoring |
|
||||
| **secubox-auth-logger** | 1.2.2 | Stable | Authentication failure logging for CrowdSec |
|
||||
|
||||
### Network & Access Control
|
||||
|
||||
| Module | Version | Status | Description |
|
||||
|--------|---------|--------|-------------|
|
||||
| **luci-app-client-guardian** | 0.4.0 | Stable | Parental controls and device management |
|
||||
| **luci-app-auth-guardian** | 0.4.0 | Stable | Captive portal and authentication |
|
||||
| **luci-app-network-modes** | 0.5.0 | Stable | Network configuration (router/AP/bridge) |
|
||||
| **luci-app-wireguard-dashboard** | 0.5.0 | Stable | WireGuard VPN management |
|
||||
|
||||
### Bandwidth & Performance
|
||||
|
||||
| Module | Version | Status | Description |
|
||||
|--------|---------|--------|-------------|
|
||||
| **luci-app-bandwidth-manager** | 0.5.0 | Stable | QoS and bandwidth quotas |
|
||||
| **luci-app-traffic-shaper** | 0.4.0 | Stable | Traffic prioritization |
|
||||
| **luci-app-cdn-cache** | 0.5.0 | Stable | Local cache for games and updates |
|
||||
| **luci-app-media-flow** | 0.6.3 | Beta | Multimedia streaming |
|
||||
|
||||
### Services & Integration
|
||||
|
||||
| Module | Version | Status | Description |
|
||||
|--------|---------|--------|-------------|
|
||||
| **luci-app-vhost-manager** | 0.5.0 | Stable | Virtual hosts management |
|
||||
| **luci-app-mqtt-bridge** | 0.4.0 | Stable | MQTT home automation integration |
|
||||
| **luci-app-ksm-manager** | 0.4.0 | Stable | Kernel memory optimization |
|
||||
| **luci-app-network-tweaks** | 1.0.0 | Stable | Advanced network optimizations |
|
||||
|
||||
---
|
||||
|
||||
### 🔒 Security & Monitoring
|
||||
|
||||
#### **luci-app-crowdsec-dashboard** - Collaborative Security
|
||||
Modern dashboard for CrowdSec intrusion prevention on OpenWrt.
|
||||
|
||||
**Features:**
|
||||
- 🛡️ Real-time ban monitoring and alerts
|
||||
- 📊 Decision management (view, search, ban/unban IPs)
|
||||
- 📈 Metrics dashboard (engine stats, parsers, scenarios)
|
||||
- 🌍 Geographic threat visualization
|
||||
- ⚡ Auto-refresh with dark cybersecurity theme
|
||||
|
||||
[View Details](package/secubox/luci-app-crowdsec-dashboard/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-netdata-dashboard** - Real-time Monitoring
|
||||
System monitoring dashboard with live metrics visualization.
|
||||
|
||||
**Features:**
|
||||
- 📊 CPU, memory, disk, network monitoring
|
||||
- 🌡️ Temperature sensor readings
|
||||
- ⚙️ Process monitor with resource usage
|
||||
- 🎨 Animated gauges and sparklines
|
||||
- 🔄 2-second auto-refresh
|
||||
|
||||
[View Details](package/secubox/luci-app-netdata-dashboard/README.md)
|
||||
|
||||
---
|
||||
|
||||
### 🌐 Network Intelligence
|
||||
|
||||
#### **luci-app-netifyd-dashboard** - Deep Packet Inspection
|
||||
Network intelligence dashboard with DPI for OpenWrt.
|
||||
|
||||
**Features:**
|
||||
- 🔍 Application detection (Netflix, YouTube, Zoom, etc.)
|
||||
- 📡 Protocol identification (HTTP, HTTPS, DNS, QUIC)
|
||||
- 🔄 Live network flow tracking
|
||||
- 💻 Automatic device discovery
|
||||
- 📊 Traffic categorization (Web, Streaming, Gaming, VoIP)
|
||||
|
||||
[View Details](package/secubox/luci-app-netifyd-dashboard/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-network-modes** - Network Configuration
|
||||
Configure different network operation modes with one click.
|
||||
|
||||
**Features:**
|
||||
- 🔍 **Sniffer Bridge Mode**: Transparent inline bridge for traffic analysis with Netifyd DPI
|
||||
- 👁️ **Sniffer Passive Mode**: Out-of-band monitoring via SPAN/TAP for zero-impact forensics
|
||||
- 📶 **Access Point**: WiFi AP with 802.11r/k/v roaming and band steering
|
||||
- 🔄 **Relay/Extender**: Network relay with WireGuard VPN and MTU optimization
|
||||
- 🌐 **Router Mode**: Full router with proxy, HTTPS frontend, and virtual hosts
|
||||
- 🎛️ One-click mode switching with automatic backup
|
||||
- 📊 Real-time interface and service status monitoring
|
||||
|
||||
[View Details](package/secubox/luci-app-network-modes/README.md)
|
||||
|
||||
---
|
||||
|
||||
### 🔐 VPN & Access Control
|
||||
|
||||
#### **luci-app-wireguard-dashboard** - VPN Management
|
||||
Modern WireGuard VPN monitoring dashboard.
|
||||
|
||||
**Features:**
|
||||
- 🔐 Tunnel status monitoring
|
||||
- 👥 Peer management (active/idle/inactive)
|
||||
- 📊 Per-peer traffic statistics
|
||||
- ⚙️ Configuration visualization
|
||||
- 🔒 Secure (private keys never exposed)
|
||||
|
||||
[View Details](package/secubox/luci-app-wireguard-dashboard/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-client-guardian** - Network Access Control
|
||||
NAC system with captive portal, quarantine, and parental controls.
|
||||
|
||||
**Features:**
|
||||
- 🔍 Real-time client detection and monitoring
|
||||
- 🏠 Zone management (LAN, IoT, Guest, Quarantine)
|
||||
- ⏳ Default quarantine policy for new clients
|
||||
- 🚪 Modern captive portal with authentication
|
||||
- 👨👩👧👦 Parental controls (time limits, content filtering)
|
||||
- 🔔 SMS/Email alerts for security events
|
||||
|
||||
[View Details](package/secubox/luci-app-client-guardian/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-auth-guardian** - Authentication System
|
||||
Comprehensive authentication and session management.
|
||||
|
||||
**Features:**
|
||||
- 🎨 Customizable captive portal
|
||||
- 🔑 OAuth integration (Google, GitHub, Facebook, Twitter)
|
||||
- 🎟️ Voucher system with time/bandwidth limits
|
||||
- 🍪 Secure session management
|
||||
- ⏭️ MAC/IP/Domain bypass rules
|
||||
|
||||
[View Details](package/secubox/luci-app-auth-guardian/README.md)
|
||||
|
||||
---
|
||||
|
||||
### 📊 Bandwidth & Traffic
|
||||
|
||||
#### **luci-app-bandwidth-manager** - QoS & Quotas
|
||||
Advanced bandwidth management with automatic media detection.
|
||||
|
||||
**Features:**
|
||||
- 🎯 8 configurable QoS priority classes
|
||||
- 📊 Daily and monthly bandwidth quotas
|
||||
- 🎬 Automatic media detection (VoIP, Gaming, Streaming)
|
||||
- ⏰ Time-based scheduling (peak/off-peak)
|
||||
- 👥 Per-client statistics and controls
|
||||
|
||||
[View Details](package/secubox/luci-app-bandwidth-manager/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-media-flow** - Media Traffic Detection
|
||||
Advanced streaming and media traffic monitoring.
|
||||
|
||||
**Features:**
|
||||
- 🎬 Real-time streaming service detection
|
||||
- 📡 Protocol identification (RTSP, HLS, DASH, RTP)
|
||||
- 📞 VoIP/Video call monitoring
|
||||
- 📊 Per-service bandwidth tracking
|
||||
- 📈 Quality of experience metrics
|
||||
|
||||
**Supported Services:**
|
||||
- Netflix, YouTube, Twitch, Disney+
|
||||
- Spotify, Apple Music, Tidal
|
||||
- Zoom, Teams, Google Meet, WebEx
|
||||
|
||||
[View Details](package/secubox/luci-app-media-flow/README.md)
|
||||
|
||||
---
|
||||
|
||||
### 🚀 Performance & Services
|
||||
|
||||
#### **luci-app-cdn-cache** - Bandwidth Optimization
|
||||
Local CDN cache proxy for bandwidth savings.
|
||||
|
||||
**Features:**
|
||||
- 💾 Smart caching of frequently accessed content
|
||||
- 📊 Real-time hit ratio and bandwidth savings stats
|
||||
- 📋 Configurable policies by domain/extension
|
||||
- 🔧 Automatic purge and preload capabilities
|
||||
- 📈 Statistical graphs and trends
|
||||
|
||||
**Cache Policies:**
|
||||
- Windows Update, Linux Repos
|
||||
- Static content (JS, CSS, images)
|
||||
- Configurable TTL per content type
|
||||
|
||||
[View Details](package/secubox/luci-app-cdn-cache/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-mqtt-bridge** - IoT MQTT Hub
|
||||
USB-aware MQTT bridge for sensors and automation gear.
|
||||
|
||||
**Features:**
|
||||
- 🔌 Detects USB serial adapters and exposes pairing wizard
|
||||
- 📡 Publishes payloads to the built-in MQTT broker with topic templates
|
||||
- 🧊 Retains last payloads and surfaces metrics/clients in SecuBox theme
|
||||
- 🔐 Broker credential + retention management from the UI
|
||||
- 📁 Saves configuration snapshots for rollback
|
||||
|
||||
[View Details](package/secubox/luci-app-mqtt-bridge/README.md)
|
||||
|
||||
---
|
||||
|
||||
#### **luci-app-vhost-manager** - Virtual Hosts
|
||||
Virtual host and local SaaS gateway management.
|
||||
|
||||
**Features:**
|
||||
- 🏠 Internal virtual hosts with custom domains
|
||||
- ↪️ External service redirection
|
||||
- 🔒 SSL/TLS with Let's Encrypt or self-signed
|
||||
- ⚙️ Automatic nginx reverse proxy configuration
|
||||
|
||||
**Supported Services:**
|
||||
- Nextcloud, GitLab, Jellyfin
|
||||
- Home Assistant and more
|
||||
|
||||
[View Details](package/secubox/luci-app-vhost-manager/README.md)
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ Supported Architectures
|
||||
|
||||
SecuBox packages are automatically compiled for all major OpenWrt architectures:
|
||||
## Supported Architectures
|
||||
|
||||
### ARM 64-bit (AArch64)
|
||||
| Target | Devices |
|
||||
|--------|---------|
|
||||
| `aarch64-cortex-a53` | ESPRESSObin, Sheeva64, BananaPi R64 |
|
||||
| `aarch64-cortex-a53` | ESPRESSObin, BananaPi R64 |
|
||||
| `aarch64-cortex-a72` | MOCHAbin, Raspberry Pi 4, NanoPi R4S |
|
||||
| `aarch64-generic` | Rock64, Pine64, QEMU ARM64 |
|
||||
| `mediatek-filogic` | GL.iNet MT3000, BananaPi R3 |
|
||||
| `rockchip-armv8` | NanoPi R4S/R5S, FriendlyARM |
|
||||
| `bcm27xx-bcm2711` | Raspberry Pi 4, Compute Module 4 |
|
||||
@ -284,107 +80,50 @@ SecuBox packages are automatically compiled for all major OpenWrt architectures:
|
||||
| `arm-cortex-a7-neon` | Orange Pi, BananaPi, Allwinner |
|
||||
| `arm-cortex-a9-neon` | Linksys WRT, Turris Omnia |
|
||||
| `qualcomm-ipq40xx` | Google WiFi, Zyxel NBG6617 |
|
||||
| `qualcomm-ipq806x` | Netgear R7800, R7500 |
|
||||
|
||||
### MIPS
|
||||
| Target | Devices |
|
||||
|--------|---------|
|
||||
| `mips-24kc` | TP-Link Archer, Ubiquiti |
|
||||
| `mipsel-24kc` | Xiaomi, GL.iNet, Netgear |
|
||||
| `mipsel-74kc` | Broadcom BCM47xx |
|
||||
|
||||
### x86
|
||||
| Target | Devices |
|
||||
|--------|---------|
|
||||
| `x86-64` | PC, VMs, Docker, Proxmox |
|
||||
| `x86-generic` | Legacy PC, old Atom |
|
||||
|
||||
---
|
||||
|
||||
## 📁 Repository Structure
|
||||
## Installation
|
||||
|
||||
```
|
||||
secubox/
|
||||
├── .github/
|
||||
│ └── workflows/
|
||||
│ ├── build-openwrt-packages.yml # Multi-arch build CI
|
||||
│ ├── build-secubox-images.yml # Custom image builder
|
||||
│ └── test-validate.yml # Tests & validation
|
||||
├── luci-app-secubox/ # Central hub
|
||||
├── luci-app-system-hub/ # System control center
|
||||
├── luci-app-crowdsec-dashboard/ # CrowdSec security
|
||||
├── luci-app-netdata-dashboard/ # System monitoring
|
||||
├── luci-app-netifyd-dashboard/ # DPI & traffic analysis
|
||||
├── luci-app-wireguard-dashboard/ # WireGuard VPN
|
||||
├── luci-app-network-modes/ # Network configuration
|
||||
├── luci-app-client-guardian/ # NAC & captive portal
|
||||
├── luci-app-auth-guardian/ # Authentication
|
||||
├── luci-app-bandwidth-manager/ # QoS & quotas
|
||||
├── luci-app-media-flow/ # Media detection
|
||||
├── luci-app-cdn-cache/ # CDN proxy cache
|
||||
├── luci-app-vhost-manager/ # Virtual hosts
|
||||
├── makefiles/ # Reference makefiles
|
||||
├── secubox-tools/ # Repair & debug tools
|
||||
└── templates/ # Package templates
|
||||
```
|
||||
### From Pre-built Packages
|
||||
|
||||
### Package Structure (Standard LuCI App)
|
||||
```
|
||||
luci-app-*/
|
||||
├── Makefile # OpenWrt package definition
|
||||
├── README.md # Module documentation
|
||||
├── htdocs/luci-static/resources/
|
||||
│ ├── view/*/ # JavaScript UI views
|
||||
│ └── */
|
||||
│ ├── api.js # RPC API client
|
||||
│ └── dashboard.css # Module styles
|
||||
└── root/
|
||||
├── etc/config/ # UCI configuration
|
||||
└── usr/
|
||||
├── libexec/rpcd/ # RPCD backend (shell/exec)
|
||||
└── share/
|
||||
├── luci/menu.d/ # Menu JSON
|
||||
└── rpcd/acl.d/ # ACL permissions JSON
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1: From Pre-built Packages
|
||||
|
||||
Download the latest packages from [GitHub Releases](https://github.com/gkerma/secubox/releases):
|
||||
Download from [GitHub Releases](https://github.com/CyberMind-FR/secubox-openwrt/releases):
|
||||
|
||||
```bash
|
||||
# Install individual modules
|
||||
opkg update
|
||||
opkg install luci-app-secubox_*.ipk
|
||||
|
||||
# Or install specific modules
|
||||
opkg install luci-app-secubox-portal_*.ipk
|
||||
opkg install luci-app-system-hub_*.ipk
|
||||
opkg install luci-app-crowdsec-dashboard_*.ipk
|
||||
opkg install luci-app-client-guardian_*.ipk
|
||||
```
|
||||
|
||||
### Option 2: Build from Source
|
||||
### Build from Source
|
||||
|
||||
```bash
|
||||
# Clone into OpenWrt SDK package directory
|
||||
# Clone into OpenWrt SDK
|
||||
cd ~/openwrt-sdk/package/
|
||||
git clone https://github.com/gkerma/secubox.git
|
||||
git clone https://github.com/CyberMind-FR/secubox-openwrt.git secubox
|
||||
|
||||
# Build all packages
|
||||
# Build
|
||||
cd ~/openwrt-sdk/
|
||||
make package/secubox/luci-app-secubox/compile V=s
|
||||
make package/secubox/luci-app-system-hub/compile V=s
|
||||
# ... etc for other modules
|
||||
make package/secubox/luci-app-secubox-portal/compile V=s
|
||||
```
|
||||
|
||||
### Option 3: Add to OpenWrt Feed
|
||||
### Add as OpenWrt Feed
|
||||
|
||||
Add to `feeds.conf.default`:
|
||||
```
|
||||
src-git secubox https://github.com/gkerma/secubox.git
|
||||
src-git secubox https://github.com/CyberMind-FR/secubox-openwrt.git
|
||||
```
|
||||
|
||||
Then:
|
||||
@ -397,204 +136,92 @@ make V=s
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Development
|
||||
## Repository Structure
|
||||
|
||||
### Create a New Module
|
||||
|
||||
```bash
|
||||
# Copy template
|
||||
cp -r templates/luci-app-template luci-app-newmodule
|
||||
|
||||
# Edit Makefile
|
||||
cd luci-app-newmodule
|
||||
vi Makefile # Update PKG_NAME, PKG_VERSION, LUCI_TITLE, LUCI_DEPENDS
|
||||
|
||||
# Create required files
|
||||
mkdir -p htdocs/luci-static/resources/{view/newmodule,newmodule}
|
||||
mkdir -p root/usr/{libexec/rpcd,share/{luci/menu.d,rpcd/acl.d}}
|
||||
|
||||
# Implement your module...
|
||||
```
|
||||
|
||||
### Test Locally
|
||||
|
||||
```bash
|
||||
# Build package
|
||||
make package/luci-app-newmodule/compile V=s
|
||||
|
||||
# Package will be in bin/packages/<arch>/base/
|
||||
scp bin/packages/*/base/luci-app-newmodule_*.ipk root@router:/tmp/
|
||||
|
||||
# Install on router
|
||||
ssh root@router
|
||||
opkg install /tmp/luci-app-newmodule_*.ipk
|
||||
/etc/init.d/rpcd restart
|
||||
```
|
||||
|
||||
### Run Tests
|
||||
|
||||
```bash
|
||||
# Lint and validate
|
||||
shellcheck luci-app-*/root/usr/libexec/rpcd/*
|
||||
jsonlint luci-app-*/root/usr/share/luci/menu.d/*.json
|
||||
jsonlint luci-app-*/root/usr/share/rpcd/acl.d/*.json
|
||||
|
||||
# Or use GitHub Actions workflow
|
||||
git push # Triggers test-validate.yml
|
||||
secubox-openwrt/
|
||||
├── package/secubox/ # All SecuBox packages
|
||||
│ ├── luci-app-secubox-portal/
|
||||
│ ├── luci-app-system-hub/
|
||||
│ ├── luci-app-crowdsec-dashboard/
|
||||
│ ├── luci-app-client-guardian/
|
||||
│ ├── luci-app-wireguard-dashboard/
|
||||
│ ├── luci-app-network-modes/
|
||||
│ ├── luci-app-bandwidth-manager/
|
||||
│ ├── luci-app-traffic-shaper/
|
||||
│ ├── luci-app-cdn-cache/
|
||||
│ ├── luci-app-auth-guardian/
|
||||
│ ├── luci-app-media-flow/
|
||||
│ ├── luci-app-vhost-manager/
|
||||
│ ├── luci-app-mqtt-bridge/
|
||||
│ ├── luci-app-ksm-manager/
|
||||
│ ├── luci-app-network-tweaks/
|
||||
│ ├── secubox-auth-logger/
|
||||
│ └── ...
|
||||
├── secubox-tools/ # Build tools and local feed
|
||||
├── docs/ # Documentation
|
||||
└── .github/workflows/ # CI/CD
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🤖 CI/CD
|
||||
## OpenWrt Compatibility
|
||||
|
||||
### Automated Builds
|
||||
|
||||
Packages are compiled automatically when:
|
||||
- **Push to main/master**: Test compilation
|
||||
- **Pull Request**: Validation and testing
|
||||
- **Tag `v*`**: Release creation with all architectures
|
||||
|
||||
### Manual Build
|
||||
|
||||
1. Go to **Actions** → **Build OpenWrt Packages**
|
||||
2. Click **Run workflow**
|
||||
3. Select build options:
|
||||
- **Package name**: Choose a specific package or leave empty for all packages
|
||||
- **OpenWrt version**: 25.12.0-rc1, 24.10.5, 23.05.5, or SNAPSHOT
|
||||
- **Architectures**: `all` or comma-separated list
|
||||
|
||||
#### Build All Packages
|
||||
|
||||
Leave "Package name" empty and select architectures:
|
||||
|
||||
```bash
|
||||
# Architecture examples
|
||||
all # All supported architectures
|
||||
x86-64 # x86_64 only
|
||||
aarch64-cortex-a53,aarch64-cortex-a72 # ARM64 devices
|
||||
mips-24kc,mipsel-24kc # MIPS routers
|
||||
```
|
||||
|
||||
#### Build Single Package
|
||||
|
||||
Select a specific package from the dropdown to build only that module:
|
||||
|
||||
- `luci-app-secubox` - Central Hub
|
||||
- `luci-app-system-hub` - System Control Center
|
||||
- `luci-app-crowdsec-dashboard` - CrowdSec Security
|
||||
- `luci-app-netdata-dashboard` - System Monitoring
|
||||
- `luci-app-netifyd-dashboard` - DPI & Traffic Analysis
|
||||
- `luci-app-wireguard-dashboard` - WireGuard VPN
|
||||
- `luci-app-network-modes` - Network Configuration
|
||||
- `luci-app-client-guardian` - NAC & Captive Portal
|
||||
- `luci-app-auth-guardian` - Authentication System
|
||||
- `luci-app-bandwidth-manager` - QoS & Quotas
|
||||
- `luci-app-media-flow` - Media Detection
|
||||
- `luci-app-cdn-cache` - CDN Proxy Cache
|
||||
- `luci-app-vhost-manager` - Virtual Hosts
|
||||
|
||||
**Use case**: Quickly test a single module after making changes, without waiting for all packages to build.
|
||||
|
||||
### Download Artifacts
|
||||
|
||||
1. Go to **Actions** → Select workflow run
|
||||
2. Click on the run
|
||||
3. Download **Artifacts** at bottom of page
|
||||
|
||||
Artifacts are organized by architecture:
|
||||
```
|
||||
packages-x86-64/
|
||||
├── luci-app-secubox_1.0.0-1_all.ipk
|
||||
├── luci-app-system-hub_1.0.0-1_all.ipk
|
||||
├── luci-app-crowdsec-dashboard_1.0.0-1_all.ipk
|
||||
├── ...
|
||||
└── SHA256SUMS
|
||||
```
|
||||
| Version | Status | Package Format |
|
||||
|---------|--------|----------------|
|
||||
| 25.x | Testing | `.apk` |
|
||||
| 24.10.x | **Recommended** | `.ipk` |
|
||||
| 23.05.x | Supported | `.ipk` |
|
||||
|
||||
---
|
||||
|
||||
## 📊 OpenWrt Compatibility
|
||||
## Development
|
||||
|
||||
| Version | Status | Package Format | Notes |
|
||||
|---------|--------|----------------|-------|
|
||||
| 25.12.0-rc1 | 🧪 Testing | `.apk` | Latest RC, new apk package manager |
|
||||
| 24.10.x | ✅ Supported | `.ipk` | **Recommended** (latest stable) |
|
||||
| 23.05.x | ✅ Supported | `.ipk` | Previous stable |
|
||||
| 22.03.x | ✅ Supported | `.ipk` | LTS |
|
||||
| 21.02.x | ⚠️ Partial | `.ipk` | End of support |
|
||||
| SNAPSHOT | ✅ Supported | `.apk` | Unstable, bleeding edge |
|
||||
### Developer Documentation
|
||||
|
||||
**Note:** OpenWrt 25.12+ uses the new Alpine Package Manager (apk) instead of opkg. Our build workflows automatically detect the version and build the appropriate package format.
|
||||
| Guide | Description |
|
||||
|-------|-------------|
|
||||
| [DEVELOPMENT-GUIDELINES.md](./DEVELOPMENT-GUIDELINES.md) | Design System, RPCD/ubus, ACL, JavaScript |
|
||||
| [QUICK-START.md](./QUICK-START.md) | Quick reference and code templates |
|
||||
| [CLAUDE.md](./CLAUDE.md) | OpenWrt shell scripting guidelines |
|
||||
|
||||
### Critical Rules
|
||||
|
||||
1. **RPCD naming**: filename = ubus object (`luci.system-hub`)
|
||||
2. **Menu paths**: path = view file (`system-hub/overview.js`)
|
||||
3. **Permissions**: RPCD=755, CSS/JS=644
|
||||
4. **Validate**: `./secubox-tools/validate-modules.sh`
|
||||
|
||||
---
|
||||
|
||||
## 🧰 SecuBox Tools
|
||||
## Public Pages
|
||||
|
||||
### secubox-repair.sh
|
||||
Automated repair tool for all SecuBox modules.
|
||||
SecuBox includes public pages accessible without authentication:
|
||||
|
||||
**Features:**
|
||||
- Auto-detect and fix Makefile issues
|
||||
- Generate missing RPCD files
|
||||
- Validate package structure
|
||||
- Batch repair all modules
|
||||
- **Crowdfunding Campaign** - Support the project development
|
||||
- **Bug Bounty Program** - Security vulnerability reporting
|
||||
- **Development Status** - Modules list, roadmap, changelog
|
||||
|
||||
```bash
|
||||
./secubox-tools/secubox-repair.sh
|
||||
```
|
||||
|
||||
### secubox-debug.sh
|
||||
Debug and diagnostic tool for development.
|
||||
|
||||
**Features:**
|
||||
- Validate package structure
|
||||
- Check dependencies
|
||||
- Test RPCD backends
|
||||
- Generate diagnostic reports
|
||||
|
||||
```bash
|
||||
./secubox-tools/secubox-debug.sh luci-app-module-name
|
||||
```
|
||||
Access at: `https://your-secubox/cgi-bin/luci/secubox-public/`
|
||||
|
||||
---
|
||||
|
||||
## 🏷️ Creating Releases
|
||||
## Links
|
||||
|
||||
```bash
|
||||
# Create versioned tag
|
||||
git tag -a v1.2.0 -m "Release 1.2.0: Add new features"
|
||||
git push origin v1.2.0
|
||||
```
|
||||
|
||||
The release will be created automatically with:
|
||||
- Individual `.tar.gz` archives per architecture
|
||||
- Global archive with all architectures
|
||||
- SHA256 checksums
|
||||
- Auto-generated release notes
|
||||
- **Website**: [secubox.cybermood.eu](https://secubox.cybermood.eu)
|
||||
- **GitHub**: [github.com/CyberMind-FR/secubox-openwrt](https://github.com/CyberMind-FR/secubox-openwrt)
|
||||
- **Publisher**: [CyberMind.fr](https://cybermind.fr)
|
||||
- **Issues**: [GitHub Issues](https://github.com/CyberMind-FR/secubox-openwrt/issues)
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Links
|
||||
|
||||
- **Documentation**: [CyberMind SecuBox](https://cybermind.fr/secubox)
|
||||
- **Website**: [CyberMind.fr](https://cybermind.fr)
|
||||
- **OpenWrt SDK**: [Documentation](https://openwrt.org/docs/guide-developer/using_the_sdk)
|
||||
- **LuCI Development**: [Wiki](https://github.com/openwrt/luci/wiki)
|
||||
- **Issue Tracker**: [GitHub Issues](https://github.com/gkerma/secubox/issues)
|
||||
|
||||
---
|
||||
|
||||
## 📄 License
|
||||
## License
|
||||
|
||||
Apache-2.0 © 2025 CyberMind.fr
|
||||
|
||||
Individual modules may have additional licensing terms - see each module's README.
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions are welcome! Please:
|
||||
## Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
||||
@ -604,10 +231,8 @@ Contributions are welcome! Please:
|
||||
|
||||
---
|
||||
|
||||
## 👤 Author
|
||||
## Author
|
||||
|
||||
**Gandalf** - [CyberMind.fr](https://cybermind.fr)
|
||||
|
||||
---
|
||||
|
||||
**Made with ❤️ in France 🇫🇷**
|
||||
**Made with love in France**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user