562ac55fe1
feat(network-modes): Prepare v0.3.5 implementation foundation
...
- Version bump to 0.3.5 in Makefile and README
- Add helpers.js utility module for common UI operations
- Expand API with new RPC method declarations
- Enhance view files with improved functionality:
- accesspoint.js: Enhanced WiFi configuration options
- relay.js: WireGuard setup improvements
- router.js: Expanded proxy and vhost settings
- sniffer.js: Enhanced capture configuration
- wizard.js: Improved mode selection flow
- RPCD backend enhancements (+176 lines)
- Add deployment script for easier testing
Claude settings: Update permissions for network-modes work
Preparation for implementing features documented in CODEX-v0.3.5.md
2025-12-28 14:25:50 +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
0759c748dd
fix: Add missing API functions to resolve module errors
...
Fixed JavaScript errors in multiple modules by adding missing API functions:
1. auth-guardian:
- Added getSessions() alias for listSessions compatibility
2. netifyd-dashboard:
- Added getAllData() aggregating status, stats, flows, applications
3. wireguard-dashboard:
- Added getAllData() aggregating status, peers, interfaces, traffic
4. network-modes:
- Added getAllData() aggregating status, mode, available_modes, interfaces
5. netdata-dashboard:
- Fixed ACL permissions: changed ubus object from 'netdata' to 'luci.netdata-dashboard'
- Added missing RPC methods to ACL (netdata_status, netdata_alarms, netdata_info)
- Added write permissions for service control methods
Resolves:
- TypeError: api.getSessions is not a function (auth-guardian)
- TypeError: api.getAllData is not a function (netifyd, wireguard, network-modes)
- RPC error -32002: Access denied (netdata-dashboard)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 21:42:09 +01:00
40a8437a2a
feat: apply Design System v0.3.0 to all 15 SecuBox modules
...
Extended the demo-inspired design system from system-hub to all SecuBox modules
for complete visual consistency across the entire platform.
🎨 Design System v0.3.0 Applied
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Modules Updated (15 total):
- ✅ 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
- ✅ luci-app-system-hub
- ✅ luci-app-traffic-shaper
- ✅ luci-app-vhost-manager
- ✅ luci-app-wireguard-dashboard
🎨 Design System Features
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dark Mode Palette (Demo-inspired):
- Background: #0a0a0f → #12121a → #1a1a24
- Text: #fafafa / #a0a0b0
- Borders: #2a2a35
- Primary gradient: #6366f1 → #8b5cf6 (Indigo-Violet)
Typography:
- Body: Inter (Google Fonts)
- Monospace: JetBrains Mono (for metrics, IDs, code)
Components:
- Compact stats badges (130px min)
- Gradient text titles with background-clip
- Cards with gradient border hover effects
- Sticky navigation tabs with backdrop-filter
- Filter tabs with gradient active state
- Buttons with cubic-bezier transitions
- Status badges (success/danger/warning/info)
Responsive Grid Layouts:
- Stats: repeat(auto-fit, minmax(130px, 1fr))
- Metrics: repeat(auto-fit, minmax(240px, 1fr))
- Cards: repeat(auto-fit, minmax(300px, 1fr))
📄 Files Added (14 new):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Created common.css for each module:
- templates/common-css-template.css (master template)
- */resources/*/common.css (14 modules)
📝 Files Modified (42):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Makefiles (13 modules):
- Updated PKG_VERSION from 0.0.9 → 0.2.2
- auth-guardian, bandwidth-manager, cdn-cache, client-guardian
- crowdsec-dashboard, ksm-manager, media-flow, netdata-dashboard
- netifyd-dashboard, network-modes, traffic-shaper, vhost-manager
- wireguard-dashboard
API.js files (14 modules):
- Added "// Version: 0.2.2" comment
- Consistent version tracking across all modules
Dashboard CSS (13 modules):
- Added "Version: 0.3.0" in file headers
- Updated to use Design System variables
SecuBox CSS (6 files):
- alerts.css, dashboard.css, modules.css
- monitoring.css, secubox.css
- All updated to version 0.3.0
🔧 CSS Variables System
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
All modules now use consistent --sh-* CSS variables:
- --sh-text-primary / --sh-text-secondary
- --sh-bg-primary / --sh-bg-secondary / --sh-bg-tertiary / --sh-bg-card
- --sh-border / --sh-hover-bg / --sh-hover-shadow
- --sh-primary / --sh-primary-end (for gradients)
- --sh-success / --sh-danger / --sh-warning / --sh-info
- --sh-shadow
Benefits:
✓ Instant theme switching (light/dark mode)
✓ Easy color customization via CSS variables
✓ Consistent branding across all modules
✓ Reduced CSS duplication
✓ Better maintainability
📊 Statistics
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Files changed: 56 total
- New files: 14 (common.css + template)
- Modified files: 42
- 13 Makefiles (version updates)
- 14 API.js (version tracking)
- 13 dashboard.css (version headers)
- 6 secubox CSS files
- 1 settings.local.json
Total lines added: ~8,000+ (common.css templates)
Common CSS size: ~420 lines per module
Design system coverage: 100% (all 15 modules)
✅ Validation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Validation script passed successfully:
- ✓ Check 1: RPCD naming (15 modules)
- ✓ Check 2: Menu paths (100+ views)
- ✓ Check 3: View files (2 warnings - debug files)
- ✓ Check 4: Permissions (15 RPCD scripts)
- ✓ Check 5: JSON syntax (30 files)
- ✓ Check 6: ubus naming (17 objects)
🎯 Migration Notes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developers:
1. Import common.css in your HTML/views
2. Use --sh-* CSS variables instead of hardcoded colors
3. Leverage pre-built components (.sh-card, .sh-btn-primary, etc.)
4. Follow responsive grid patterns
5. Test in both light and dark modes
Users:
- All modules now have consistent modern design
- Unified color scheme across entire SecuBox platform
- Better accessibility with improved contrast ratios
- Smooth animations and transitions
- Responsive design for mobile/tablet/desktop
📚 Documentation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reference:
- Design demo: https://cybermind.fr/apps/system-hub/demo.html
- Template: templates/common-css-template.css
- Guidelines: DEVELOPMENT-GUIDELINES.md
- Quick start: QUICK-START.md
Next Steps:
- Deploy modules to test environment
- Verify visual consistency
- Collect user feedback
- Fine-tune responsive breakpoints if needed
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 20:15:33 +01:00
cf39eb6e1d
fix: resolve validation issues across all modules
...
- Fixed minified RPC declaration in secubox/modules.js that caused false positive in validation
- Added 30 missing menu entries across 10 modules:
* bandwidth-manager: clients, schedules
* client-guardian: zones, portal, logs, alerts, parental
* crowdsec-dashboard: metrics
* netdata-dashboard: system, processes, realtime, network
* netifyd-dashboard: talkers, risks, devices
* network-modes: router, accesspoint, relay, sniffer
* secubox: settings
* system-hub: components, diagnostics, health, remote, settings
* vhost-manager: internal, ssl, redirects
* wireguard-dashboard: traffic, config
- All modules now pass comprehensive validation (0 errors, 0 warnings)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 09:01:06 +01:00
4e23037a22
feat: implement network mode switcher with rollback protection
...
Implémente un switcher de mode réseau complet avec 4 modes:
- Router: NAT, DHCP server, firewall (default)
- Access Point: Bridge mode, no NAT, DHCP client
- Repeater: WiFi client + AP relay with optimizations
- Bridge: Pure L2 bridge, DHCP client
Nouvelles méthodes RPCD:
- get_current_mode: Détails du mode actif avec statut rollback
- get_available_modes: Liste des modes avec features
- set_mode: Préparer le changement de mode
- preview_changes: Prévisualiser les modifications
- apply_mode: Appliquer avec reconfiguration réseau complète
- confirm_mode: Confirmer et annuler le timer de rollback
- rollback: Restaurer la configuration précédente
Sécurité:
- Backup automatique avant changement
- Rollback automatique après 2 minutes sans confirmation
- Timer affiché en temps réel dans l'interface
- Restauration complète de network/wireless/firewall/dhcp
Vue wizard.js:
- Cards interactives pour chaque mode avec icônes
- Preview des changements avant application
- Progress bar et instructions post-switch
- Polling du timer de rollback
- Boutons de confirmation et rollback manuel
ACL mis à jour pour toutes les nouvelles méthodes.
2025-12-24 00:45:19 +01:00
f08c14f1d7
fix: hope modules refresh
2025-12-23 18:53:18 +01:00