diff --git a/DOCS/MODULE_STATUS.md b/DOCS/MODULE_STATUS.md index c44f2ed..bce99cc 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 6c76a83..e89eb40 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 257a969..e114a01 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 3b27c08..274c328 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 c287667..63cfa34 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 3e50020..5d17db8 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 430b81d..010bb8f 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 7b8b732..d1bd81d 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 7ff4260..b337e62 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 857fecf..d124132 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 029b64f..b4f7a08 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 ec2183c..e38588e 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 cde7c85..ae418b6 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 b626434..654efed 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 1b4ec96..39ba445 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 de4c73e..ed6c5f4 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 7a46c82..72ee022 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 2364a6c..9849ca7 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 16a75b4..e925184 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 b2adc37..29280a7 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 ce6b0d4..c273e67 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 38ae76b..53994a3 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 f9b9f98..ee7c791 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 f9e92ab..8434ec2 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 c2c6995..8494c43 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 798c7ec..566d1e9 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 0aae000..f85ed5a 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 5b08821..50fd561 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 4048461..af93db4 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 43bb036..616e060 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 1b8cb12..7d15ddd 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 b8cc1b0..98d7fdd 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 939423f..5c18262 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 1e43c91..a169ccc 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 f5df0f2..5e962cb 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 33c95be..4abb15b 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 6369d22..26331b3 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 a7f7ed7..8cd82d1 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 47134d0..cda106c 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 bb5ab4a..0844bd2 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 a46bbaf..a1f1d50 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 5741a30..21402b3 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 70eeecd..56cbe8e 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 d146973..207844e 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 6b1359a..2c1440d 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 02278e8..247ffde 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 b5e579b..854ccab 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 34e1e7a..99d1f15 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 9ccd44d..11e2415 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 8e7e640..30b9b97 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 6bae14f..23375ce 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 b8a03a6..cf30ba6 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 3ddf0cd..215c1f3 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 3c8f342..da1a345 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 7df4a15..cea0c98 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 79d8c84..7f194f4 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 6d10755..0856fdb 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 e2548d8..26e3197 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 22c0be2..5dfc70f 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 f2b64bc..047e8f2 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 ba82fe3..237a712 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 3abb0c3..1fc3ea0 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 805f7e9..36a2711 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 163bb69..d439b43 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 f5f9f45..0e87179 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 c2e4377..7065941 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 f92b0cb..53905dd 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 8138bc0..ece646a 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 e126978..182f873 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 59d577e..8dd6f7a 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 629886d..f14d94c 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 9e2f587..3fe6032 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 9160be8..9b23b77 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 26e70ab..1af19ab 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 71c0a3a..68ee0c8 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 3d549b3..1f289b7 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 2f59cfd..376eefd 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 f9a1477..7b6a1f7 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 89b565e..185deb2 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 045409d..810d856 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 f8db860..de80417 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 7731b1b..5b22c55 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 1755ba1..b9facba 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 6b9d186..76a34d6 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 85e5d24..171282e 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 daf03bc..5cdd577 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 2ad065e..c21a669 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 aa18fd6..a206ca5 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 c08b22c..f948465 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 3484db8..46fe1bd 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 0121b77..d3d9a56 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 a0179cd..f522a24 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 ea8983c..f22ef5f 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 7ff32b0..54cfcd0 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 7388d14..381007e 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 653bc36..b79d6b8 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 2878cd5..e517e7b 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 67c96b3..b70c8ea 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 aff7355..4b9a8bd 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 0000000..de54348 --- /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();