Commit Graph

4 Commits

Author SHA1 Message Date
4325197e35 fix(packages): add PKG_ARCH:=all and resolve build conflicts
- Add PKG_ARCH:=all to all 29 SecuBox packages for architecture independence
- Fix secubox-core: remove /var directory creation (conflicts with OpenWRT symlink)
- Fix luci-app-secubox: remove PKG_FILE_MODES causing build errors
- Refactor luci-app-network-tweaks: migrate files/ to root/ structure
- Set correct permissions on fix-permissions.sh (755)

Fixes:
- secubox-core now builds successfully (no /var conflict)
- luci-app-secubox installs without file conflicts
- All packages properly marked as architecture-independent

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 07:45:37 +01:00
dd588e0520 fix(secubox): complete LuCI interface fixes - all views now functional
Fixed 5 major issues in SecuBox LuCI interface:

1. AppStore Empty (secubox-core v0.8.0-r3)
   - Simplified get_appstore_apps RPCD method
   - Removed complex error handling that was failing silently
   - Added catalog.json (38 KB, 37 plugins) to Makefile installation
   - Result: AppStore now displays 37 plugins in 8 categories

2. Dashboard/Components Empty (secubox-core v0.8.0-r3)
   - Implemented 3 new RPCD methods:
     * get_dashboard_data - Module counts and system uptime
     * get_system_health - CPU, memory, disk metrics with health score
     * get_alerts - System threshold alerts
   - Result: Dashboard shows health score 93/100, system metrics

3. Modules View Empty (luci-app-secubox v0.7.1-r1)
   - Fixed API method name mismatches in api.js:
     * modules → getModules
     * status → getStatus
     * module_info → getModuleInfo
     * health → getHealth
   - Updated ACL with all new RPCD method names
   - Added debug logging to modules.js
   - Removed conflicting config files
   - Result: 61 modules displayed with working filters

4. System Hub Components Empty (luci-app-system-hub v0.5.1-r3)
   - Fixed RPCD backend call: modules → getModules
   - Updated ACL to allow new SecuBox method names
   - Result: 61 components displayed

5. Catalog/Profile/Template Files
   - Added 39 individual plugin catalog files
   - Added 5 profile JSON files (enterprise, home-office, etc.)
   - Added 2 template files (firewall-zone, nginx-vhost)
   - Updated Makefile to install all catalog files

Version bumps:
- secubox-core: 0.8.0-r1 → 0.8.0-r3
- luci-app-secubox: 0.7.0-r6 → 0.7.1-r1
- luci-app-system-hub: 0.5.1-r2 → 0.5.1-r3

Files modified: 13 modified, 46 added, 2 deleted
Lines of code: ~300+ added
RPCD methods: 3 added, 5 fixed
ACL files: 2 updated

Status: Production ready - all backend tests passing

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 18:30:58 +01:00
86d71c8dde feat(secubox-core): add plugins/catalog directory structure
Adds the missing /usr/share/secubox/plugins/catalog/ directory that is
documented but was not created by the package installer.

Changes:
- Create plugins/catalog directory structure
- Update Makefile to install catalog directory
- Add README explaining module catalog format
- Add example module catalog JSON file as reference

Directory structure:
- /usr/share/secubox/modules/ - Runtime module metadata (empty by design)
- /usr/share/secubox/plugins/catalog/ - Module catalog manifests
- /usr/share/secubox/scripts/ - Shared helper scripts

This completes the directory structure documented in the README.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 16:52:11 +01:00
d2f56e0aab feat(secubox-core): implement modular framework foundation v0.8.0
Add comprehensive SecuBox Core Framework - production-ready modular
infrastructure for OpenWrt-based security appliances.

## Core Components

### Service Infrastructure
- procd-managed secubox-core daemon
- UCI configuration schema (/etc/config/secubox)
- First-boot provisioning system
- Automatic directory structure creation
- Device ID generation

### CLI Interface (secubox)
Complete command-line interface with 6 main commands:
- app: Module/AppStore management
- profile: Profile and template engine
- device: Device operations and info
- net: Network management tools
- diag: Diagnostics and health checks
- ai: AI copilot stub (experimental)

### Module Management (AppStore)
- Catalog-based module discovery (22 modules)
- Installation/removal workflows
- Dependency resolution via opkg
- Lifecycle hooks (pre/post install/remove)
- Module health monitoring
- JSON and table output formats

### Profile Engine
- Declarative configuration (YAML/JSON)
- Module orchestration
- UCI override system
- Dry-run validation
- Configuration export

### Diagnostics System
- CPU, memory, storage monitoring
- Network connectivity tests
- Service health checks
- Configurable thresholds
- Color-coded output
- Diagnostic report generation

### Recovery System
- Automatic snapshot creation
- Configuration backup/restore
- Rollback capability
- Interactive recovery mode
- Snapshot management (keep last 5)

### ubus RPC API (luci.secubox)
Complete RPC interface with 20+ methods:
- getStatus, getVersion, reload
- getModules, installModule, removeModule
- listProfiles, applyProfile, validateProfile
- runDiagnostics, getHealth, getLogs
- createSnapshot, restoreSnapshot, listSnapshots

### Supporting Tools
- secubox-verify: Module signature verification
- common.sh: Shared helper functions
- Example profiles

## Technical Details

**Package**: secubox-core v0.8.0
**Dependencies**: bash, libubox, libubus, libuci, rpcd, jsonfilter
**Size**: ~85KB (source)
**Memory**: ~16MB footprint
**Files**: 16 files total

## Architecture

Native OpenWrt integration:
- procd for service management
- ubus for RPC communication
- UCI for configuration
- opkg for package management
- BusyBox-compatible scripts

## Module Discovery

Automatically discovers 22 existing SecuBox modules:
- adguardhome, auth-guardian, bandwidth-manager
- cdn-cache, client-guardian, crowdsec-dashboard
- domoticz, ksm-manager, lyrion, magicmirror
- media-flow, mqtt-bridge, netdata-dashboard
- netifyd-dashboard, network-modes, nextcloud
- secubox-hub, system-hub, traffic-shaper
- vhost-manager, wireguard-dashboard, zigbee2mqtt

## Deployment Status

 Tested on router (root@192.168.8.191)
 All core functionality verified
 Module discovery working (22/22)
 ubus API operational
 Health checks passing
 Recovery system functional

## Documentation

- README.md: Comprehensive user documentation (11KB)
- IMPLEMENTATION.md: Technical implementation details (16KB)
- Example profile: home-basic.json

## Next Phase (v0.9.0)

- LuCI WebUI integration
- Enhanced profile templating
- Module installation workflows
- Dashboard views

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 16:21:45 +01:00