Commit Graph

19 Commits

Author SHA1 Message Date
8c27583eba System Hub 0.5.1-2 2025-12-29 12:08:37 +01:00
76955f48d0 versheaders 2025-12-29 07:51:33 +01:00
edf061e40e chore(system-hub): Bump release to 0.4.6-r2
Updated luci-app-system-hub internal release version to r2.

Version update:
- luci-app-system-hub: 0.4.6-r1 → 0.4.6-r2

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:50:46 +01:00
9c38a7eca7 chore: Bump version to 0.4.6 for all core modules
Updated internal version numbers to 0.4.6 across all core modules
for consistency and alignment with the latest development cycle.

Version updates:
- luci-app-network-modes: 0.4.5-r1 → 0.4.6-r1
- luci-theme-secubox: 0.4.5-r1 → 0.4.6-r1
- luci-app-secubox: 0.4.5-r1 → 0.4.6-r1
- luci-app-system-hub: 0.4.5-r1 → 0.4.6-r1

All modules now synchronized at version 0.4.6.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 20:12:37 +01:00
6e20f9d959 chore: Bump version to 0.4.5 for all core modules
Updated internal version numbers to align with v0.4.5 release tag.

Version updates:
- luci-app-network-modes: 0.3.6-r2 → 0.4.5-r1
- luci-theme-secubox: 0.4.0-r1 → 0.4.5-r1
- luci-app-secubox: 0.3.1-r1 → 0.4.5-r1
- luci-app-system-hub: 0.4.0-r1 → 0.4.5-r1

All modules now synchronized at version 0.4.5, reflecting the latest
improvements including:
- Menu reorganization (Network & Connectivity category)
- Dual menu access for Network Modes
- Enhanced RPCD permissions
- Robust version handling across all modules
- Improved OOP structure for helpers
- SecuBox overview modules updates

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 20:03:46 +01:00
5dfe4f3c61 chore: Version 0.4.0 - Theme and System Hub release
Updated package versions:
- luci-theme-secubox: 1.0.0 → 0.4.0
- luci-app-system-hub: 0.3.6 → 0.4.0
- luci-app-network-modes: 0.4.0 → 0.3.6-r2 (WIP, not in this release)

Version 0.4.0 includes:
- Complete global CyberMood theme system
- Theme integration in system-hub
- Multi-language foundation (en, fr, de, es)
- 100+ CSS variables for unified design
- Theme components and utilities

Network-modes marked as WIP for future release.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 18:04:57 +01:00
41947c5ae0 chore: Bump version to 0.3.6 for both modules
Network Modes:
- Makefile: PKG_VERSION 0.3.5 → 0.3.6
- README.md: Version badge and header updated to 0.3.6
- README.md: What's New section updated to v0.3.6

System Hub:
- Makefile: PKG_VERSION 0.3.2 → 0.3.6
- api.js: Version comment and console log updated to 0.3.6

Both modules now aligned with v0.3.6 release tag.
2025-12-28 15:39:11 +01:00
15b7f45ab2 refactor(makefiles): Standardize PKG_FILE_MODES comments across all modules
- Add comprehensive file permissions documentation to all 15 Makefiles
- Standardized comment block explains:
  - RPCD scripts: 755 (CRITICAL - required for ubus calls)
  - Helper scripts: 755 (if executable)
  - Config files: 644 (readable by all)
  - CSS/JS files: 644 (set automatically by luci.mk)

- Ensures consistency and clarity for developers
- Critical for proper module functionality (RPCD must be executable)
- Follows OpenWrt package best practices

Affected modules:
- 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 (includes fix-permissions.sh helper)
- luci-app-system-hub
- luci-app-traffic-shaper
- luci-app-vhost-manager
- luci-app-wireguard-dashboard
2025-12-28 14:34:31 +01:00
81a0448fde makefile 2025-12-28 08:05:06 +01:00
fadf606f31 feat(system-hub): enhance dynamic overview stats for v0.3.2
- Add network throughput stats (RX/TX total bytes)
- Add process count display (running/total)
- Add swap usage information
- Add dynamic status indicators (✓, , ⚠️) with pulse animation
- Add detailed tooltips with absolute values
- Add detail text under each stat card
- Enhance stats grid layout for 5 cards
- Update version from 0.3.1 to 0.3.2

Backend enhancements:
- Extract process count from /proc/loadavg
- Calculate swap usage from /proc/meminfo
- Aggregate network throughput from all interfaces

Frontend enhancements:
- Display process count alongside CPU load
- Show swap usage when available
- Display total RX/TX in GB
- Add pulsing status icons
- Show contextual details (MB/GB values, process count, load average)

CSS improvements:
- Add .sh-stat-status-icon with subtle pulse animation
- Add .sh-stat-overview-detail for contextual information
- Add network gradient color scheme
- Adjust grid for better 5-card layout
2025-12-28 02:47:35 +01:00
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
33f3b89393 feat: Bump version to 0.3.1 for enhanced modules
Updated three core modules with significant UI/UX improvements:

