Renamed .appstore directory to appstore (without dot prefix) to ensure proper inclusion in OpenWrt package builds. Hidden directories (starting with .) can be problematic during tarball creation and package installation. Changes: - Renamed .appstore/ to appstore/ - Updated Makefile install path references - Updated RPCD script APPSTORE_JSON path - Fixed file permissions to 644 for apps.json This fixes the issue where appstore appears empty on fresh firmware installations. New path: /usr/share/secubox/appstore/apps.json Old path: /usr/share/secubox/.appstore/apps.json 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .appstore | ||
| .github/workflows | ||
| appstore | ||
| htdocs/luci-static/resources | ||
| profiles | ||
| root | ||
| Makefile | ||
| README.md | ||
SecuBox Central Hub
Version: 1.0.0
Last Updated: 2025-12-28
Status: Active
Central management dashboard for the SecuBox security and network management suite for OpenWrt.
Features
Dashboard Overview
- Real-time system health monitoring (CPU, Memory, Disk, Network)
- Visual gauges with color-coded status indicators
- Module status grid with quick access links
- Aggregated alerts from all modules
- Quick action buttons for common tasks
System Health Monitoring
- CPU: Load average and percentage with multi-core support
- Memory: RAM usage with total/used/available metrics
- Disk: Root filesystem usage and available space
- Network: Real-time RX/TX bandwidth statistics
Quick Actions
- Restart RPCD service
- Restart uHTTPd web server
- Clear system cache
- Create configuration backup
- Restart network services
- Restart firewall
Module Management
Auto-detection and status monitoring for all SecuBox modules:
Security & Monitoring
- CrowdSec - Collaborative threat intelligence
- Netdata - Real-time system monitoring
- Netifyd - Deep packet inspection
- Client Guardian - Network access control and captive portal
- Auth Guardian - Advanced authentication system
Network Management
- WireGuard - Modern VPN with QR codes
- Network Modes - Network topology configuration
- Bandwidth Manager - QoS and bandwidth quotas
- Media Flow - Media traffic detection and optimization
- Traffic Shaper - Advanced traffic shaping
System & Performance
- System Hub - Unified control center
- CDN Cache - Local caching proxy
- Virtual Host Manager - Virtual host configuration
Wizard & App Store Integration
- First-run assistant to verify password, timezone, storage, and preferred network mode
- Manifest-driven app wizards (e.g., Zigbee2MQTT) surfaced directly inside SecuBox
secubox-appCLI (installed under/usr/sbin/) for scripted installs/updates via manifests- Plugins stored under
/usr/share/secubox/plugins/<app>/manifest.jsonfor easy expansion
LuCI Menu Structure
The SecuBox hub organizes all modules into a hierarchical menu structure in LuCI:
SecuBox
├── Dashboard (Main overview and system health)
├── Modules (Module management view)
├── Security & Monitoring
│ ├── CrowdSec (Collaborative threat intelligence)
│ ├── Netdata (Real-time system monitoring)
│ ├── Netifyd (Deep packet inspection)
│ ├── Client Guardian (Network access control & captive portal)
│ └── Auth Guardian (Advanced authentication system)
├── Network Management
│ ├── WireGuard (Modern VPN with QR codes)
│ ├── Network Modes (Network topology configuration)
│ ├── Bandwidth Manager (QoS and bandwidth quotas)
│ ├── Media Flow (Media traffic detection & optimization)
│ └── Traffic Shaper (Advanced traffic shaping)
└── System & Performance
├── System Hub (Unified control center)
├── CDN Cache (Local caching proxy)
└── Virtual Host Manager (Virtual host configuration)
Menu Registration
The hub defines three category parent menus that other SecuBox modules register under:
admin/secubox/security- Security & Monitoring modulesadmin/secubox/network- Network Management modulesadmin/secubox/system- System & Performance modules
Each module automatically appears in the appropriate category when installed.
Troubleshooting Menu Issues
If modules don't appear in the menu after installation:
-
Restart services:
/etc/init.d/rpcd restart /etc/init.d/uhttpd restart -
Clear browser cache: Press
Ctrl+Shift+Rto force reload -
Verify menu files exist:
ls -la /usr/share/luci/menu.d/luci-app-*.json -
Check ACL permissions:
ls -la /usr/share/rpcd/acl.d/luci-app-*.json
RPCD API Methods
The hub provides a comprehensive RPC API via ubus:
status- Get hub status and basic system infomodules- List all SecuBox modules with statusmodules_by_category- Filter modules by categorymodule_info- Get detailed info for a specific moduleget_system_health- Detailed system health metricsget_alerts- Aggregated alerts from all modulesget_dashboard_data- All dashboard data in one callquick_action- Execute quick actionsstart_module/stop_module/restart_module- Module controlhealth- System health checksdiagnostics- Generate diagnostics bundle
Installation
opkg update
opkg install luci-app-secubox
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart
Building
# Clone into OpenWrt SDK
git clone https://github.com/youruser/luci-app-secubox.git package/luci-app-secubox
make package/luci-app-secubox/compile V=s
Configuration
Edit /etc/config/secubox to customize module definitions and settings.
File Structure
luci-app-secubox/
├── Makefile
├── README.md
├── htdocs/luci-static/resources/
│ ├── view/secubox/
│ │ ├── dashboard.js # Main dashboard view
│ │ ├── modules.js # Modules management view
│ │ └── settings.js # Settings view
│ └── secubox/
│ ├── api.js # RPC API client
│ └── secubox.css # Dashboard styles
└── root/
├── etc/config/secubox # UCI configuration
└── usr/
├── libexec/rpcd/secubox # RPCD backend
└── share/
├── luci/menu.d/luci-app-secubox.json
└── rpcd/acl.d/luci-app-secubox.json
License
Apache-2.0 - Copyright (C) 2025 CyberMind.fr