chore: align modules with secubox theme v0.4
This commit is contained in:
parent
88958eef88
commit
b8a7f83cb0
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 <contact@cybermind.fr>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Auth Guardian for OpenWrt
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require auth-guardian.api as api';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require auth-guardian.api as api';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require auth-guardian.api as api';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require auth-guardian.api as api';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
|
||||
return view.extend({
|
||||
render: function() {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require auth-guardian.api as api';
|
||||
|
||||
|
||||
@ -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 <contact@cybermind.fr>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Bandwidth Manager - QoS & Traffic Control
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
return view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
return L.view.extend({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require form';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require form';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
|
||||
return view.extend({
|
||||
render: function() {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require network';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require bandwidth-manager/api as API';
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# luci-app-client-guardian
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require uci';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require uci';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require client-guardian.api as api';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require client-guardian.api as api';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require client-guardian/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require client-guardian.api as api';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 🛡️ LuCI CrowdSec Dashboard
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require crowdsec-dashboard/api as API';
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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<Object>} 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<Object>} 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>} 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<Object>} 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<Object>} 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<Object>} 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>} 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<Object>} 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<Object>} 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<Object>} 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<Object>} 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<Object>} 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<Object>} 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>} 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<Object>} 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<Object>} 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<Object>} 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>} 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<Object>} 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<Object>} 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<Object>} 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>} 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 {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require uci';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require ksm-manager/api as KSM';
|
||||
|
||||
@ -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 <contact@cybermind.fr>
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require media-flow/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require media-flow/api as API';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require media-flow/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require media-flow/api as API';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require media-flow/api as API';
|
||||
|
||||
|
||||
@ -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 <contact@cybermind.fr>
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# LuCI Netdata Dashboard
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require netdata-dashboard/api as API';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# LuCI Netifyd Dashboard
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require netifyd-dashboard.api as API';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 <contact@cybermind.fr>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Traffic Shaper - Advanced QoS Control
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require ui';
|
||||
'require traffic-shaper/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require traffic-shaper/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require dom';
|
||||
'require traffic-shaper/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require form';
|
||||
'require uci';
|
||||
'require traffic-shaper/api as API';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require traffic-shaper/api as API';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# LuCI WireGuard Dashboard
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Version:** 0.4.0
|
||||
**Last Updated:** 2025-12-28
|
||||
**Status:** Active
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require wireguard-dashboard.api as api';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require wireguard-dashboard.api as api';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require ui';
|
||||
'require wireguard-dashboard.api as API';
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
'require view';
|
||||
'require secubox-theme/bootstrap as Theme';
|
||||
'require poll';
|
||||
'require dom';
|
||||
'require ui';
|
||||
|
||||
@ -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',
|
||||
|
||||
46
luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/bootstrap.js
vendored
Normal file
46
luci-theme-secubox/htdocs/luci-static/resources/secubox-theme/bootstrap.js
vendored
Normal file
@ -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();
|
||||
Loading…
Reference in New Issue
Block a user