SecuBox Central Hub (luci-app-secubox):
- Changed header icon from 🛡️ to 🚀 ("SecuBox Control Center")
- Added module filter tabs (All/Security/Network/System/Monitoring)
- Implemented alert dismiss and clear functionality
- Enhanced backend RPCD methods for alert management
- Updated ACL permissions for new alert methods

System Hub (luci-app-system-hub):
- Changed header icon from 🖥️ to ⚙️ ("System Control Center")
- Added 4-column System Info Grid with interactive cards
- Implemented Quick Status Indicators (Internet/DNS/NTP/Firewall)
- Added hostname edit and kernel version copy features
- Enhanced CSS with monospace fonts and responsive design

Network Modes (luci-app-network-modes):
- Changed header icon from ⚙️ to 🌐 ("Network Configuration")
- Added Current Mode Display Card with config summary
- Implemented Mode Comparison Table (5 modes, 6 features)
- Active mode highlighting with gradient effects
- Added "Change Mode" button with gradient styling

All modules validated with comprehensive checks (RPCD, ACL, permissions).

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-27 10:28:12 +01:00
8e53825ad5 release: v0.2.2 - Design System v0.3.0 & Comprehensive Documentation
🎨 Design System v0.3.0 (Demo-inspired)
- New dark palette: #0a0a0f, #6366f1→#8b5cf6 gradients
- Typography: Inter + JetBrains Mono
- Compact stats grid (130px min)
- Gradient text effects with background-clip
- Sticky navigation tabs
- Enhanced card borders and hover effects

📚 Comprehensive Documentation Suite
- DEVELOPMENT-GUIDELINES.md (33KB, 900+ lines)
  - 9 major sections: Design, Architecture, RPCD, ACL, JS, CSS, Errors, Validation, Deployment
  - Complete code templates and best practices
  - Common error diagnostics and solutions
- QUICK-START.md (6.4KB)
  - 8 critical rules for immediate reference
  - Quick code templates
  - Error quick fixes table
- deploy-module-template.sh (8.1KB)
  - Standardized deployment with automatic backup
  - Permission fixes, cache clearing, verification
- Updated CLAUDE.md, README.md with documentation index
- Updated .claude/README.md to v2.0

🔄 Version Updates
- luci-app-secubox: 0.1.2 → 0.2.2
- luci-app-system-hub: 0.1.1 → 0.2.2
- Updated all version strings (api.js, overview.js, CSS files)

🎯 CSS Enhancements
- common.css: Complete rewrite with demo palette
- overview.css: Dashboard header with gradient
- services.css: Updated version to 0.2.2
- components.css: Updated version to 0.2.2

🔧 Critical Rules Documented
1. RPCD naming: file = ubus object (luci. prefix)
2. Menu path = view file location
3. Permissions: 755 (RPCD), 644 (CSS/JS)
4. ALWAYS run validate-modules.sh
5. CSS variables only (no hardcode)
6. Dark mode mandatory
7. Typography: Inter + JetBrains Mono
8. Gradients: --sh-primary → --sh-primary-end

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 18:55:19 +01:00
5902ac500a release: v0.1.1 - Unified Theme System with Dark/Light Mode Support
Major Features:
• Centralized theme system across SecuBox and System Hub
• Three theme modes: dark (default), light, and system (auto-detect)
• Single theme setting in SecuBox controls both plugins
• Real-time theme switching with OS preference detection

SecuBox Changes:
• Added theme.js manager for centralized theme control
• Implemented CSS variables for dark/light mode (secubox.css)
• Fixed hardcoded colors in dashboard.css, alerts.css, monitoring.css
• Integrated theme.js in all 7 views (dashboard, modules, alerts, monitoring, settings, etc.)
• Added get_theme RPC method to luci.secubox backend
• Updated ACL permissions to include get_theme (read access)
• Version updated to 0.1.1

System Hub Changes:
• Added theme.js manager using SecuBox theme API
• Implemented CSS variables for dark/light mode (dashboard.css)
• Integrated theme.js in all 9 views (overview, health, services, logs, backup, components, remote, settings, diagnostics)
• Version updated to 0.1.1
• README updated with maintainer info

Theme System Architecture:
• Configuration: /etc/config/secubox (option theme: dark|light|system)
• RPCD Backend: luci.secubox/get_theme method
• Frontend: theme.js modules (secubox/theme.js, system-hub/theme.js)
• CSS Variables: --sb-bg, --sb-bg-card, --sb-border, --sb-text, --sb-text-muted, --sb-shadow
• Auto-detection: prefers-color-scheme media query for system mode

Documentation:
• Added LUCI_DEVELOPMENT_REFERENCE.md with comprehensive LuCI development patterns
• Documented ubus/RPC types, baseclass.extend() patterns, ACL structure
• Common errors and solutions from implementation experience

Bug Fixes:
• Fixed SecuBox theme not applying visually (CSS variables now used)
• Fixed missing secubox.css in view imports
• Fixed ACL access denied for get_theme method
• Fixed hardcoded colors preventing theme switching

Testing:
• Verified theme switching works in all SecuBox tabs
• Verified theme switching works in all System Hub tabs
• Verified dark/light/system modes function correctly
• Verified single setting controls both plugins

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 16:09:15 +01:00
fb899321cb fix: system-hub v0.0.2 - Fix API method calls for components, health, remote, settings
Resolves TypeErrors in 4 views by adding missing API methods:

