1122f84e58
fix: Update ACL files to use proper luci.* ubus object naming
...
Updated ACL permissions for 4 modules to use correct ubus object
names with the mandatory 'luci.' prefix:
- luci-app-auth-guardian: auth-guardian → luci.auth-guardian
- luci-app-netifyd-dashboard: netifyd → luci.netifyd-dashboard
- luci-app-network-modes: network-modes → luci.network-modes
- luci-app-wireguard-dashboard: wireguard-dashboard → luci.wireguard-dashboard
Also updated method names and UCI config references to match
current RPCD backend implementations.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 21:54:00 +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
4bdda363a0
fix: Standardize all plugins to v0.0.9 with unified patterns
...
- Update all 13 plugins maintainer to CyberMind <contact@cybermind.fr>
- Set version to 0.0.9 for internal release
- Fix API modules to use baseclass.extend() pattern (6 plugins)
- Ensure all RPCD scripts use luci.* prefix
- Validate menu/view/ACL coherence across all modules
Affected plugins:
- 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-traffic-shaper
- luci-app-vhost-manager
- luci-app-wireguard-dashboard
Validation: All modules pass validate-modules.sh checks
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 16:33:03 +01:00
e67df835e2
fix: remove UCI dependencies from menu definitions
...
Removes mandatory UCI config dependencies from dashboard modules to allow
LuCI menus to display even when backend services are not installed.
This fixes 'Permission denied' errors when accessing dashboards for services
that haven't been installed yet (crowdsec, netdata, netifyd, etc.).
Changes:
- Remove uci dependency: crowdsec-dashboard, netdata-dashboard
- Remove uci dependency: netifyd-dashboard, wireguard-dashboard
- Remove uci dependency: client-guardian, media-flow
- Remove uci dependency: network-modes, traffic-shaper
Dashboards will now gracefully handle missing backend services and can
guide users to install required packages.
Related: SecuBox menu organization (v0.1.2-alpha)
2025-12-25 16:23:30 +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
16ad6d6a43
fix: rename all RPCD scripts to match ubus object names
...
All RPCD scripts must use the 'luci.' prefix to match their JavaScript
ubus object declarations. This fixes RPC errors like:
- "RPC call to luci.cdn-cache/status failed with error -32000: Object not found"
Renamed RPCD scripts:
- cdn-cache → luci.cdn-cache
- client-guardian → luci.client-guardian
- crowdsec → luci.crowdsec-dashboard
- netdata → luci.netdata-dashboard
- netifyd-dashboard → luci.netifyd-dashboard
- network-modes → luci.network-modes
- system-hub → luci.system-hub
- wireguard-dashboard → luci.wireguard-dashboard
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 09:51:45 +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
a23cfb6dd1
sniffer mode
2025-12-23 21:10:33 +01:00
f08c14f1d7
fix: hope modules refresh
2025-12-23 18:53:18 +01:00
ef240b650b
Initial commit: SecuBox v1.0.0-try2
2025-12-22 10:43:52 +01:00
b05776c24a
Initial commit: Add GitHub Action
2025-12-21 18:24:13 +01:00
0981987c10
Initial commit: SecuBox v1.0.0
2025-12-21 09:46:33 +01:00