Commit Graph

31 Commits

Author SHA1 Message Date
0edb6ef69a fix(secubox): improve Makefile install and add postinst verification
Enhanced package installation to ensure appstore files are properly
installed with correct permissions during both fresh installs and upgrades.

Changes to Makefile:
1. Added explicit PKG_FILE_MODES for all data directories and files:
   - /usr/share/secubox: 755
   - /usr/share/secubox/appstore: 755
   - /usr/share/secubox/appstore/apps.json: 644
   - /usr/share/secubox/profiles: 755

2. Improved install section:
   - Added file existence check before installing profiles
   - Added install verification message for appstore catalog
   - Better comments for clarity

3. Added postinst script:
   - Verifies appstore catalog exists after installation
   - Sets proper permissions on all data directories/files
   - Reloads RPCD service to pick up new methods
   - Provides installation feedback to user
   - Fails with warning if appstore catalog missing

This ensures the appstore will be populated on fresh firmware installs
and properly updated during package upgrades.

Version: 0.7.0-3

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 13:05:33 +01:00
edd29ad481 chore(secubox): bump version to 0.7.0-2
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 12:39:07 +01:00
b00d13b84a fix(secubox): rename .appstore to appstore to fix package build
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>
2025-12-31 12:38:47 +01:00
298961a537 chore(secubox): bump version to 0.7.0-1
Updated package version from 0.6.1-0 to 0.7.0-1 to reflect:
- Fixed appstore race condition causing empty initial load
- Fixed RPC expect parameter for getAppstoreApps
- Improved error handling in apps and modules views
- Added debug logging for troubleshooting
- Fixed modules render data flow

Updated API version from 0.3.1 to 0.7.0

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 11:52:07 +01:00
280dd91798 release: bump secubox hub to 0.6.1-0 2025-12-30 14:42:45 +01:00
d71fef2e4e feat(mqtt-bridge): sync latest UI updates 2025-12-30 10:13:14 +01:00
92eff5aad7 refactor secubox app packaging and theme 2025-12-29 21:57:12 +01:00
2000265646 domoticz: add docker app manifest and docs 2025-12-29 17:34:26 +01:00
3c0003614d profiles: add presets and wizard integration 2025-12-29 17:22:34 +01:00
eab24f9609 secubox: add first-run and app wizards 2025-12-29 17:14:04 +01:00
9f23940fe5 Bump luci-app-secubox to 0.5.1 2025-12-29 09:29:14 +01:00
1e45053728 SecuBox v0.5.0-A UI polish 2025-12-29 09:27:52 +01:00
76955f48d0 versheaders 2025-12-29 07:51:33 +01:00
6fb738f455 chore: Bump versions - secubox 0.4.6-r3 and cdn-cache 0.4.1
Updated internal version numbers for secubox and cdn-cache modules.

Version updates:
- luci-app-secubox: 0.4.6-r2 → 0.4.6-r3
- luci-app-cdn-cache: 0.2.2-r1 → 0.4.1-r1

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:42:05 +01:00
dd0420ed82 chore(secubox): Bump release to 0.4.6-r2
Updated luci-app-secubox internal version to 0.4.6-r2.

Version update:
- luci-app-secubox: 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 20:19:21 +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
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
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
801601591c release: v0.1.2-alpha - Dynamic Module Detection & Responsive Cards
Major Features:
• SecuBox v0.1.2: Real-time module auto-detection via opkg
• System Hub: Dynamic component detection leveraging SecuBox
• Responsive card grid layout for modules and components
• Category filtering tabs (All/Security/Monitoring/Network/System)
• Auto-refresh every 30 seconds with real-time status

SecuBox Changes:
• Added detect_real_modules() function to scan opkg for installed packages
• Enhanced get_modules() with dual-source detection (UCI + auto-detected)
• Enhanced get_modules_by_category() with same dual-source logic
• Auto-categorization based on package name patterns
• Real version detection from opkg for installed packages
• Added in_uci flag to distinguish module sources
• Responsive modules.js with card-based layout
• New modules.css with theme support and animations

System Hub Changes:
• Added get_components() and get_components_by_category() to RPCD
• Components leverage SecuBox module detection via ubus
• Completely rewritten components.js with responsive cards
• New components.css matching SecuBox design language
• Extended API with getComponents() methods
• Unified component management with quick actions

Deployment:
• Added deploy-secubox-v0.1.2.sh for SecuBox deployment
• Added deploy-system-hub-dynamic.sh for System Hub deployment
• Added deploy-dynamic-modules.sh for combined deployment

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 17:06:00 +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
c8353ff2a0 release: bump to v0.1.0 - First Stable Release
This marks the first stable and functional release of SecuBox.

Version Updates:
- Package version: 0.0.5-beta → 0.1.0
- Backend RPCD version: 0.0.1-beta → 0.1.0
- Internal version display: 0.0.1-beta → 0.1.0

Features Complete:
 Modern dashboard with dynamic circular gauges
 Real-time auto-refresh (30s interval)
 System health monitoring (CPU, Memory, Disk, Network)
 Module management with status tracking
 Settings page with 40+ configuration options
 Alerts page with filtering and sorting
 Monitoring page with historical graphs
 Quick actions panel
 Responsive design with animations
 All file permissions corrected

This is a fully functional reference version ready for production use.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 10:13:14 +01:00
b612d26b25 chore: bump luci-app-secubox to version 0.0.5-beta
Final version with modern light theme dashboard:
- Beautiful clean design with gradient header
- Dynamic circular gauges with real-time updates
- Auto-refresh functionality
- Responsive layout
- All permissions fixed

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 10:00:31 +01:00
8b744a0b73 chore: bump luci-app-secubox to version 0.0.4-beta
Fixed version after restoring original dark theme design:
- Beautiful dark UI from v0.0.1-beta restored
- Stats overview cards added
- Auto-refresh maintained
- Module links working correctly

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 09:51:21 +01:00
0d98ca759b chore: bump luci-app-secubox to version 0.0.3-beta
Updated version to reflect circular gauges restoration:
- Beautiful circular SVG gauges for System Health
- Improved visual design with smooth animations
- Enhanced user experience on dashboard

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 09:42:44 +01:00
d61dcf2821 chore: bump luci-app-secubox to version 0.0.2-beta
Updated version to reflect new features:
- Enhanced Settings page with 40+ options
- New Alerts page with filtering and sorting
- New Monitoring page with real-time graphs

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 09:31:24 +01:00
45a49f32b7 release: bump version to 0.0.1-beta
Updated version across all components:
- Package version in Makefile: 0.0.1-beta
- UCI config version: 0.0.1-beta
- RPCD status endpoints: 0.0.1-beta

This is the first beta release of SecuBox with:
-  Working dashboard with system health monitoring
-  Working modules page showing all 14 modules
-  Module status detection (installed/running)
-  Settings page with UCI configuration
-  Fixed XHR timeout issues
-  Fixed module listing from UCI config

Ready for beta 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 08:36:54 +01:00
f08c14f1d7 fix: hope modules refresh 2025-12-23 18:53:18 +01:00