API Enhancements:
- Added call* prefix methods for view compatibility (callStatus, callGetHealth)
- Added stub methods for planned features:
  * callGetComponents() - Returns mock component data (Netdata, CrowdSec, Netifyd)
  * callManageComponent() - Component management stub
  * callGetRemote() - Remote access config stub
  * callStartRemoteSession() - Remote session stub
  * callGetSchedules() - Scheduled tasks stub
  * callGenerateReport() - Health report generation stub
- Added helper functions:
  * getComponentIcon() - Component icon helper
  * getHealthStatus() - Health score to status converter

Fixed Views:
- components.js: Now has callGetComponents, getComponentIcon, callManageComponent
- health.js: Now has callGetHealth, getHealthStatus, callGenerateReport
- remote.js: Now has callGetRemote, callStartRemoteSession
- settings.js: Now has callStatus, callGetSchedules

Version Update:
- Bumped to v0.0.2 in Makefile and README
- All 9 views now functional (stub data for planned features)

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 14:08:09 +01:00
b78431ff19 release: luci-app-system-hub v0.0.1-alpha - Initial Release
First alpha release of System Hub with core functionality:

📊 Features Implemented:
- System monitoring (CPU, Memory, Disk, Network)
- Service management (Start, Stop, Restart, Enable/Disable)
- System logs viewer with filtering
- Backup & restore functionality
- System information dashboard
- Health monitoring with visual gauges
- Storage monitoring
- Temperature sensors

🔧 Components:
- Complete RPCD backend (luci.system-hub)
- JavaScript API wrapper
- 9 UI views (overview, services, logs, backup, etc.)
- UCI configuration support
- ACL permissions configured

📦 Version:
- Package: 0.0.1-alpha
- Status: Alpha - Core features ready for testing

This is an initial alpha release for testing and feedback.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 13:49:00 +01:00
0b824fc5b1 fix: standardize Makefile includes for GitHub Actions compatibility
Standardizes all Makefile include paths to use $(TOPDIR)/feeds/luci/luci.mk
instead of relative paths (../../luci.mk). This fixes firmware build failures
on GitHub Actions while maintaining local build compatibility.

Problem:
- Local builds worked with relative paths (../../luci.mk)
- GitHub Actions builds failed because packages are copied to
  openwrt/package/secubox/ where relative paths don't work
- Inconsistent includes across packages caused build failures

Solution:
- Use absolute path: $(TOPDIR)/feeds/luci/luci.mk
- Works in both environments (local feed development AND GitHub Actions)
- Simplifies auth-guardian Makefile to use LuCI.mk template

Changes:
- auth-guardian: Converted to LuCI.mk template format
- bandwidth-manager, ksm-manager, media-flow: Updated includes
- system-hub, traffic-shaper, vhost-manager: Updated includes

All 15 packages now use consistent Makefile format.

Fixes: Firmware generation on GitHub Actions
Related: v0.1.2-alpha
2025-12-25 19:57:01 +01:00
34fe2dc26a feat: complete System Hub implementation - central control dashboard
Implements comprehensive system control and monitoring dashboard with health
metrics, service management, system logs, and backup/restore functionality.

Features:
- Real-time system monitoring with visual gauges (CPU, RAM, Disk)
- Comprehensive system information (hostname, model, uptime, kernel)
- Health metrics with temperature monitoring and storage breakdown
- Service management with start/stop/restart/enable/disable actions
- System log viewer with filtering and configurable line count
- Configuration backup creation and download (base64 encoded)
- Configuration restore from backup file
- System reboot functionality with confirmation

Components:
- RPCD backend (luci.system-hub): 10 ubus methods
  * status, get_system_info, get_health
  * list_services, service_action
  * get_logs, backup_config, restore_config
  * reboot, get_storage
- 4 JavaScript views: overview, services, logs, backup
- ACL with read/write permissions segregation
- Comprehensive README with API documentation

Technical implementation:
- System info from /proc filesystem and sysinfo
- Health metrics: CPU load, memory breakdown, disk usage, temperature
- Service control via /etc/init.d scripts
- Log retrieval via logread with filtering
- Backup/restore using sysupgrade with base64 encoding
- Visual gauges with SVG circular progress indicators
- Color-coded health status (green/orange/red)

Dashboard Features:
- Circular gauges for CPU, Memory, Disk (120px with 10px stroke)
- System information cards with detailed metrics
- Temperature monitoring with thermal zone detection
- Storage table for all mount points with progress bars
- Service table with inline action buttons
- Terminal-style log display (black bg, green text)
- File upload for backup restore
- Modal confirmations for destructive actions

Architecture follows SecuBox standards:
- RPCD naming convention (luci. prefix)
- Menu paths match view file structure
- All JavaScript in strict mode
- Form-based configuration management
- Comprehensive error handling

Dependencies: coreutils, coreutils-base64

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 11:02:07 +01:00
f08c14f1d7 fix: hope modules refresh 2025-12-23 18:53:18 +01:00