diff --git a/DOCS/MODULE_STATUS.md b/DOCS/MODULE_STATUS.md index c44f2edf..bce99cc0 100644 --- a/DOCS/MODULE_STATUS.md +++ b/DOCS/MODULE_STATUS.md @@ -88,7 +88,7 @@ ### 2. Security & Monitoring (2 modules) #### luci-app-crowdsec-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: CrowdSec threat intelligence and IPS dashboard - **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings) @@ -107,7 +107,7 @@ - **Dependencies**: crowdsec package #### luci-app-netdata-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Real-time system monitoring with comprehensive metrics - **Views**: 6 (dashboard, system, network, processes, realtime, settings) @@ -130,7 +130,7 @@ ### 3. Network Intelligence (2 modules) #### luci-app-netifyd-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Deep packet inspection and application classification - **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings) @@ -180,7 +180,7 @@ ### 4. VPN & Access Control (3 modules) #### luci-app-wireguard-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: WireGuard VPN management and monitoring - **Views**: 6 (overview, peers, config, qrcodes, traffic, settings) @@ -201,7 +201,7 @@ - **Supported Clients**: iOS, Android, Windows, macOS, Linux #### luci-app-client-guardian -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Network Access Control (NAC) and captive portal - **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings) @@ -223,7 +223,7 @@ - **Dependencies**: nodogsplash, iptables, arptables #### luci-app-auth-guardian -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Advanced authentication and voucher system - **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass) @@ -247,7 +247,7 @@ ### 5. Bandwidth & Traffic (3 modules) #### luci-app-bandwidth-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Bandwidth management with QoS and quotas - **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings) @@ -272,7 +272,7 @@ - **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation" #### luci-app-traffic-shaper -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Advanced traffic shaping and QoS control - **Views**: 5 (overview, classes, rules, presets, stats) @@ -296,7 +296,7 @@ - **Validation**: ✅ All checks passed #### luci-app-media-flow -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Media traffic detection and streaming optimization - **Views**: 5 (dashboard, services, clients, history, alerts) @@ -320,7 +320,7 @@ ### 6. Performance & Services (3 modules) #### luci-app-cdn-cache -- **Version**: 0.2.2-1 +- **Version**: 0.4.1-1 - **Status**: ✅ In Heavily Development Stage - **Description**: CDN proxy cache for bandwidth optimization - **Views**: 6 (overview, cache, policies, settings, maintenance, statistics) @@ -343,7 +343,7 @@ - **Dependencies**: nginx-full #### luci-app-vhost-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.1-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Virtual host and reverse proxy management - **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs) @@ -365,7 +365,7 @@ - **Dependencies**: nginx-ssl, acme (optional) #### luci-app-ksm-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Cryptographic key and secret management - **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings) @@ -398,21 +398,21 @@ | Module | Version | Views | JS Lines | Methods | Status | |--------|---------|-------|----------|---------|--------| -| auth-guardian | 0.2.2-1 | 6 | 312 | 13 | ✅ Complete | -| bandwidth-manager | 0.2.2-1 | 9 | 936 | 14 | ✅ Complete | -| cdn-cache | 0.2.2-1 | 6 | 1,255 | 27 | ✅ Complete | -| client-guardian | 0.2.2-1 | 9 | 2,293 | 29 | ✅ Complete | -| crowdsec-dashboard | 0.2.2-1 | 6 | 2,089 | 12 | ✅ Complete | -| ksm-manager | 0.2.2-1 | 8 | 2,423 | 28 | ✅ Complete | -| media-flow | 0.2.2-1 | 5 | 690 | 10 | ✅ Complete | -| netdata-dashboard | 0.2.2-1 | 6 | 1,554 | 16 | ✅ Complete | -| netifyd-dashboard | 0.2.2-1 | 7 | 1,376 | 12 | ✅ Complete | +| auth-guardian | 0.4.0-1 | 6 | 312 | 13 | ✅ Complete | +| bandwidth-manager | 0.4.0-1 | 9 | 936 | 14 | ✅ Complete | +| cdn-cache | 0.4.1-1 | 6 | 1,255 | 27 | ✅ Complete | +| client-guardian | 0.4.0-1 | 9 | 2,293 | 29 | ✅ Complete | +| crowdsec-dashboard | 0.4.0-1 | 6 | 2,089 | 12 | ✅ Complete | +| ksm-manager | 0.4.0-1 | 8 | 2,423 | 28 | ✅ Complete | +| media-flow | 0.4.0-1 | 5 | 690 | 10 | ✅ Complete | +| netdata-dashboard | 0.4.0-1 | 6 | 1,554 | 16 | ✅ Complete | +| netifyd-dashboard | 0.4.0-1 | 7 | 1,376 | 12 | ✅ Complete | | network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete | | secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete | | system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete | -| traffic-shaper | 0.2.2-1 | 5 | 985 | 16 | ✅ Complete | -| vhost-manager | 0.2.2-1 | 7 | 695 | 13 | ✅ Complete | -| wireguard-dashboard | 0.2.2-1 | 6 | 1,571 | 15 | ✅ Complete | +| traffic-shaper | 0.4.0-1 | 5 | 985 | 16 | ✅ Complete | +| vhost-manager | 0.4.1-1 | 7 | 695 | 13 | ✅ Complete | +| wireguard-dashboard | 0.4.0-1 | 6 | 1,571 | 15 | ✅ Complete | | **TOTALS** | | **110** | **26,638** | **281** | **100%** | ### Code Distribution diff --git a/DOCS/MQTT_BRIDGE.md b/DOCS/MQTT_BRIDGE.md index 6c76a830..e89eb408 100644 --- a/DOCS/MQTT_BRIDGE.md +++ b/DOCS/MQTT_BRIDGE.md @@ -1,6 +1,6 @@ # MQTT Bridge Module -**Version:** 0.1.0 +**Version:** 0.4.0 **Status:** Draft SecuBox MQTT Bridge exposes USB dongles and IoT sensors through a themed LuCI interface. diff --git a/docs/module-status.md b/docs/module-status.md index 257a9695..e114a01c 100644 --- a/docs/module-status.md +++ b/docs/module-status.md @@ -88,7 +88,7 @@ ### 2. Security & Monitoring (2 modules) #### luci-app-crowdsec-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: CrowdSec threat intelligence and IPS dashboard - **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings) @@ -107,7 +107,7 @@ - **Dependencies**: crowdsec package #### luci-app-netdata-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Real-time system monitoring with comprehensive metrics - **Views**: 6 (dashboard, system, network, processes, realtime, settings) @@ -130,7 +130,7 @@ ### 3. Network Intelligence (2 modules) #### luci-app-netifyd-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Deep packet inspection and application classification - **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings) @@ -180,7 +180,7 @@ ### 4. VPN & Access Control (3 modules) #### luci-app-wireguard-dashboard -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: WireGuard VPN management and monitoring - **Views**: 6 (overview, peers, config, qrcodes, traffic, settings) @@ -201,7 +201,7 @@ - **Supported Clients**: iOS, Android, Windows, macOS, Linux #### luci-app-client-guardian -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Network Access Control (NAC) and captive portal - **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings) @@ -223,7 +223,7 @@ - **Dependencies**: nodogsplash, iptables, arptables #### luci-app-auth-guardian -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Advanced authentication and voucher system - **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass) @@ -247,7 +247,7 @@ ### 5. Bandwidth & Traffic (3 modules) #### luci-app-bandwidth-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Bandwidth management with QoS and quotas - **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings) @@ -272,7 +272,7 @@ - **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation" #### luci-app-traffic-shaper -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Advanced traffic shaping and QoS control - **Views**: 5 (overview, classes, rules, presets, stats) @@ -296,7 +296,7 @@ - **Validation**: ✅ All checks passed #### luci-app-media-flow -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Media traffic detection and streaming optimization - **Views**: 5 (dashboard, services, clients, history, alerts) @@ -320,7 +320,7 @@ ### 6. Performance & Services (3 modules) #### luci-app-cdn-cache -- **Version**: 0.2.2-1 +- **Version**: 0.4.1-1 - **Status**: ✅ In Heavily Development Stage - **Description**: CDN proxy cache for bandwidth optimization - **Views**: 6 (overview, cache, policies, settings, maintenance, statistics) @@ -343,7 +343,7 @@ - **Dependencies**: nginx-full #### luci-app-vhost-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.1-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Virtual host and reverse proxy management - **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs) @@ -365,7 +365,7 @@ - **Dependencies**: nginx-ssl, acme (optional) #### luci-app-ksm-manager -- **Version**: 0.2.2-1 +- **Version**: 0.4.0-1 - **Status**: ✅ In Heavily Development Stage - **Description**: Cryptographic key and secret management - **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings) @@ -398,21 +398,21 @@ | Module | Version | Views | JS Lines | Methods | Status | |--------|---------|-------|----------|---------|--------| -| auth-guardian | 0.2.2-1 | 6 | 312 | 13 | ✅ Complete | -| bandwidth-manager | 0.2.2-1 | 9 | 936 | 14 | ✅ Complete | -| cdn-cache | 0.2.2-1 | 6 | 1,255 | 27 | ✅ Complete | -| client-guardian | 0.2.2-1 | 9 | 2,293 | 29 | ✅ Complete | -| crowdsec-dashboard | 0.2.2-1 | 6 | 2,089 | 12 | ✅ Complete | -| ksm-manager | 0.2.2-1 | 8 | 2,423 | 28 | ✅ Complete | -| media-flow | 0.2.2-1 | 5 | 690 | 10 | ✅ Complete | -| netdata-dashboard | 0.2.2-1 | 6 | 1,554 | 16 | ✅ Complete | -| netifyd-dashboard | 0.2.2-1 | 7 | 1,376 | 12 | ✅ Complete | +| auth-guardian | 0.4.0-1 | 6 | 312 | 13 | ✅ Complete | +| bandwidth-manager | 0.4.0-1 | 9 | 936 | 14 | ✅ Complete | +| cdn-cache | 0.4.1-1 | 6 | 1,255 | 27 | ✅ Complete | +| client-guardian | 0.4.0-1 | 9 | 2,293 | 29 | ✅ Complete | +| crowdsec-dashboard | 0.4.0-1 | 6 | 2,089 | 12 | ✅ Complete | +| ksm-manager | 0.4.0-1 | 8 | 2,423 | 28 | ✅ Complete | +| media-flow | 0.4.0-1 | 5 | 690 | 10 | ✅ Complete | +| netdata-dashboard | 0.4.0-1 | 6 | 1,554 | 16 | ✅ Complete | +| netifyd-dashboard | 0.4.0-1 | 7 | 1,376 | 12 | ✅ Complete | | network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete | | secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete | | system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete | -| traffic-shaper | 0.2.2-1 | 5 | 985 | 16 | ✅ Complete | -| vhost-manager | 0.2.2-1 | 7 | 695 | 13 | ✅ Complete | -| wireguard-dashboard | 0.2.2-1 | 6 | 1,571 | 15 | ✅ Complete | +| traffic-shaper | 0.4.0-1 | 5 | 985 | 16 | ✅ Complete | +| vhost-manager | 0.4.1-1 | 7 | 695 | 13 | ✅ Complete | +| wireguard-dashboard | 0.4.0-1 | 6 | 1,571 | 15 | ✅ Complete | | **TOTALS** | | **110** | **26,638** | **281** | **100%** | ### Code Distribution diff --git a/luci-app-auth-guardian/Makefile b/luci-app-auth-guardian/Makefile index 3b27c083..274c3287 100644 --- a/luci-app-auth-guardian/Makefile +++ b/luci-app-auth-guardian/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-auth-guardian -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=MIT PKG_MAINTAINER:=CyberMind diff --git a/luci-app-auth-guardian/README.md b/luci-app-auth-guardian/README.md index c2876672..63cfa348 100644 --- a/luci-app-auth-guardian/README.md +++ b/luci-app-auth-guardian/README.md @@ -1,6 +1,6 @@ # Auth Guardian for OpenWrt -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/bypass.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/bypass.js index 3e500205..5d17db85 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/bypass.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/bypass.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require auth-guardian.api as api'; return view.extend({ diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/oauth.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/oauth.js index 430b81d1..010bb8f1 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/oauth.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/oauth.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require auth-guardian.api as api'; return view.extend({ diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/overview.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/overview.js index 7b8b7326..d1bd81db 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/overview.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require auth-guardian.api as api'; return view.extend({ diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/sessions.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/sessions.js index 7ff4260c..b337e62c 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/sessions.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/sessions.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require auth-guardian.api as api'; return view.extend({ diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/splash.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/splash.js index 857fecfc..d124132c 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/splash.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/splash.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; return view.extend({ render: function() { diff --git a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/vouchers.js b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/vouchers.js index 029b64f1..b4f7a08a 100644 --- a/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/vouchers.js +++ b/luci-app-auth-guardian/htdocs/luci-static/resources/view/auth-guardian/vouchers.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require auth-guardian.api as api'; diff --git a/luci-app-bandwidth-manager/Makefile b/luci-app-bandwidth-manager/Makefile index ec2183cf..e38588e7 100644 --- a/luci-app-bandwidth-manager/Makefile +++ b/luci-app-bandwidth-manager/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-bandwidth-manager -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=CyberMind diff --git a/luci-app-bandwidth-manager/README.md b/luci-app-bandwidth-manager/README.md index cde7c851..ae418b6f 100644 --- a/luci-app-bandwidth-manager/README.md +++ b/luci-app-bandwidth-manager/README.md @@ -1,6 +1,6 @@ # Bandwidth Manager - QoS & Traffic Control -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/classes.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/classes.js index b6264348..654efeda 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/classes.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/classes.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require bandwidth-manager/api as API'; return view.extend({ diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/clients.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/clients.js index 1b4ec961..39ba4451 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/clients.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/clients.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require bandwidth-manager/api as API'; return view.extend({ diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/media.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/media.js index de4c73e2..ed6c5f4f 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/media.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/media.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require bandwidth-manager/api as API'; return view.extend({ diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/overview.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/overview.js index 7a46c825..72ee022e 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/overview.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require bandwidth-manager/api as API'; return L.view.extend({ diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/quotas.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/quotas.js index 2364a6c9..9849ca75 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/quotas.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/quotas.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require form'; 'require bandwidth-manager/api as API'; diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/rules.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/rules.js index 16a75b4f..e925184c 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/rules.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/rules.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require form'; 'require bandwidth-manager/api as API'; diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/schedules.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/schedules.js index b2adc377..29280a72 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/schedules.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/schedules.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; return view.extend({ render: function() { diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/settings.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/settings.js index ce6b0d4b..c273e67f 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/settings.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require network'; diff --git a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/usage.js b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/usage.js index 38ae76bb..53994a36 100644 --- a/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/usage.js +++ b/luci-app-bandwidth-manager/htdocs/luci-static/resources/view/bandwidth-manager/usage.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require bandwidth-manager/api as API'; diff --git a/luci-app-client-guardian/Makefile b/luci-app-client-guardian/Makefile index f9b9f982..ee7c791d 100644 --- a/luci-app-client-guardian/Makefile +++ b/luci-app-client-guardian/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-client-guardian -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 diff --git a/luci-app-client-guardian/README.md b/luci-app-client-guardian/README.md index f9e92ab8..8434ec25 100644 --- a/luci-app-client-guardian/README.md +++ b/luci-app-client-guardian/README.md @@ -1,6 +1,6 @@ # luci-app-client-guardian -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/client-guardian/api.js b/luci-app-client-guardian/htdocs/luci-static/resources/client-guardian/api.js index c2c69953..8494c43c 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/client-guardian/api.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/client-guardian/api.js @@ -8,7 +8,7 @@ * RPCD object: luci.client-guardian */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.client-guardian', diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/alerts.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/alerts.js index 798c7ec7..566d1e93 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/alerts.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/alerts.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require uci'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/captive.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/captive.js index 0aae0008..f85ed5ab 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/captive.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/captive.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/clients.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/clients.js index 5b088212..50fd5613 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/clients.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/clients.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/logs.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/logs.js index 40484611..af93db44 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/logs.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/logs.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/overview.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/overview.js index 43bb0361..616e0603 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/overview.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require uci'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/parental.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/parental.js index 1b8cb127..7d15ddd7 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/parental.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/parental.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require ui'; 'require client-guardian.api as api'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/portal.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/portal.js index b8cc1b01..98d7fddb 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/portal.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/portal.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require ui'; 'require client-guardian.api as api'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/settings.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/settings.js index 939423fc..5c182626 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/settings.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require client-guardian/api as API'; diff --git a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/zones.js b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/zones.js index 1e43c913..a169cccd 100644 --- a/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/zones.js +++ b/luci-app-client-guardian/htdocs/luci-static/resources/view/client-guardian/zones.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require ui'; 'require client-guardian.api as api'; diff --git a/luci-app-crowdsec-dashboard/Makefile b/luci-app-crowdsec-dashboard/Makefile index f5df0f23..5e962cb0 100644 --- a/luci-app-crowdsec-dashboard/Makefile +++ b/luci-app-crowdsec-dashboard/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-crowdsec-dashboard -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 diff --git a/luci-app-crowdsec-dashboard/README.md b/luci-app-crowdsec-dashboard/README.md index 33c95be0..4abb15b2 100644 --- a/luci-app-crowdsec-dashboard/README.md +++ b/luci-app-crowdsec-dashboard/README.md @@ -1,6 +1,6 @@ # 🛡️ LuCI CrowdSec Dashboard -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/crowdsec-dashboard/api.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/crowdsec-dashboard/api.js index 6369d22e..26331b3c 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/crowdsec-dashboard/api.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/crowdsec-dashboard/api.js @@ -8,7 +8,7 @@ * RPCD object: luci.crowdsec-dashboard */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.crowdsec-dashboard', diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/alerts.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/alerts.js index a7f7ed70..8cd82d1c 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/alerts.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/alerts.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/bouncers.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/bouncers.js index 47134d0a..cda106c0 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/bouncers.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/bouncers.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/decisions.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/decisions.js index bb5ab4a1..0844bd2d 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/decisions.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/decisions.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/metrics.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/metrics.js index a46bbaf8..a1f1d508 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/metrics.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/metrics.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/overview.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/overview.js index 5741a304..21402b31 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/overview.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require ui'; diff --git a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/settings.js b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/settings.js index 70eeecd7..56cbe8e2 100644 --- a/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/settings.js +++ b/luci-app-crowdsec-dashboard/htdocs/luci-static/resources/view/crowdsec-dashboard/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require crowdsec-dashboard/api as API'; diff --git a/luci-app-ksm-manager/Makefile b/luci-app-ksm-manager/Makefile index d1469731..207844e2 100644 --- a/luci-app-ksm-manager/Makefile +++ b/luci-app-ksm-manager/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ksm-manager -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 LUCI_TITLE:=LuCI support for Key Storage Manager diff --git a/luci-app-ksm-manager/README.md b/luci-app-ksm-manager/README.md index 6b1359a3..2c1440d5 100644 --- a/luci-app-ksm-manager/README.md +++ b/luci-app-ksm-manager/README.md @@ -1,6 +1,6 @@ # LuCI App - Key Storage Manager (KSM) -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/ksm-manager/api.js b/luci-app-ksm-manager/htdocs/luci-static/resources/ksm-manager/api.js index 02278e8e..247ffde0 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/ksm-manager/api.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/ksm-manager/api.js @@ -8,7 +8,7 @@ * Provides RPC methods for cryptographic key management with HSM support */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.ksm-manager', @@ -164,7 +164,7 @@ return baseclass.extend({ * @returns {Promise} Status object with running, keystore_unlocked, keys_count, hsm_connected */ -// Version: 0.2.2 +// Version: 0.4.0 getStatus: function() { return L.resolveDefault(callStatus(), { running: false, @@ -179,7 +179,7 @@ return baseclass.extend({ * @returns {Promise} Info object with openssl_version, gpg_version, hsm_support */ -// Version: 0.2.2 +// Version: 0.4.0 getInfo: function() { return L.resolveDefault(callGetInfo(), { openssl_version: 'unknown', @@ -193,7 +193,7 @@ return baseclass.extend({ * @returns {Promise} Object with devices array */ -// Version: 0.2.2 +// Version: 0.4.0 listHsmDevices: function() { return L.resolveDefault(callListHsmDevices(), { devices: [] }); }, @@ -204,7 +204,7 @@ return baseclass.extend({ * @returns {Promise} Status object with initialized, pin_retries, keys_count */ -// Version: 0.2.2 +// Version: 0.4.0 getHsmStatus: function(serial) { return L.resolveDefault(callGetHsmStatus(serial), { initialized: false, @@ -221,7 +221,7 @@ return baseclass.extend({ * @returns {Promise} Result with success boolean */ -// Version: 0.2.2 +// Version: 0.4.0 initHsm: function(serial, adminPin, userPin) { return callInitHsm(serial, adminPin, userPin); }, @@ -235,7 +235,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and key_id */ -// Version: 0.2.2 +// Version: 0.4.0 generateHsmKey: function(serial, keyType, keySize, label) { return callGenerateHsmKey(serial, keyType, keySize, label); }, @@ -245,7 +245,7 @@ return baseclass.extend({ * @returns {Promise} Object with keys array */ -// Version: 0.2.2 +// Version: 0.4.0 listKeys: function() { return L.resolveDefault(callListKeys(), { keys: [] }); }, @@ -259,7 +259,7 @@ return baseclass.extend({ * @returns {Promise} Result with success, id, and public_key */ -// Version: 0.2.2 +// Version: 0.4.0 generateKey: function(type, size, label, passphrase) { return callGenerateKey(type, size, label, passphrase || ''); }, @@ -273,7 +273,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and id */ -// Version: 0.2.2 +// Version: 0.4.0 importKey: function(label, keyData, format, passphrase) { return callImportKey(label, keyData, format, passphrase || ''); }, @@ -287,7 +287,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and key_data */ -// Version: 0.2.2 +// Version: 0.4.0 exportKey: function(id, format, includePrivate, passphrase) { return callExportKey(id, format, includePrivate, passphrase || ''); }, @@ -299,7 +299,7 @@ return baseclass.extend({ * @returns {Promise} Result with success boolean */ -// Version: 0.2.2 +// Version: 0.4.0 deleteKey: function(id, secureErase) { return callDeleteKey(id, secureErase); }, @@ -312,7 +312,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and csr */ -// Version: 0.2.2 +// Version: 0.4.0 generateCsr: function(keyId, subjectDn, sanList) { return callGenerateCsr(keyId, subjectDn, sanList || []); }, @@ -325,7 +325,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and cert_id */ -// Version: 0.2.2 +// Version: 0.4.0 importCertificate: function(keyId, certData, chain) { return callImportCertificate(keyId, certData, chain || ''); }, @@ -335,7 +335,7 @@ return baseclass.extend({ * @returns {Promise} Object with certificates array */ -// Version: 0.2.2 +// Version: 0.4.0 listCertificates: function() { return L.resolveDefault(callListCertificates(), { certificates: [] }); }, @@ -346,7 +346,7 @@ return baseclass.extend({ * @returns {Promise} Result with valid, chain_valid, expires_in_days */ -// Version: 0.2.2 +// Version: 0.4.0 verifyCertificate: function(certId) { return callVerifyCertificate(certId); }, @@ -360,7 +360,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and secret_id */ -// Version: 0.2.2 +// Version: 0.4.0 storeSecret: function(label, secretData, category, autoRotate) { return callStoreSecret(label, secretData, category, autoRotate); }, @@ -371,7 +371,7 @@ return baseclass.extend({ * @returns {Promise} Result with success, secret_data, accessed_at */ -// Version: 0.2.2 +// Version: 0.4.0 retrieveSecret: function(secretId) { return callRetrieveSecret(secretId); }, @@ -381,7 +381,7 @@ return baseclass.extend({ * @returns {Promise} Object with secrets array */ -// Version: 0.2.2 +// Version: 0.4.0 listSecrets: function() { return L.resolveDefault(callListSecrets(), { secrets: [] }); }, @@ -393,7 +393,7 @@ return baseclass.extend({ * @returns {Promise} Result with success and version */ -// Version: 0.2.2 +// Version: 0.4.0 rotateSecret: function(secretId, newSecretData) { return callRotateSecret(secretId, newSecretData); }, @@ -406,7 +406,7 @@ return baseclass.extend({ * @returns {Promise} Result with success, key_id, public_key */ -// Version: 0.2.2 +// Version: 0.4.0 generateSshKey: function(label, keyType, comment) { return callGenerateSshKey(label, keyType, comment || ''); }, @@ -419,7 +419,7 @@ return baseclass.extend({ * @returns {Promise} Result with success boolean */ -// Version: 0.2.2 +// Version: 0.4.0 deploySshKey: function(keyId, targetHost, targetUser) { return callDeploySshKey(keyId, targetHost, targetUser); }, @@ -432,7 +432,7 @@ return baseclass.extend({ * @returns {Promise} Object with logs array */ -// Version: 0.2.2 +// Version: 0.4.0 getAuditLogs: function(limit, offset, filterType) { return L.resolveDefault(callGetAuditLogs(limit || 100, offset || 0, filterType || ''), { logs: [] }); }, @@ -443,7 +443,7 @@ return baseclass.extend({ * @returns {string} Formatted type */ -// Version: 0.2.2 +// Version: 0.4.0 formatKeyType: function(type) { var types = { 'rsa': 'RSA', @@ -462,7 +462,7 @@ return baseclass.extend({ * @returns {string} Formatted storage */ -// Version: 0.2.2 +// Version: 0.4.0 formatStorage: function(storage) { return storage === 'hsm' ? 'Hardware' : 'Software'; }, @@ -473,7 +473,7 @@ return baseclass.extend({ * @returns {string} Color class */ -// Version: 0.2.2 +// Version: 0.4.0 getCertStatusColor: function(daysRemaining) { if (daysRemaining < 0) return 'gray'; if (daysRemaining < 7) return 'red'; @@ -487,7 +487,7 @@ return baseclass.extend({ * @returns {string} Formatted date */ -// Version: 0.2.2 +// Version: 0.4.0 formatTimestamp: function(timestamp) { if (!timestamp) return 'N/A'; try { diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/audit.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/audit.js index b5e579bb..854ccab3 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/audit.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/audit.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/certificates.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/certificates.js index 34e1e7af..99d1f158 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/certificates.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/certificates.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/hsm.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/hsm.js index 9ccd44dc..11e24156 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/hsm.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/hsm.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/keys.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/keys.js index 8e7e6400..30b9b97c 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/keys.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/keys.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/overview.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/overview.js index 6bae14f0..23375ce2 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/overview.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/secrets.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/secrets.js index b8a03a60..cf30ba61 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/secrets.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/secrets.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/settings.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/settings.js index 3ddf0cd4..215c1f31 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/settings.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require uci'; diff --git a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/ssh.js b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/ssh.js index 3c8f3425..da1a3455 100644 --- a/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/ssh.js +++ b/luci-app-ksm-manager/htdocs/luci-static/resources/view/ksm-manager/ssh.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require ksm-manager/api as KSM'; diff --git a/luci-app-media-flow/Makefile b/luci-app-media-flow/Makefile index 7df4a15d..cea0c981 100644 --- a/luci-app-media-flow/Makefile +++ b/luci-app-media-flow/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-media-flow -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=CyberMind diff --git a/luci-app-media-flow/README.md b/luci-app-media-flow/README.md index 79d8c84e..7f194f4b 100644 --- a/luci-app-media-flow/README.md +++ b/luci-app-media-flow/README.md @@ -1,6 +1,6 @@ # LuCI Media Flow - Streaming Detection & Monitoring -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/alerts.js b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/alerts.js index 6d10755d..0856fdb0 100644 --- a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/alerts.js +++ b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/alerts.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require media-flow/api as API'; diff --git a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/clients.js b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/clients.js index e2548d88..26e31972 100644 --- a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/clients.js +++ b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/clients.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require media-flow/api as API'; diff --git a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/dashboard.js b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/dashboard.js index 22c0be23..5dfc70fd 100644 --- a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/dashboard.js +++ b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/dashboard.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require ui'; 'require media-flow/api as API'; diff --git a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/history.js b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/history.js index f2b64bc3..047e8f22 100644 --- a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/history.js +++ b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/history.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require media-flow/api as API'; diff --git a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/services.js b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/services.js index ba82fe32..237a7121 100644 --- a/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/services.js +++ b/luci-app-media-flow/htdocs/luci-static/resources/view/media-flow/services.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require media-flow/api as API'; diff --git a/luci-app-mqtt-bridge/Makefile b/luci-app-mqtt-bridge/Makefile index 3abb0c3d..1fc3ea03 100644 --- a/luci-app-mqtt-bridge/Makefile +++ b/luci-app-mqtt-bridge/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-mqtt-bridge -PKG_VERSION:=0.1.0 +PKG_VERSION:=0.4.0 PKG_RELEASE:=2 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=CyberMind diff --git a/luci-app-mqtt-bridge/README.md b/luci-app-mqtt-bridge/README.md index 805f7e96..36a2711c 100644 --- a/luci-app-mqtt-bridge/README.md +++ b/luci-app-mqtt-bridge/README.md @@ -1,6 +1,6 @@ # SecuBox MQTT Bridge -**Version:** 0.1.0 +**Version:** 0.4.0 **Status:** Draft USB-aware MQTT orchestrator for SecuBox routers. The application discovers USB serial dongles, bridges sensor payloads to a built-in MQTT broker, and exposes dashboards/settings with SecuBox theme tokens. diff --git a/luci-app-netdata-dashboard/Makefile b/luci-app-netdata-dashboard/Makefile index 163bb69e..d439b43b 100644 --- a/luci-app-netdata-dashboard/Makefile +++ b/luci-app-netdata-dashboard/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-netdata-dashboard -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 diff --git a/luci-app-netdata-dashboard/README.md b/luci-app-netdata-dashboard/README.md index f5f9f456..0e871796 100644 --- a/luci-app-netdata-dashboard/README.md +++ b/luci-app-netdata-dashboard/README.md @@ -1,6 +1,6 @@ # LuCI Netdata Dashboard -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/netdata-dashboard/api.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/netdata-dashboard/api.js index c2e4377c..7065941d 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/netdata-dashboard/api.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/netdata-dashboard/api.js @@ -8,7 +8,7 @@ * RPCD object: luci.netdata-dashboard */ -// Version: 0.2.2 +// Version: 0.4.0 // System stats methods (from RPCD backend) var callStats = rpc.declare({ diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/network.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/network.js index f92b0cbe..53905dd2 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/network.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/network.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/processes.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/processes.js index 8138bc0a..ece646ac 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/processes.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/processes.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/realtime.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/realtime.js index e126978c..182f873c 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/realtime.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/realtime.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/settings.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/settings.js index 59d577e3..8dd6f7a4 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/settings.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require netdata-dashboard/api as API'; diff --git a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/system.js b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/system.js index 629886d8..f14d94c5 100644 --- a/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/system.js +++ b/luci-app-netdata-dashboard/htdocs/luci-static/resources/view/netdata-dashboard/system.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/Makefile b/luci-app-netifyd-dashboard/Makefile index 9e2f587c..3fe6032b 100644 --- a/luci-app-netifyd-dashboard/Makefile +++ b/luci-app-netifyd-dashboard/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-netifyd-dashboard -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 diff --git a/luci-app-netifyd-dashboard/README.md b/luci-app-netifyd-dashboard/README.md index 9160be84..9b23b77f 100644 --- a/luci-app-netifyd-dashboard/README.md +++ b/luci-app-netifyd-dashboard/README.md @@ -1,6 +1,6 @@ # LuCI Netifyd Dashboard -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/netifyd-dashboard/api.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/netifyd-dashboard/api.js index 26e70ab6..1af19ab3 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/netifyd-dashboard/api.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/netifyd-dashboard/api.js @@ -8,7 +8,7 @@ * RPCD object: luci.netifyd-dashboard */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.netifyd-dashboard', diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/applications.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/applications.js index 71c0a3a9..68ee0c87 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/applications.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/applications.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/devices.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/devices.js index 3d549b36..1f289b73 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/devices.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/devices.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/flows.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/flows.js index 2f59cfdc..376eefd4 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/flows.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/flows.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/overview.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/overview.js index f9a1477d..7b6a1f7a 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/overview.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/risks.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/risks.js index 89b565e3..185deb27 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/risks.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/risks.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/settings.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/settings.js index 045409db..810d8566 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/settings.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require netifyd-dashboard.api as API'; diff --git a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/talkers.js b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/talkers.js index f8db8607..de804172 100644 --- a/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/talkers.js +++ b/luci-app-netifyd-dashboard/htdocs/luci-static/resources/view/netifyd-dashboard/talkers.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-system-hub/htdocs/luci-static/resources/system-hub/dev-status-widget.js b/luci-app-system-hub/htdocs/luci-static/resources/system-hub/dev-status-widget.js index 7731b1bb..5b22c55b 100644 --- a/luci-app-system-hub/htdocs/luci-static/resources/system-hub/dev-status-widget.js +++ b/luci-app-system-hub/htdocs/luci-static/resources/system-hub/dev-status-widget.js @@ -86,19 +86,19 @@ const DevStatusWidget = { moduleStatus: [ { name: 'SecuBox Central Hub', version: '0.3.1', note: 'Dashboard central' }, { name: 'System Hub', version: '0.3.2', note: 'Centre de contrôle' }, - { name: 'Traffic Shaper', version: '0.2.2', note: 'CAKE / fq_codel / HTB' }, - { name: 'CrowdSec Dashboard', version: '0.2.2', note: 'Détection d’intrusions' }, - { name: 'Netdata Dashboard', version: '0.2.2', note: 'Monitoring temps réel' }, - { name: 'Netifyd Dashboard', version: '0.2.2', note: 'Intelligence applicative' }, + { name: 'Traffic Shaper', version: '0.4.0', note: 'CAKE / fq_codel / HTB' }, + { name: 'CrowdSec Dashboard', version: '0.4.0', note: 'Détection d’intrusions' }, + { name: 'Netdata Dashboard', version: '0.4.0', note: 'Monitoring temps réel' }, + { name: 'Netifyd Dashboard', version: '0.4.0', note: 'Intelligence applicative' }, { name: 'Network Modes', version: '0.3.1', note: '5 topologies réseau' }, - { name: 'WireGuard Dashboard', version: '0.2.2', note: 'VPN + QR codes' }, - { name: 'Auth Guardian', version: '0.2.2', note: 'OAuth / vouchers' }, - { name: 'Client Guardian', version: '0.2.2', note: 'Patch portail captif + montée en version' }, - { name: 'Bandwidth Manager', version: '0.2.2', note: 'QoS + quotas' }, - { name: 'Media Flow', version: '0.2.2', note: 'DPI streaming' }, - { name: 'CDN Cache', version: '0.2.2', note: 'Cache contenu local' }, - { name: 'VHost Manager', version: '0.2.2', note: 'Reverse proxy / SSL' }, - { name: 'KSM Manager', version: '0.2.2', note: 'Gestion clés / HSM' } + { name: 'WireGuard Dashboard', version: '0.4.0', note: 'VPN + QR codes' }, + { name: 'Auth Guardian', version: '0.4.0', note: 'OAuth / vouchers' }, + { name: 'Client Guardian', version: '0.4.0', note: 'Patch portail captif + montée en version' }, + { name: 'Bandwidth Manager', version: '0.4.0', note: 'QoS + quotas' }, + { name: 'Media Flow', version: '0.4.0', note: 'DPI streaming' }, + { name: 'CDN Cache', version: '0.4.1', note: 'Cache contenu local' }, + { name: 'VHost Manager', version: '0.4.1', note: 'Reverse proxy / SSL' }, + { name: 'KSM Manager', version: '0.4.0', note: 'Gestion clés / HSM' } ], // Overall project statistics diff --git a/luci-app-traffic-shaper/Makefile b/luci-app-traffic-shaper/Makefile index 1755ba19..b9facba7 100644 --- a/luci-app-traffic-shaper/Makefile +++ b/luci-app-traffic-shaper/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-traffic-shaper -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=CyberMind diff --git a/luci-app-traffic-shaper/README.md b/luci-app-traffic-shaper/README.md index 6b9d1867..76a34d6d 100644 --- a/luci-app-traffic-shaper/README.md +++ b/luci-app-traffic-shaper/README.md @@ -1,6 +1,6 @@ # Traffic Shaper - Advanced QoS Control -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/traffic-shaper/api.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/traffic-shaper/api.js index 85e5d249..171282ea 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/traffic-shaper/api.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/traffic-shaper/api.js @@ -7,7 +7,7 @@ * Handles all RPC calls to the traffic-shaper backend */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.traffic-shaper', @@ -130,7 +130,7 @@ return baseclass.extend({ * Format bandwidth value for display */ -// Version: 0.2.2 +// Version: 0.4.0 formatBandwidth: function(value) { if (!value) return '0 bit/s'; @@ -152,7 +152,7 @@ return baseclass.extend({ * Format bytes for display */ -// Version: 0.2.2 +// Version: 0.4.0 formatBytes: function(bytes) { if (!bytes || bytes === 0) return '0 B'; @@ -166,7 +166,7 @@ return baseclass.extend({ * Get priority label */ -// Version: 0.2.2 +// Version: 0.4.0 getPriorityLabel: function(priority) { if (priority <= 2) return _('High'); if (priority <= 4) return _('Medium'); @@ -178,7 +178,7 @@ return baseclass.extend({ * Get priority color class */ -// Version: 0.2.2 +// Version: 0.4.0 getPriorityColor: function(priority) { if (priority <= 2) return 'high-priority'; if (priority <= 4) return 'medium-priority'; diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/classes.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/classes.js index daf03bc3..5cdd5770 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/classes.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/classes.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require ui'; 'require traffic-shaper/api as API'; diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/overview.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/overview.js index 2ad065eb..c21a6690 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/overview.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require traffic-shaper/api as API'; diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/presets.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/presets.js index aa18fd6b..a206ca5b 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/presets.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/presets.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require dom'; 'require traffic-shaper/api as API'; diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/rules.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/rules.js index c08b22ca..f9484650 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/rules.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/rules.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require form'; 'require uci'; 'require traffic-shaper/api as API'; diff --git a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/stats.js b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/stats.js index 3484db89..46fe1bd4 100644 --- a/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/stats.js +++ b/luci-app-traffic-shaper/htdocs/luci-static/resources/view/traffic-shaper/stats.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require poll'; 'require traffic-shaper/api as API'; diff --git a/luci-app-wireguard-dashboard/Makefile b/luci-app-wireguard-dashboard/Makefile index 0121b776..d3d9a561 100644 --- a/luci-app-wireguard-dashboard/Makefile +++ b/luci-app-wireguard-dashboard/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-wireguard-dashboard -PKG_VERSION:=0.2.2 +PKG_VERSION:=0.4.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 diff --git a/luci-app-wireguard-dashboard/README.md b/luci-app-wireguard-dashboard/README.md index a0179cd9..f522a24e 100644 --- a/luci-app-wireguard-dashboard/README.md +++ b/luci-app-wireguard-dashboard/README.md @@ -1,6 +1,6 @@ # LuCI WireGuard Dashboard -**Version:** 1.0.0 +**Version:** 0.4.0 **Last Updated:** 2025-12-28 **Status:** Active diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/config.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/config.js index ea8983ce..f22ef5fa 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/config.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/config.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require ui'; 'require wireguard-dashboard.api as api'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/overview.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/overview.js index 7ff32b0a..54cfcd03 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/overview.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/overview.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/peers.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/peers.js index 7388d146..381007e7 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/peers.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/peers.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/qrcodes.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/qrcodes.js index 653bc360..b79d6b89 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/qrcodes.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/qrcodes.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require dom'; 'require ui'; 'require wireguard-dashboard.api as api'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/settings.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/settings.js index 2878cd57..e517e7b6 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/settings.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/settings.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require ui'; 'require wireguard-dashboard.api as API'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/traffic.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/traffic.js index 67c96b38..b70c8ea5 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/traffic.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/view/wireguard-dashboard/traffic.js @@ -1,5 +1,6 @@ 'use strict'; 'require view'; +'require secubox-theme/bootstrap as Theme'; 'require poll'; 'require dom'; 'require ui'; diff --git a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/wireguard-dashboard/api.js b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/wireguard-dashboard/api.js index aff7355d..4b9a8bd2 100644 --- a/luci-app-wireguard-dashboard/htdocs/luci-static/resources/wireguard-dashboard/api.js +++ b/luci-app-wireguard-dashboard/htdocs/luci-static/resources/wireguard-dashboard/api.js @@ -8,7 +8,7 @@ * RPCD object: luci.wireguard-dashboard */ -// Version: 0.2.2 +// Version: 0.4.0 var callStatus = rpc.declare({ object: 'luci.wireguard-dashboard', diff --git a/luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/bootstrap.js b/luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/bootstrap.js new file mode 100644 index 00000000..de543487 --- /dev/null +++ b/luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/bootstrap.js @@ -0,0 +1,46 @@ +'use strict'; +'require secubox-theme/theme as Theme'; + +var initialized = false; + +function detectLanguage() { + if (typeof L !== 'undefined' && L.env && L.env.lang) + return L.env.lang; + + if (document.documentElement && document.documentElement.getAttribute('lang')) + return document.documentElement.getAttribute('lang'); + + if (navigator.language) + return navigator.language.split('-')[0]; + + return 'en'; +} + +function ensureStylesheet() { + if (typeof document === 'undefined' || !document.head) + return; + + var href = L.resource('secubox-theme/secubox-theme.css'); + var selector = 'link[data-secubox-theme=\"true\"][href=\"' + href + '\"]'; + + if (document.querySelector(selector)) + return; + + var linkEl = document.createElement('link'); + linkEl.rel = 'stylesheet'; + linkEl.href = href; + linkEl.setAttribute('data-secubox-theme', 'true'); + document.head.appendChild(linkEl); +} + +function initTheme() { + if (initialized) + return Theme; + + initialized = true; + Theme.init({ language: detectLanguage() }); + ensureStylesheet(); + return Theme; +} + +return initTheme();