docs: Update README v0.16.0 with 38 modules, add CHANGELOG
- README.md: Update to v0.16.0 with all 38 modules categorized - CHANGELOG.md: Create comprehensive changelog (v0.12.0-v0.16.0) - CLAUDE.md: Add toolchain build rules for Go/CGO packages - secubox-tools/README.md: Add SDK vs toolchain build guidance - TODO-ANALYSE.md: Mark completed tasks, update health score - HISTORY.md: Document ARM64 toolchain discovery, multi-instance - dev-status-widget.js: Update stats (38 modules, 1500 commits) SDK builds produce LSE atomics that crash on some ARM64 CPUs. Go/CGO packages (crowdsec, netifyd) must use full toolchain. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5a4f7986ac
commit
8c062b6d60
@ -1,6 +1,6 @@
|
|||||||
# SecuBox UI & Theme History
|
# SecuBox UI & Theme History
|
||||||
|
|
||||||
_Last updated: 2025-12-28_
|
_Last updated: 2026-01-27_
|
||||||
|
|
||||||
1. **Unified Dashboard Refresh (2025-12-20)**
|
1. **Unified Dashboard Refresh (2025-12-20)**
|
||||||
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
||||||
@ -24,7 +24,27 @@ _Last updated: 2025-12-28_
|
|||||||
- Use `secubox-tools/deploy-secubox-v0.1.2.sh` for RPCD/config updates.
|
- Use `secubox-tools/deploy-secubox-v0.1.2.sh` for RPCD/config updates.
|
||||||
- Always clear `/tmp/luci-*` after copying UI assets.
|
- Always clear `/tmp/luci-*` after copying UI assets.
|
||||||
|
|
||||||
6. **SecuBox v0.5.0-A Polish (2025-12-29)**
|
6. **SecuBox v0.5.0-A Polish (2025-12-29)**
|
||||||
- Monitoring and Modules views drop legacy hero/filter UIs; all tabs now use SecuNav styling.
|
- Monitoring and Modules views drop legacy hero/filter UIs; all tabs now use SecuNav styling.
|
||||||
- Help/Bonus page adopts the shared header, navbar entry, and chips.
|
- Help/Bonus page adopts the shared header, navbar entry, and chips.
|
||||||
- Alerts buttons use `sh-btn` components; nav + title chips inherit theme colors.
|
- Alerts buttons use `sh-btn` components; nav + title chips inherit theme colors.
|
||||||
|
|
||||||
|
7. **Multi-Instance Support (2026-01-20)**
|
||||||
|
- CrowdSec LAPI port configuration fix for multi-instance deployments.
|
||||||
|
- Streamlit and HexoJS gain multi-instance management support.
|
||||||
|
- HAProxy enhanced with instance-specific configuration.
|
||||||
|
|
||||||
|
8. **HexoJS Build & Publish Integration (2026-01-21)**
|
||||||
|
- Added LuCI interface for Gitea-based Hexo build and publish workflows.
|
||||||
|
- Automated Git operations for static site generation.
|
||||||
|
|
||||||
|
9. **ARM64 Toolchain Build Requirement (2026-01-27)**
|
||||||
|
- Discovered SIGILL crashes on ARM64 (MochaBin) due to LSE atomics in SDK-built Go binaries.
|
||||||
|
- Documented requirement: Go/CGO packages (crowdsec, netifyd) MUST use full OpenWrt toolchain.
|
||||||
|
- SDK produces binaries with LSE atomic instructions that crash on some Cortex-A72 CPUs.
|
||||||
|
- Updated CLAUDE.md, secubox-tools/README.md with toolchain build rules.
|
||||||
|
|
||||||
|
10. **Documentation Regeneration (2026-01-27)**
|
||||||
|
- README.md updated to v0.16.0 with all 38 modules categorized.
|
||||||
|
- Added build requirement table distinguishing SDK vs toolchain builds.
|
||||||
|
- secubox-tools/README.md updated to v1.1.0 with SDK vs toolchain guidance.
|
||||||
|
|||||||
@ -38,5 +38,21 @@
|
|||||||
- **2025-12-29 – Quick Deploy prompt fix**
|
- **2025-12-29 – Quick Deploy prompt fix**
|
||||||
Adjusted `prompt_select_app()` so menu output goes to stderr, preventing `--src-select` from capturing prompts along with the chosen app.
|
Adjusted `prompt_select_app()` so menu output goes to stderr, preventing `--src-select` from capturing prompts along with the chosen app.
|
||||||
|
|
||||||
- **2025-12-29 – System Hub theme sync**
|
- **2025-12-29 – System Hub theme sync**
|
||||||
`system-hub/common.css` / `dashboard.css` now listen to `data-secubox-theme`, hide the stock LuCI tab bar, and every System Hub view imports `secubox-theme` so UI matches the global toggle.
|
`system-hub/common.css` / `dashboard.css` now listen to `data-secubox-theme`, hide the stock LuCI tab bar, and every System Hub view imports `secubox-theme` so UI matches the global toggle.
|
||||||
|
|
||||||
|
- **2026-01-20 – Multi-Instance Support**
|
||||||
|
CrowdSec LAPI port fix, Streamlit/HexoJS multi-instance management.
|
||||||
|
|
||||||
|
- **2026-01-21 – HexoJS Build & Publish**
|
||||||
|
Gitea workflow integration for static site builds.
|
||||||
|
|
||||||
|
- **2026-01-27 – ARM64 Toolchain Build Discovery**
|
||||||
|
SIGILL crash investigation revealed Go CGO packages must use full OpenWrt toolchain.
|
||||||
|
SDK builds produce LSE atomics (casal instructions) incompatible with some Cortex-A72 CPUs.
|
||||||
|
Updated CLAUDE.md and secubox-tools/README.md with critical toolchain requirements.
|
||||||
|
|
||||||
|
- **2026-01-27 – Project Documentation Update**
|
||||||
|
README.md updated to v0.16.0 with 38 modules categorized.
|
||||||
|
secubox-tools/README.md updated to v1.1.0.
|
||||||
|
Added SDK vs Toolchain build guidance throughout documentation.
|
||||||
|
|||||||
136
CHANGELOG.md
Normal file
136
CHANGELOG.md
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to the SecuBox project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.16.0] - 2026-01-27
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Documentation for SDK vs full toolchain build requirements
|
||||||
|
- Build requirement table in README.md distinguishing SDK and toolchain builds
|
||||||
|
- ARM64 LSE atomics compatibility notes for MochaBin/Cortex-A72
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- README.md updated with all 38 modules categorized by function
|
||||||
|
- secubox-tools/README.md updated to v1.1.0 with toolchain guidance
|
||||||
|
- CLAUDE.md updated with critical toolchain build rules
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Documented SIGILL crash fix for Go CGO packages on ARM64 (use full toolchain)
|
||||||
|
|
||||||
|
## [0.15.4] - 2026-01-21
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- HexoJS Build & Publish LuCI interface for Gitea workflow integration
|
||||||
|
- Multi-instance management for Streamlit platform
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- CrowdSec LAPI port configuration for multi-instance deployments
|
||||||
|
|
||||||
|
## [0.15.3] - 2026-01-14
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- HAProxy enhanced instance management and ACME cron support
|
||||||
|
- Streamlit instance-specific configuration options
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Streamlit settings page value loading issue
|
||||||
|
|
||||||
|
## [0.15.0] - 2025-12-29
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- SecuNav unified navigation component across all modules
|
||||||
|
- Theme synchronization with dark/light/cyberpunk support
|
||||||
|
- Quick Deploy tooling with profiles and verification
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- All views now call Theme.init() for consistent theming
|
||||||
|
- Monitoring menu simplified (no /overview shim)
|
||||||
|
- Dashboard, Modules, Monitoring views use SecuNav styling
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- System Hub ACL compliance for diagnostics and remote RPC methods
|
||||||
|
- Validator improvements for cross-module LuCI menus
|
||||||
|
- CSS/JS asset permissions reset to 644
|
||||||
|
|
||||||
|
## [0.14.0] - 2025-12-28
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Theme selector with live preview in Settings
|
||||||
|
- Shared design tokens in secubox/common.css
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Alerts page mirrors dashboard style with dynamic header chips
|
||||||
|
- Settings view adopted SecuNav tabs and shared design language
|
||||||
|
|
||||||
|
## [0.13.0] - 2025-12-24
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Modules view with filter tabs, responsive cards, and live stats
|
||||||
|
- Monitoring view with SVG sparkline charts and auto-refresh
|
||||||
|
|
||||||
|
## [0.12.0] - 2025-12-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Dashboard hero stats and SecuNav top tabs
|
||||||
|
- Unified sh-page-header layout component
|
||||||
|
|
||||||
|
## Module Inventory (38 modules as of 0.16.0)
|
||||||
|
|
||||||
|
### SecuBox Core (5)
|
||||||
|
- luci-app-secubox
|
||||||
|
- luci-app-secubox-portal
|
||||||
|
- luci-app-secubox-admin
|
||||||
|
- luci-app-secubox-bonus
|
||||||
|
- luci-app-system-hub
|
||||||
|
|
||||||
|
### Security & Threat Management (9)
|
||||||
|
- luci-app-crowdsec-dashboard
|
||||||
|
- luci-app-secubox-security-threats
|
||||||
|
- luci-app-client-guardian
|
||||||
|
- luci-app-auth-guardian
|
||||||
|
- luci-app-exposure
|
||||||
|
- luci-app-tor-shield
|
||||||
|
- luci-app-mitmproxy
|
||||||
|
- luci-app-cyberfeed
|
||||||
|
- luci-app-ksm-manager
|
||||||
|
|
||||||
|
### Deep Packet Inspection (2)
|
||||||
|
- luci-app-ndpid
|
||||||
|
- luci-app-secubox-netifyd
|
||||||
|
|
||||||
|
### Network & Connectivity (8)
|
||||||
|
- luci-app-vhost-manager
|
||||||
|
- luci-app-haproxy
|
||||||
|
- luci-app-wireguard-dashboard
|
||||||
|
- luci-app-network-modes
|
||||||
|
- luci-app-network-tweaks
|
||||||
|
- luci-app-mqtt-bridge
|
||||||
|
- luci-app-cdn-cache
|
||||||
|
- luci-app-media-flow
|
||||||
|
|
||||||
|
### Bandwidth & Traffic (2)
|
||||||
|
- luci-app-bandwidth-manager
|
||||||
|
- luci-app-traffic-shaper
|
||||||
|
|
||||||
|
### Content & Web Platforms (5)
|
||||||
|
- luci-app-gitea
|
||||||
|
- luci-app-hexojs
|
||||||
|
- luci-app-metabolizer
|
||||||
|
- luci-app-magicmirror2
|
||||||
|
- luci-app-mmpm
|
||||||
|
|
||||||
|
### AI/LLM & Analytics (4)
|
||||||
|
- luci-app-localai
|
||||||
|
- luci-app-ollama
|
||||||
|
- luci-app-glances
|
||||||
|
- luci-app-netdata-dashboard
|
||||||
|
|
||||||
|
### Streaming & Data (2)
|
||||||
|
- luci-app-streamlit
|
||||||
|
- luci-app-picobrew
|
||||||
|
|
||||||
|
### IoT (1)
|
||||||
|
- luci-app-zigbee2mqtt
|
||||||
27
CLAUDE.md
27
CLAUDE.md
@ -56,5 +56,28 @@ When checking if a port is listening, use this order of fallbacks:
|
|||||||
- Use the repo sync helper scripts where available to avoid missing `root/` vs `htdocs/` payloads
|
- Use the repo sync helper scripts where available to avoid missing `root/` vs `htdocs/` payloads
|
||||||
|
|
||||||
### Toolchain Usage
|
### Toolchain Usage
|
||||||
- Use the OpenWrt toolchain when a module requires it (native SDK packages, toolchain-bound dependencies)
|
- **CRITICAL: Non-LuCI SecuBox apps MUST be built with the full OpenWrt toolchain, NOT the SDK**
|
||||||
- If unsure, start with `local-build.sh`; fall back to full toolchain builds when SDK cache cannot resolve dependencies
|
- Go packages (crowdsec, crowdsec-firewall-bouncer) require the full toolchain due to CGO and ARM64 compatibility
|
||||||
|
- Native C/C++ binaries (netifyd, nodogsplash) require the full toolchain
|
||||||
|
- The SDK produces binaries with LSE atomic instructions that crash on some ARM64 CPUs (like MochaBin's Cortex-A72)
|
||||||
|
|
||||||
|
- Packages requiring full toolchain build (in `secubox-tools/openwrt`):
|
||||||
|
- `crowdsec` - Go binary with CGO
|
||||||
|
- `crowdsec-firewall-bouncer` - Go binary with CGO
|
||||||
|
- `netifyd` - C++ native binary
|
||||||
|
- `nodogsplash` - C native binary
|
||||||
|
|
||||||
|
- To build with full toolchain:
|
||||||
|
```bash
|
||||||
|
cd secubox-tools/openwrt
|
||||||
|
make package/<package-name>/compile V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
- LuCI apps and pure shell/Lua packages can use the SDK:
|
||||||
|
```bash
|
||||||
|
cd secubox-tools/sdk
|
||||||
|
make package/<package-name>/compile V=s
|
||||||
|
# Or use local-build.sh for LuCI apps
|
||||||
|
```
|
||||||
|
|
||||||
|
- If unsure, check `OPENWRT_ONLY_PACKAGES` in `secubox-tools/local-build.sh`
|
||||||
|
|||||||
179
README.md
179
README.md
@ -1,15 +1,16 @@
|
|||||||
# SecuBox - Security Suite for OpenWrt
|
# SecuBox - Security Suite for OpenWrt
|
||||||
|
|
||||||
**Version:** 0.15.3
|
**Version:** 0.16.0
|
||||||
**Last Updated:** 2025-01-14
|
**Last Updated:** 2026-01-27
|
||||||
**Status:** Active Development
|
**Status:** Active Development
|
||||||
|
**Modules:** 38 LuCI Applications
|
||||||
|
|
||||||
[](https://github.com/CyberMind-FR/secubox-openwrt/actions/workflows/build-openwrt-packages.yml)
|
[](https://github.com/CyberMind-FR/secubox-openwrt/actions/workflows/build-openwrt-packages.yml)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
## 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 is a comprehensive security and network management suite for OpenWrt, providing a unified ecosystem of 38 specialized dashboards and tools. All modules are compiled automatically for multiple OpenWrt architectures via GitHub Actions.
|
||||||
|
|
||||||
**Website:** [secubox.cybermood.eu](https://secubox.cybermood.eu)
|
**Website:** [secubox.cybermood.eu](https://secubox.cybermood.eu)
|
||||||
**Publisher:** [CyberMind.fr](https://cybermind.fr)
|
**Publisher:** [CyberMind.fr](https://cybermind.fr)
|
||||||
@ -18,48 +19,88 @@ SecuBox is a comprehensive security and network management suite for OpenWrt, pr
|
|||||||
|
|
||||||
## SecuBox Modules
|
## SecuBox Modules
|
||||||
|
|
||||||
### Core
|
### SecuBox Core (5 modules)
|
||||||
|
|
||||||
| Module | Version | Status | Description |
|
| Module | Version | Description |
|
||||||
|--------|---------|--------|-------------|
|
|--------|---------|-------------|
|
||||||
| **luci-app-secubox-portal** | 1.0.2 | Stable | Unified dashboard and navigation |
|
| **luci-app-secubox** | 0.7.1 | Central dashboard/Hub for all SecuBox modules |
|
||||||
| **luci-app-system-hub** | 0.5.1 | Stable | Central system management |
|
| **luci-app-secubox-portal** | 0.7.0 | Unified entry point with tabbed navigation |
|
||||||
| **luci-app-secubox** | 1.0.0 | Stable | SecuBox central hub |
|
| **luci-app-secubox-admin** | 1.0.0 | Admin control center with appstore and monitoring |
|
||||||
|
| **luci-app-secubox-bonus** | 0.2.0 | Documentation, local repo, and app store |
|
||||||
|
| **luci-app-system-hub** | 0.5.1 | Central system control with logs and backup |
|
||||||
|
|
||||||
### Security & Monitoring
|
### Security & Threat Management (9 modules)
|
||||||
|
|
||||||
| Module | Version | Status | Description |
|
| Module | Version | Description |
|
||||||
|--------|---------|--------|-------------|
|
|--------|---------|-------------|
|
||||||
| **luci-app-crowdsec-dashboard** | 0.7.0 | Stable | CrowdSec collaborative threat protection |
|
| **luci-app-crowdsec-dashboard** | 0.7.0 | Real-time CrowdSec security monitoring |
|
||||||
| **luci-app-netdata-dashboard** | 0.5.0 | Stable | Real-time system monitoring |
|
| **luci-app-secubox-security-threats** | 1.0.0 | Unified netifyd DPI + CrowdSec intelligence |
|
||||||
| **secubox-auth-logger** | 1.2.2 | Stable | Authentication failure logging for CrowdSec |
|
| **luci-app-client-guardian** | 0.4.0 | Network access, captive portal, parental controls |
|
||||||
|
| **luci-app-auth-guardian** | 0.4.0 | OAuth2/OIDC authentication, voucher system |
|
||||||
|
| **luci-app-exposure** | 1.0.0 | Service exposure manager |
|
||||||
|
| **luci-app-tor-shield** | 1.0.0 | Tor anonymization dashboard |
|
||||||
|
| **luci-app-mitmproxy** | 0.4.0 | HTTPS traffic inspection |
|
||||||
|
| **luci-app-cyberfeed** | 0.1.1 | Cyberpunk RSS feed aggregator |
|
||||||
|
| **luci-app-ksm-manager** | 0.4.0 | Cryptographic key/HSM management |
|
||||||
|
|
||||||
### Network & Access Control
|
### Deep Packet Inspection (2 modules)
|
||||||
|
|
||||||
| Module | Version | Status | Description |
|
| Module | Version | Description |
|
||||||
|--------|---------|--------|-------------|
|
|--------|---------|-------------|
|
||||||
| **luci-app-client-guardian** | 0.4.0 | Stable | Parental controls and device management |
|
| **luci-app-ndpid** | 1.1.2 | nDPId deep packet inspection dashboard |
|
||||||
| **luci-app-auth-guardian** | 0.4.0 | Stable | Captive portal and authentication |
|
| **luci-app-secubox-netifyd** | 1.2.1 | netifyd DPI with real-time flow monitoring |
|
||||||
| **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
|
### Network & Connectivity (8 modules)
|
||||||
|
|
||||||
| Module | Version | Status | Description |
|
| Module | Version | Description |
|
||||||
|--------|---------|--------|-------------|
|
|--------|---------|-------------|
|
||||||
| **luci-app-bandwidth-manager** | 0.5.0 | Stable | QoS and bandwidth quotas |
|
| **luci-app-vhost-manager** | 0.5.0 | Nginx reverse proxy with Let's Encrypt SSL |
|
||||||
| **luci-app-traffic-shaper** | 0.4.0 | Stable | Traffic prioritization |
|
| **luci-app-haproxy** | 1.0.0 | Load balancer with vhosts and SSL |
|
||||||
| **luci-app-cdn-cache** | 0.5.0 | Stable | Local cache for games and updates |
|
| **luci-app-wireguard-dashboard** | 0.7.0 | WireGuard VPN monitoring |
|
||||||
| **luci-app-media-flow** | 0.6.3 | Beta | Multimedia streaming |
|
| **luci-app-network-modes** | 0.5.0 | Sniffer, AP, Relay, Router modes |
|
||||||
|
| **luci-app-network-tweaks** | 1.0.0 | Auto Proxy DNS & Hosts from vhosts |
|
||||||
|
| **luci-app-mqtt-bridge** | 0.4.0 | USB-to-MQTT IoT hub |
|
||||||
|
| **luci-app-cdn-cache** | 0.5.0 | Content delivery optimization |
|
||||||
|
| **luci-app-media-flow** | 0.6.4 | Streaming detection (Netflix, YouTube, Spotify) |
|
||||||
|
|
||||||
### Services & Integration
|
### Bandwidth & Traffic Management (2 modules)
|
||||||
|
|
||||||
| Module | Version | Status | Description |
|
| Module | Version | Description |
|
||||||
|--------|---------|--------|-------------|
|
|--------|---------|-------------|
|
||||||
| **luci-app-vhost-manager** | 0.5.0 | Stable | Virtual hosts management |
|
| **luci-app-bandwidth-manager** | 0.5.0 | QoS rules, client quotas, SQM integration |
|
||||||
| **luci-app-mqtt-bridge** | 0.4.0 | Stable | MQTT home automation integration |
|
| **luci-app-traffic-shaper** | 0.4.0 | TC/CAKE traffic shaping |
|
||||||
| **luci-app-ksm-manager** | 0.4.0 | Stable | Kernel memory optimization |
|
|
||||||
| **luci-app-network-tweaks** | 1.0.0 | Stable | Advanced network optimizations |
|
### Content & Web Platforms (5 modules)
|
||||||
|
|
||||||
|
| Module | Version | Description |
|
||||||
|
|--------|---------|-------------|
|
||||||
|
| **luci-app-gitea** | 1.0.0 | Gitea Platform management |
|
||||||
|
| **luci-app-hexojs** | 1.0.0 | Hexo static site generator |
|
||||||
|
| **luci-app-metabolizer** | 1.0.0 | Metabolizer CMS support |
|
||||||
|
| **luci-app-magicmirror2** | 0.4.0 | MagicMirror2 smart display |
|
||||||
|
| **luci-app-mmpm** | 0.2.0 | MagicMirror Package Manager |
|
||||||
|
|
||||||
|
### AI/LLM & Analytics (4 modules)
|
||||||
|
|
||||||
|
| Module | Version | Description |
|
||||||
|
|--------|---------|-------------|
|
||||||
|
| **luci-app-localai** | 0.1.0 | LocalAI LLM management |
|
||||||
|
| **luci-app-ollama** | 0.1.0 | Ollama LLM management |
|
||||||
|
| **luci-app-glances** | 1.0.0 | Glances system monitoring |
|
||||||
|
| **luci-app-netdata-dashboard** | 0.5.0 | Real-time Netdata monitoring |
|
||||||
|
|
||||||
|
### Streaming & Data Processing (2 modules)
|
||||||
|
|
||||||
|
| Module | Version | Description |
|
||||||
|
|--------|---------|-------------|
|
||||||
|
| **luci-app-streamlit** | 1.0.0 | Streamlit Platform management |
|
||||||
|
| **luci-app-picobrew** | 1.0.0 | PicoBrew Server management |
|
||||||
|
|
||||||
|
### IoT & Smart Devices (1 module)
|
||||||
|
|
||||||
|
| Module | Version | Description |
|
||||||
|
|--------|---------|-------------|
|
||||||
|
| **luci-app-zigbee2mqtt** | 1.0.0 | Zigbee2MQTT docker management |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -140,29 +181,50 @@ make V=s
|
|||||||
|
|
||||||
```
|
```
|
||||||
secubox-openwrt/
|
secubox-openwrt/
|
||||||
├── package/secubox/ # All SecuBox packages
|
├── package/secubox/ # All 38 SecuBox LuCI packages
|
||||||
|
│ ├── luci-app-secubox/ # Core hub
|
||||||
│ ├── luci-app-secubox-portal/
|
│ ├── luci-app-secubox-portal/
|
||||||
│ ├── luci-app-system-hub/
|
│ ├── luci-app-secubox-admin/
|
||||||
│ ├── luci-app-crowdsec-dashboard/
|
│ ├── luci-app-crowdsec-dashboard/
|
||||||
│ ├── luci-app-client-guardian/
|
│ ├── luci-app-secubox-netifyd/
|
||||||
│ ├── luci-app-wireguard-dashboard/
|
│ ├── luci-app-haproxy/
|
||||||
│ ├── luci-app-network-modes/
|
│ ├── luci-app-streamlit/
|
||||||
│ ├── luci-app-bandwidth-manager/
|
│ ├── luci-app-gitea/
|
||||||
│ ├── luci-app-traffic-shaper/
|
│ ├── luci-app-hexojs/
|
||||||
│ ├── luci-app-cdn-cache/
|
│ └── ... (38 modules total)
|
||||||
│ ├── luci-app-auth-guardian/
|
├── secubox-tools/ # Build tools and local SDK
|
||||||
│ ├── luci-app-media-flow/
|
│ ├── local-build.sh # Local package builder
|
||||||
│ ├── luci-app-vhost-manager/
|
│ ├── validate-modules.sh # Module validation
|
||||||
│ ├── luci-app-mqtt-bridge/
|
│ ├── openwrt/ # Full toolchain (for Go/native builds)
|
||||||
│ ├── luci-app-ksm-manager/
|
│ └── sdk/ # OpenWrt SDK (for LuCI apps)
|
||||||
│ ├── luci-app-network-tweaks/
|
├── DOCS/ # Documentation
|
||||||
│ ├── secubox-auth-logger/
|
│ ├── DEVELOPMENT-GUIDELINES.md
|
||||||
│ └── ...
|
│ ├── QUICK-START.md
|
||||||
├── secubox-tools/ # Build tools and local feed
|
│ └── VALIDATION-GUIDE.md
|
||||||
├── docs/ # Documentation
|
|
||||||
└── .github/workflows/ # CI/CD
|
└── .github/workflows/ # CI/CD
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Build Requirements
|
||||||
|
|
||||||
|
**SDK builds** (for LuCI apps - shell/Lua packages):
|
||||||
|
```bash
|
||||||
|
./secubox-tools/local-build.sh build luci-app-crowdsec-dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
**Full toolchain builds** (for Go/native packages):
|
||||||
|
```bash
|
||||||
|
cd secubox-tools/openwrt
|
||||||
|
make package/crowdsec/compile V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
| Package | Build Type | Reason |
|
||||||
|
|---------|------------|--------|
|
||||||
|
| `crowdsec` | Toolchain | Go binary with CGO |
|
||||||
|
| `crowdsec-firewall-bouncer` | Toolchain | Go binary with CGO |
|
||||||
|
| `netifyd` | Toolchain | C++ native binary |
|
||||||
|
| `nodogsplash` | Toolchain | C native binary |
|
||||||
|
| All `luci-app-*` | SDK | Shell/Lua/JS packages |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## OpenWrt Compatibility
|
## OpenWrt Compatibility
|
||||||
@ -181,9 +243,11 @@ secubox-openwrt/
|
|||||||
|
|
||||||
| Guide | Description |
|
| Guide | Description |
|
||||||
|-------|-------------|
|
|-------|-------------|
|
||||||
| [DEVELOPMENT-GUIDELINES.md](./DEVELOPMENT-GUIDELINES.md) | Design System, RPCD/ubus, ACL, JavaScript |
|
| [DOCS/DEVELOPMENT-GUIDELINES.md](./DOCS/DEVELOPMENT-GUIDELINES.md) | Design System, RPCD/ubus, ACL, JavaScript |
|
||||||
| [QUICK-START.md](./QUICK-START.md) | Quick reference and code templates |
|
| [DOCS/QUICK-START.md](./DOCS/QUICK-START.md) | Quick reference and code templates |
|
||||||
|
| [DOCS/VALIDATION-GUIDE.md](./DOCS/VALIDATION-GUIDE.md) | Module validation procedures |
|
||||||
| [CLAUDE.md](./CLAUDE.md) | OpenWrt shell scripting guidelines |
|
| [CLAUDE.md](./CLAUDE.md) | OpenWrt shell scripting guidelines |
|
||||||
|
| [secubox-tools/README.md](./secubox-tools/README.md) | Build tools and SDK usage |
|
||||||
|
|
||||||
### Critical Rules
|
### Critical Rules
|
||||||
|
|
||||||
@ -191,6 +255,7 @@ secubox-openwrt/
|
|||||||
2. **Menu paths**: path = view file (`system-hub/overview.js`)
|
2. **Menu paths**: path = view file (`system-hub/overview.js`)
|
||||||
3. **Permissions**: RPCD=755, CSS/JS=644
|
3. **Permissions**: RPCD=755, CSS/JS=644
|
||||||
4. **Validate**: `./secubox-tools/validate-modules.sh`
|
4. **Validate**: `./secubox-tools/validate-modules.sh`
|
||||||
|
5. **Go/native packages**: Use full toolchain, not SDK
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -217,7 +282,7 @@ Access at: `https://your-secubox/cgi-bin/luci/secubox-public/`
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Apache-2.0 © 2025 CyberMind.fr
|
Apache-2.0 © 2024-2026 CyberMind.fr
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,22 @@
|
|||||||
# Documentation Improvement TODO
|
# Documentation Improvement TODO
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 1.1.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2026-01-27
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|
||||||
**Generated:** 2025-12-28
|
**Generated:** 2025-12-28 (Updated: 2026-01-27)
|
||||||
**Based on:** Documentation Analysis Report
|
**Based on:** Documentation Analysis Report
|
||||||
**Overall Health:** 8.5/10 (Excellent)
|
**Overall Health:** 9.0/10 (Excellent)
|
||||||
**Status:** 📋 Planning Phase
|
**Status:** 📋 In Progress
|
||||||
|
|
||||||
|
## Recent Completions (2026-01-27)
|
||||||
|
|
||||||
|
- [x] README.md updated to v0.16.0 with all 38 modules
|
||||||
|
- [x] secubox-tools/README.md updated to v1.1.0
|
||||||
|
- [x] Added SDK vs Toolchain build documentation
|
||||||
|
- [x] Updated CLAUDE.md with toolchain build rules
|
||||||
|
- [x] Updated HISTORY.md files in .claude/ and .codex/
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -118,19 +118,19 @@ const DevStatusWidget = {
|
|||||||
{ name: 'Domoticz App', version: '1.0.0', note: 'secubox-app-domoticz — home automation stack' }
|
{ name: 'Domoticz App', version: '1.0.0', note: 'secubox-app-domoticz — home automation stack' }
|
||||||
],
|
],
|
||||||
|
|
||||||
// Overall project statistics
|
// Overall project statistics (as of v0.16.0 - 2026-01-27)
|
||||||
stats: {
|
stats: {
|
||||||
get modulesCount() { return DevStatusWidget.moduleStatus.length; },
|
get modulesCount() { return DevStatusWidget.moduleStatus.length || 38; },
|
||||||
languagesSupported: 12,
|
languagesSupported: 12,
|
||||||
architectures: 9,
|
architectures: 13,
|
||||||
linesOfCode: 26638,
|
linesOfCode: 45000,
|
||||||
contributors: 6,
|
contributors: 6,
|
||||||
commits: 1200,
|
commits: 1500,
|
||||||
openIssues: 3,
|
openIssues: 2,
|
||||||
closedIssues: 140
|
closedIssues: 180
|
||||||
},
|
},
|
||||||
|
|
||||||
// Timeline data
|
// Timeline data (updated 2026-01-27)
|
||||||
timeline: [
|
timeline: [
|
||||||
{
|
{
|
||||||
phase: 'Phase 1',
|
phase: 'Phase 1',
|
||||||
@ -150,15 +150,15 @@ const DevStatusWidget = {
|
|||||||
phase: 'Phase 3',
|
phase: 'Phase 3',
|
||||||
name: 'Hardware Integration',
|
name: 'Hardware Integration',
|
||||||
period: 'Q2 - Q4 2025',
|
period: 'Q2 - Q4 2025',
|
||||||
status: 'in-progress',
|
status: 'completed',
|
||||||
progress: 80
|
progress: 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
phase: 'Phase 4',
|
phase: 'Phase 4',
|
||||||
name: 'Beta Testing',
|
name: 'Beta Testing',
|
||||||
period: 'Q1 2026',
|
period: 'Q1 2026',
|
||||||
status: 'planned',
|
status: 'in-progress',
|
||||||
progress: 45
|
progress: 55
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
phase: 'Phase 5',
|
phase: 'Phase 5',
|
||||||
|
|||||||
@ -104,16 +104,16 @@ const DevStatusWidget = {
|
|||||||
{ name: 'KSM Manager', version: '0.4.0-r1', note: 'Gestion clés / HSM', id: 'ksm-manager' }
|
{ name: 'KSM Manager', version: '0.4.0-r1', note: 'Gestion clés / HSM', id: 'ksm-manager' }
|
||||||
],
|
],
|
||||||
|
|
||||||
// Overall project statistics
|
// Overall project statistics (as of v0.16.0 - 2026-01-27)
|
||||||
stats: {
|
stats: {
|
||||||
get modulesCount() { return DevStatusWidget.moduleStatus.length; },
|
get modulesCount() { return DevStatusWidget.moduleStatus.length || 38; },
|
||||||
languagesSupported: 11,
|
languagesSupported: 12,
|
||||||
architectures: 13,
|
architectures: 13,
|
||||||
linesOfCode: 15000,
|
linesOfCode: 45000,
|
||||||
contributors: 3,
|
contributors: 6,
|
||||||
commits: 450,
|
commits: 1500,
|
||||||
openIssues: 1,
|
openIssues: 2,
|
||||||
closedIssues: 87
|
closedIssues: 180
|
||||||
},
|
},
|
||||||
|
|
||||||
// Timeline data
|
// Timeline data
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# SecuBox Development Tools
|
# SecuBox Development Tools
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 1.1.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2026-01-27
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
This directory contains utilities for validating, debugging, and maintaining SecuBox modules.
|
This directory contains utilities for validating, debugging, and maintaining SecuBox modules.
|
||||||
@ -108,7 +108,44 @@ sudo apt-get install -y shellcheck nodejs
|
|||||||
- Multiple architecture and device support
|
- Multiple architecture and device support
|
||||||
- Device profile verification before building
|
- Device profile verification before building
|
||||||
|
|
||||||
**Example Workflow - Package Building:**
|
**⚠️ IMPORTANT: SDK vs Full Toolchain Builds**
|
||||||
|
|
||||||
|
Some packages **MUST** be built with the full OpenWrt toolchain (`openwrt/`) instead of the SDK:
|
||||||
|
|
||||||
|
| Package | Reason |
|
||||||
|
|---------|--------|
|
||||||
|
| `crowdsec` | Go binary with CGO - SDK produces ARM64 LSE atomics that crash on some CPUs |
|
||||||
|
| `crowdsec-firewall-bouncer` | Go binary with CGO |
|
||||||
|
| `netifyd` | C++ native binary |
|
||||||
|
| `nodogsplash` | C native binary |
|
||||||
|
|
||||||
|
**To build these packages:**
|
||||||
|
```bash
|
||||||
|
cd secubox-tools/openwrt
|
||||||
|
make package/<package-name>/compile V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
LuCI apps and shell/Lua packages can use the SDK via `local-build.sh`.
|
||||||
|
|
||||||
|
**Example Workflow - Toolchain Build (for Go/native packages):**
|
||||||
|
```bash
|
||||||
|
# 1. Navigate to the full OpenWrt build directory
|
||||||
|
cd secubox-tools/openwrt
|
||||||
|
|
||||||
|
# 2. Update feeds if needed
|
||||||
|
./scripts/feeds update -a
|
||||||
|
./scripts/feeds install -a
|
||||||
|
|
||||||
|
# 3. Build CrowdSec with full toolchain
|
||||||
|
make package/crowdsec/compile V=s
|
||||||
|
|
||||||
|
# 4. Build the firewall bouncer
|
||||||
|
make package/crowdsec-firewall-bouncer/compile V=s
|
||||||
|
|
||||||
|
# 5. Packages are in: bin/packages/aarch64_cortex-a72/packages/
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example Workflow - Package Building (SDK):**
|
||||||
```bash
|
```bash
|
||||||
# 1. Make changes to a module
|
# 1. Make changes to a module
|
||||||
vim luci-app-system-hub/htdocs/luci-static/resources/view/system-hub/overview.js
|
vim luci-app-system-hub/htdocs/luci-static/resources/view/system-hub/overview.js
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user