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)
|
### 2. Security & Monitoring (2 modules)
|
||||||
|
|
||||||
#### luci-app-crowdsec-dashboard
|
#### luci-app-crowdsec-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: CrowdSec threat intelligence and IPS dashboard
|
- **Description**: CrowdSec threat intelligence and IPS dashboard
|
||||||
- **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings)
|
- **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings)
|
||||||
@ -107,7 +107,7 @@
|
|||||||
- **Dependencies**: crowdsec package
|
- **Dependencies**: crowdsec package
|
||||||
|
|
||||||
#### luci-app-netdata-dashboard
|
#### luci-app-netdata-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Real-time system monitoring with comprehensive metrics
|
- **Description**: Real-time system monitoring with comprehensive metrics
|
||||||
- **Views**: 6 (dashboard, system, network, processes, realtime, settings)
|
- **Views**: 6 (dashboard, system, network, processes, realtime, settings)
|
||||||
@ -130,7 +130,7 @@
|
|||||||
### 3. Network Intelligence (2 modules)
|
### 3. Network Intelligence (2 modules)
|
||||||
|
|
||||||
#### luci-app-netifyd-dashboard
|
#### luci-app-netifyd-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Deep packet inspection and application classification
|
- **Description**: Deep packet inspection and application classification
|
||||||
- **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings)
|
- **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings)
|
||||||
@ -180,7 +180,7 @@
|
|||||||
### 4. VPN & Access Control (3 modules)
|
### 4. VPN & Access Control (3 modules)
|
||||||
|
|
||||||
#### luci-app-wireguard-dashboard
|
#### luci-app-wireguard-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: WireGuard VPN management and monitoring
|
- **Description**: WireGuard VPN management and monitoring
|
||||||
- **Views**: 6 (overview, peers, config, qrcodes, traffic, settings)
|
- **Views**: 6 (overview, peers, config, qrcodes, traffic, settings)
|
||||||
@ -201,7 +201,7 @@
|
|||||||
- **Supported Clients**: iOS, Android, Windows, macOS, Linux
|
- **Supported Clients**: iOS, Android, Windows, macOS, Linux
|
||||||
|
|
||||||
#### luci-app-client-guardian
|
#### luci-app-client-guardian
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Network Access Control (NAC) and captive portal
|
- **Description**: Network Access Control (NAC) and captive portal
|
||||||
- **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings)
|
- **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings)
|
||||||
@ -223,7 +223,7 @@
|
|||||||
- **Dependencies**: nodogsplash, iptables, arptables
|
- **Dependencies**: nodogsplash, iptables, arptables
|
||||||
|
|
||||||
#### luci-app-auth-guardian
|
#### luci-app-auth-guardian
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Advanced authentication and voucher system
|
- **Description**: Advanced authentication and voucher system
|
||||||
- **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass)
|
- **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass)
|
||||||
@ -247,7 +247,7 @@
|
|||||||
### 5. Bandwidth & Traffic (3 modules)
|
### 5. Bandwidth & Traffic (3 modules)
|
||||||
|
|
||||||
#### luci-app-bandwidth-manager
|
#### luci-app-bandwidth-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Bandwidth management with QoS and quotas
|
- **Description**: Bandwidth management with QoS and quotas
|
||||||
- **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings)
|
- **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings)
|
||||||
@ -272,7 +272,7 @@
|
|||||||
- **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation"
|
- **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation"
|
||||||
|
|
||||||
#### luci-app-traffic-shaper
|
#### luci-app-traffic-shaper
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Advanced traffic shaping and QoS control
|
- **Description**: Advanced traffic shaping and QoS control
|
||||||
- **Views**: 5 (overview, classes, rules, presets, stats)
|
- **Views**: 5 (overview, classes, rules, presets, stats)
|
||||||
@ -296,7 +296,7 @@
|
|||||||
- **Validation**: ✅ All checks passed
|
- **Validation**: ✅ All checks passed
|
||||||
|
|
||||||
#### luci-app-media-flow
|
#### luci-app-media-flow
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Media traffic detection and streaming optimization
|
- **Description**: Media traffic detection and streaming optimization
|
||||||
- **Views**: 5 (dashboard, services, clients, history, alerts)
|
- **Views**: 5 (dashboard, services, clients, history, alerts)
|
||||||
@ -320,7 +320,7 @@
|
|||||||
### 6. Performance & Services (3 modules)
|
### 6. Performance & Services (3 modules)
|
||||||
|
|
||||||
#### luci-app-cdn-cache
|
#### luci-app-cdn-cache
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.1-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: CDN proxy cache for bandwidth optimization
|
- **Description**: CDN proxy cache for bandwidth optimization
|
||||||
- **Views**: 6 (overview, cache, policies, settings, maintenance, statistics)
|
- **Views**: 6 (overview, cache, policies, settings, maintenance, statistics)
|
||||||
@ -343,7 +343,7 @@
|
|||||||
- **Dependencies**: nginx-full
|
- **Dependencies**: nginx-full
|
||||||
|
|
||||||
#### luci-app-vhost-manager
|
#### luci-app-vhost-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.1-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Virtual host and reverse proxy management
|
- **Description**: Virtual host and reverse proxy management
|
||||||
- **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs)
|
- **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs)
|
||||||
@ -365,7 +365,7 @@
|
|||||||
- **Dependencies**: nginx-ssl, acme (optional)
|
- **Dependencies**: nginx-ssl, acme (optional)
|
||||||
|
|
||||||
#### luci-app-ksm-manager
|
#### luci-app-ksm-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Cryptographic key and secret management
|
- **Description**: Cryptographic key and secret management
|
||||||
- **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings)
|
- **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings)
|
||||||
@ -398,21 +398,21 @@
|
|||||||
|
|
||||||
| Module | Version | Views | JS Lines | Methods | Status |
|
| Module | Version | Views | JS Lines | Methods | Status |
|
||||||
|--------|---------|-------|----------|---------|--------|
|
|--------|---------|-------|----------|---------|--------|
|
||||||
| auth-guardian | 0.2.2-1 | 6 | 312 | 13 | ✅ Complete |
|
| auth-guardian | 0.4.0-1 | 6 | 312 | 13 | ✅ Complete |
|
||||||
| bandwidth-manager | 0.2.2-1 | 9 | 936 | 14 | ✅ Complete |
|
| bandwidth-manager | 0.4.0-1 | 9 | 936 | 14 | ✅ Complete |
|
||||||
| cdn-cache | 0.2.2-1 | 6 | 1,255 | 27 | ✅ Complete |
|
| cdn-cache | 0.4.1-1 | 6 | 1,255 | 27 | ✅ Complete |
|
||||||
| client-guardian | 0.2.2-1 | 9 | 2,293 | 29 | ✅ Complete |
|
| client-guardian | 0.4.0-1 | 9 | 2,293 | 29 | ✅ Complete |
|
||||||
| crowdsec-dashboard | 0.2.2-1 | 6 | 2,089 | 12 | ✅ Complete |
|
| crowdsec-dashboard | 0.4.0-1 | 6 | 2,089 | 12 | ✅ Complete |
|
||||||
| ksm-manager | 0.2.2-1 | 8 | 2,423 | 28 | ✅ Complete |
|
| ksm-manager | 0.4.0-1 | 8 | 2,423 | 28 | ✅ Complete |
|
||||||
| media-flow | 0.2.2-1 | 5 | 690 | 10 | ✅ Complete |
|
| media-flow | 0.4.0-1 | 5 | 690 | 10 | ✅ Complete |
|
||||||
| netdata-dashboard | 0.2.2-1 | 6 | 1,554 | 16 | ✅ Complete |
|
| netdata-dashboard | 0.4.0-1 | 6 | 1,554 | 16 | ✅ Complete |
|
||||||
| netifyd-dashboard | 0.2.2-1 | 7 | 1,376 | 12 | ✅ Complete |
|
| netifyd-dashboard | 0.4.0-1 | 7 | 1,376 | 12 | ✅ Complete |
|
||||||
| network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete |
|
| network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete |
|
||||||
| secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete |
|
| secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete |
|
||||||
| system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete |
|
| system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete |
|
||||||
| traffic-shaper | 0.2.2-1 | 5 | 985 | 16 | ✅ Complete |
|
| traffic-shaper | 0.4.0-1 | 5 | 985 | 16 | ✅ Complete |
|
||||||
| vhost-manager | 0.2.2-1 | 7 | 695 | 13 | ✅ Complete |
|
| vhost-manager | 0.4.1-1 | 7 | 695 | 13 | ✅ Complete |
|
||||||
| wireguard-dashboard | 0.2.2-1 | 6 | 1,571 | 15 | ✅ Complete |
|
| wireguard-dashboard | 0.4.0-1 | 6 | 1,571 | 15 | ✅ Complete |
|
||||||
| **TOTALS** | | **110** | **26,638** | **281** | **100%** |
|
| **TOTALS** | | **110** | **26,638** | **281** | **100%** |
|
||||||
|
|
||||||
### Code Distribution
|
### Code Distribution
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# MQTT Bridge Module
|
# MQTT Bridge Module
|
||||||
|
|
||||||
**Version:** 0.1.0
|
**Version:** 0.4.0
|
||||||
**Status:** Draft
|
**Status:** Draft
|
||||||
|
|
||||||
SecuBox MQTT Bridge exposes USB dongles and IoT sensors through a themed LuCI interface.
|
SecuBox MQTT Bridge exposes USB dongles and IoT sensors through a themed LuCI interface.
|
||||||
|
|||||||
@ -88,7 +88,7 @@
|
|||||||
### 2. Security & Monitoring (2 modules)
|
### 2. Security & Monitoring (2 modules)
|
||||||
|
|
||||||
#### luci-app-crowdsec-dashboard
|
#### luci-app-crowdsec-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: CrowdSec threat intelligence and IPS dashboard
|
- **Description**: CrowdSec threat intelligence and IPS dashboard
|
||||||
- **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings)
|
- **Views**: 6 (overview, alerts, decisions, bouncers, metrics, settings)
|
||||||
@ -107,7 +107,7 @@
|
|||||||
- **Dependencies**: crowdsec package
|
- **Dependencies**: crowdsec package
|
||||||
|
|
||||||
#### luci-app-netdata-dashboard
|
#### luci-app-netdata-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Real-time system monitoring with comprehensive metrics
|
- **Description**: Real-time system monitoring with comprehensive metrics
|
||||||
- **Views**: 6 (dashboard, system, network, processes, realtime, settings)
|
- **Views**: 6 (dashboard, system, network, processes, realtime, settings)
|
||||||
@ -130,7 +130,7 @@
|
|||||||
### 3. Network Intelligence (2 modules)
|
### 3. Network Intelligence (2 modules)
|
||||||
|
|
||||||
#### luci-app-netifyd-dashboard
|
#### luci-app-netifyd-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Deep packet inspection and application classification
|
- **Description**: Deep packet inspection and application classification
|
||||||
- **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings)
|
- **Views**: 7 (overview, flows, applications, devices, talkers, risks, settings)
|
||||||
@ -180,7 +180,7 @@
|
|||||||
### 4. VPN & Access Control (3 modules)
|
### 4. VPN & Access Control (3 modules)
|
||||||
|
|
||||||
#### luci-app-wireguard-dashboard
|
#### luci-app-wireguard-dashboard
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: WireGuard VPN management and monitoring
|
- **Description**: WireGuard VPN management and monitoring
|
||||||
- **Views**: 6 (overview, peers, config, qrcodes, traffic, settings)
|
- **Views**: 6 (overview, peers, config, qrcodes, traffic, settings)
|
||||||
@ -201,7 +201,7 @@
|
|||||||
- **Supported Clients**: iOS, Android, Windows, macOS, Linux
|
- **Supported Clients**: iOS, Android, Windows, macOS, Linux
|
||||||
|
|
||||||
#### luci-app-client-guardian
|
#### luci-app-client-guardian
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Network Access Control (NAC) and captive portal
|
- **Description**: Network Access Control (NAC) and captive portal
|
||||||
- **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings)
|
- **Views**: 9 (overview, clients, zones, alerts, parental, portal, logs, captive, settings)
|
||||||
@ -223,7 +223,7 @@
|
|||||||
- **Dependencies**: nodogsplash, iptables, arptables
|
- **Dependencies**: nodogsplash, iptables, arptables
|
||||||
|
|
||||||
#### luci-app-auth-guardian
|
#### luci-app-auth-guardian
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Advanced authentication and voucher system
|
- **Description**: Advanced authentication and voucher system
|
||||||
- **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass)
|
- **Views**: 6 (overview, sessions, vouchers, splash, oauth, bypass)
|
||||||
@ -247,7 +247,7 @@
|
|||||||
### 5. Bandwidth & Traffic (3 modules)
|
### 5. Bandwidth & Traffic (3 modules)
|
||||||
|
|
||||||
#### luci-app-bandwidth-manager
|
#### luci-app-bandwidth-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Bandwidth management with QoS and quotas
|
- **Description**: Bandwidth management with QoS and quotas
|
||||||
- **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings)
|
- **Views**: 9 (overview, rules, quotas, usage, clients, media, classes, schedules, settings)
|
||||||
@ -272,7 +272,7 @@
|
|||||||
- **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation"
|
- **Commit**: fa9bb2a - "feat: complete Bandwidth Manager implementation"
|
||||||
|
|
||||||
#### luci-app-traffic-shaper
|
#### luci-app-traffic-shaper
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Advanced traffic shaping and QoS control
|
- **Description**: Advanced traffic shaping and QoS control
|
||||||
- **Views**: 5 (overview, classes, rules, presets, stats)
|
- **Views**: 5 (overview, classes, rules, presets, stats)
|
||||||
@ -296,7 +296,7 @@
|
|||||||
- **Validation**: ✅ All checks passed
|
- **Validation**: ✅ All checks passed
|
||||||
|
|
||||||
#### luci-app-media-flow
|
#### luci-app-media-flow
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Media traffic detection and streaming optimization
|
- **Description**: Media traffic detection and streaming optimization
|
||||||
- **Views**: 5 (dashboard, services, clients, history, alerts)
|
- **Views**: 5 (dashboard, services, clients, history, alerts)
|
||||||
@ -320,7 +320,7 @@
|
|||||||
### 6. Performance & Services (3 modules)
|
### 6. Performance & Services (3 modules)
|
||||||
|
|
||||||
#### luci-app-cdn-cache
|
#### luci-app-cdn-cache
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.1-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: CDN proxy cache for bandwidth optimization
|
- **Description**: CDN proxy cache for bandwidth optimization
|
||||||
- **Views**: 6 (overview, cache, policies, settings, maintenance, statistics)
|
- **Views**: 6 (overview, cache, policies, settings, maintenance, statistics)
|
||||||
@ -343,7 +343,7 @@
|
|||||||
- **Dependencies**: nginx-full
|
- **Dependencies**: nginx-full
|
||||||
|
|
||||||
#### luci-app-vhost-manager
|
#### luci-app-vhost-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.1-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Virtual host and reverse proxy management
|
- **Description**: Virtual host and reverse proxy management
|
||||||
- **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs)
|
- **Views**: 7 (overview, vhosts, certificates, ssl, redirects, internal, logs)
|
||||||
@ -365,7 +365,7 @@
|
|||||||
- **Dependencies**: nginx-ssl, acme (optional)
|
- **Dependencies**: nginx-ssl, acme (optional)
|
||||||
|
|
||||||
#### luci-app-ksm-manager
|
#### luci-app-ksm-manager
|
||||||
- **Version**: 0.2.2-1
|
- **Version**: 0.4.0-1
|
||||||
- **Status**: ✅ In Heavily Development Stage
|
- **Status**: ✅ In Heavily Development Stage
|
||||||
- **Description**: Cryptographic key and secret management
|
- **Description**: Cryptographic key and secret management
|
||||||
- **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings)
|
- **Views**: 8 (overview, keys, certificates, secrets, hsm, ssh, audit, settings)
|
||||||
@ -398,21 +398,21 @@
|
|||||||
|
|
||||||
| Module | Version | Views | JS Lines | Methods | Status |
|
| Module | Version | Views | JS Lines | Methods | Status |
|
||||||
|--------|---------|-------|----------|---------|--------|
|
|--------|---------|-------|----------|---------|--------|
|
||||||
| auth-guardian | 0.2.2-1 | 6 | 312 | 13 | ✅ Complete |
|
| auth-guardian | 0.4.0-1 | 6 | 312 | 13 | ✅ Complete |
|
||||||
| bandwidth-manager | 0.2.2-1 | 9 | 936 | 14 | ✅ Complete |
|
| bandwidth-manager | 0.4.0-1 | 9 | 936 | 14 | ✅ Complete |
|
||||||
| cdn-cache | 0.2.2-1 | 6 | 1,255 | 27 | ✅ Complete |
|
| cdn-cache | 0.4.1-1 | 6 | 1,255 | 27 | ✅ Complete |
|
||||||
| client-guardian | 0.2.2-1 | 9 | 2,293 | 29 | ✅ Complete |
|
| client-guardian | 0.4.0-1 | 9 | 2,293 | 29 | ✅ Complete |
|
||||||
| crowdsec-dashboard | 0.2.2-1 | 6 | 2,089 | 12 | ✅ Complete |
|
| crowdsec-dashboard | 0.4.0-1 | 6 | 2,089 | 12 | ✅ Complete |
|
||||||
| ksm-manager | 0.2.2-1 | 8 | 2,423 | 28 | ✅ Complete |
|
| ksm-manager | 0.4.0-1 | 8 | 2,423 | 28 | ✅ Complete |
|
||||||
| media-flow | 0.2.2-1 | 5 | 690 | 10 | ✅ Complete |
|
| media-flow | 0.4.0-1 | 5 | 690 | 10 | ✅ Complete |
|
||||||
| netdata-dashboard | 0.2.2-1 | 6 | 1,554 | 16 | ✅ Complete |
|
| netdata-dashboard | 0.4.0-1 | 6 | 1,554 | 16 | ✅ Complete |
|
||||||
| netifyd-dashboard | 0.2.2-1 | 7 | 1,376 | 12 | ✅ Complete |
|
| netifyd-dashboard | 0.4.0-1 | 7 | 1,376 | 12 | ✅ Complete |
|
||||||
| network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete |
|
| network-modes | 0.3.1-1 | 7 | 2,104 | 34 | ✅ Complete |
|
||||||
| secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete |
|
| secubox | 0.3.1-1 | 8 | 2,906 | 33 | ✅ Complete |
|
||||||
| system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete |
|
| system-hub | 0.3.2-1 | 10 | 4,454 | 18 | ✅ Complete |
|
||||||
| traffic-shaper | 0.2.2-1 | 5 | 985 | 16 | ✅ Complete |
|
| traffic-shaper | 0.4.0-1 | 5 | 985 | 16 | ✅ Complete |
|
||||||
| vhost-manager | 0.2.2-1 | 7 | 695 | 13 | ✅ Complete |
|
| vhost-manager | 0.4.1-1 | 7 | 695 | 13 | ✅ Complete |
|
||||||
| wireguard-dashboard | 0.2.2-1 | 6 | 1,571 | 15 | ✅ Complete |
|
| wireguard-dashboard | 0.4.0-1 | 6 | 1,571 | 15 | ✅ Complete |
|
||||||
| **TOTALS** | | **110** | **26,638** | **281** | **100%** |
|
| **TOTALS** | | **110** | **26,638** | **281** | **100%** |
|
||||||
|
|
||||||
### Code Distribution
|
### Code Distribution
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-auth-guardian
|
PKG_NAME:=luci-app-auth-guardian
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Auth Guardian for OpenWrt
|
# Auth Guardian for OpenWrt
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require auth-guardian.api as api';
|
'require auth-guardian.api as api';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require auth-guardian.api as api';
|
'require auth-guardian.api as api';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require auth-guardian.api as api';
|
'require auth-guardian.api as api';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require auth-guardian.api as api';
|
'require auth-guardian.api as api';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require auth-guardian.api as api';
|
'require auth-guardian.api as api';
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-bandwidth-manager
|
PKG_NAME:=luci-app-bandwidth-manager
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Bandwidth Manager - QoS & Traffic Control
|
# Bandwidth Manager - QoS & Traffic Control
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|
||||||
return L.view.extend({
|
return L.view.extend({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require form';
|
'require form';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require form';
|
'require form';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require network';
|
'require network';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require bandwidth-manager/api as API';
|
'require bandwidth-manager/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-client-guardian
|
PKG_NAME:=luci-app-client-guardian
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# luci-app-client-guardian
|
# luci-app-client-guardian
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* RPCD object: luci.client-guardian
|
* RPCD object: luci.client-guardian
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.client-guardian',
|
object: 'luci.client-guardian',
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require uci';
|
'require uci';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require uci';
|
'require uci';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require client-guardian.api as api';
|
'require client-guardian.api as api';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require client-guardian.api as api';
|
'require client-guardian.api as api';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require client-guardian/api as API';
|
'require client-guardian/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require client-guardian.api as api';
|
'require client-guardian.api as api';
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-crowdsec-dashboard
|
PKG_NAME:=luci-app-crowdsec-dashboard
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# 🛡️ LuCI CrowdSec Dashboard
|
# 🛡️ LuCI CrowdSec Dashboard
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* RPCD object: luci.crowdsec-dashboard
|
* RPCD object: luci.crowdsec-dashboard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.crowdsec-dashboard',
|
object: 'luci.crowdsec-dashboard',
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require crowdsec-dashboard/api as API';
|
'require crowdsec-dashboard/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-ksm-manager
|
PKG_NAME:=luci-app-ksm-manager
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
LUCI_TITLE:=LuCI support for Key Storage Manager
|
LUCI_TITLE:=LuCI support for Key Storage Manager
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# LuCI App - Key Storage Manager (KSM)
|
# LuCI App - Key Storage Manager (KSM)
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* Provides RPC methods for cryptographic key management with HSM support
|
* Provides RPC methods for cryptographic key management with HSM support
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.ksm-manager',
|
object: 'luci.ksm-manager',
|
||||||
@ -164,7 +164,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Status object with running, keystore_unlocked, keys_count, hsm_connected
|
* @returns {Promise<Object>} Status object with running, keystore_unlocked, keys_count, hsm_connected
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getStatus: function() {
|
getStatus: function() {
|
||||||
return L.resolveDefault(callStatus(), {
|
return L.resolveDefault(callStatus(), {
|
||||||
running: false,
|
running: false,
|
||||||
@ -179,7 +179,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Info object with openssl_version, gpg_version, hsm_support
|
* @returns {Promise<Object>} Info object with openssl_version, gpg_version, hsm_support
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getInfo: function() {
|
getInfo: function() {
|
||||||
return L.resolveDefault(callGetInfo(), {
|
return L.resolveDefault(callGetInfo(), {
|
||||||
openssl_version: 'unknown',
|
openssl_version: 'unknown',
|
||||||
@ -193,7 +193,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Object with devices array
|
* @returns {Promise<Object>} Object with devices array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
listHsmDevices: function() {
|
listHsmDevices: function() {
|
||||||
return L.resolveDefault(callListHsmDevices(), { devices: [] });
|
return L.resolveDefault(callListHsmDevices(), { devices: [] });
|
||||||
},
|
},
|
||||||
@ -204,7 +204,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Status object with initialized, pin_retries, keys_count
|
* @returns {Promise<Object>} Status object with initialized, pin_retries, keys_count
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getHsmStatus: function(serial) {
|
getHsmStatus: function(serial) {
|
||||||
return L.resolveDefault(callGetHsmStatus(serial), {
|
return L.resolveDefault(callGetHsmStatus(serial), {
|
||||||
initialized: false,
|
initialized: false,
|
||||||
@ -221,7 +221,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success boolean
|
* @returns {Promise<Object>} Result with success boolean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
initHsm: function(serial, adminPin, userPin) {
|
initHsm: function(serial, adminPin, userPin) {
|
||||||
return callInitHsm(serial, adminPin, userPin);
|
return callInitHsm(serial, adminPin, userPin);
|
||||||
},
|
},
|
||||||
@ -235,7 +235,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success and key_id
|
* @returns {Promise<Object>} Result with success and key_id
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
generateHsmKey: function(serial, keyType, keySize, label) {
|
generateHsmKey: function(serial, keyType, keySize, label) {
|
||||||
return callGenerateHsmKey(serial, keyType, keySize, label);
|
return callGenerateHsmKey(serial, keyType, keySize, label);
|
||||||
},
|
},
|
||||||
@ -245,7 +245,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Object with keys array
|
* @returns {Promise<Object>} Object with keys array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
listKeys: function() {
|
listKeys: function() {
|
||||||
return L.resolveDefault(callListKeys(), { keys: [] });
|
return L.resolveDefault(callListKeys(), { keys: [] });
|
||||||
},
|
},
|
||||||
@ -259,7 +259,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success, id, and public_key
|
* @returns {Promise<Object>} Result with success, id, and public_key
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
generateKey: function(type, size, label, passphrase) {
|
generateKey: function(type, size, label, passphrase) {
|
||||||
return callGenerateKey(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
|
* @returns {Promise<Object>} Result with success and id
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
importKey: function(label, keyData, format, passphrase) {
|
importKey: function(label, keyData, format, passphrase) {
|
||||||
return callImportKey(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
|
* @returns {Promise<Object>} Result with success and key_data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
exportKey: function(id, format, includePrivate, passphrase) {
|
exportKey: function(id, format, includePrivate, passphrase) {
|
||||||
return callExportKey(id, format, includePrivate, passphrase || '');
|
return callExportKey(id, format, includePrivate, passphrase || '');
|
||||||
},
|
},
|
||||||
@ -299,7 +299,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success boolean
|
* @returns {Promise<Object>} Result with success boolean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
deleteKey: function(id, secureErase) {
|
deleteKey: function(id, secureErase) {
|
||||||
return callDeleteKey(id, secureErase);
|
return callDeleteKey(id, secureErase);
|
||||||
},
|
},
|
||||||
@ -312,7 +312,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success and csr
|
* @returns {Promise<Object>} Result with success and csr
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
generateCsr: function(keyId, subjectDn, sanList) {
|
generateCsr: function(keyId, subjectDn, sanList) {
|
||||||
return callGenerateCsr(keyId, subjectDn, sanList || []);
|
return callGenerateCsr(keyId, subjectDn, sanList || []);
|
||||||
},
|
},
|
||||||
@ -325,7 +325,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success and cert_id
|
* @returns {Promise<Object>} Result with success and cert_id
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
importCertificate: function(keyId, certData, chain) {
|
importCertificate: function(keyId, certData, chain) {
|
||||||
return callImportCertificate(keyId, certData, chain || '');
|
return callImportCertificate(keyId, certData, chain || '');
|
||||||
},
|
},
|
||||||
@ -335,7 +335,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Object with certificates array
|
* @returns {Promise<Object>} Object with certificates array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
listCertificates: function() {
|
listCertificates: function() {
|
||||||
return L.resolveDefault(callListCertificates(), { certificates: [] });
|
return L.resolveDefault(callListCertificates(), { certificates: [] });
|
||||||
},
|
},
|
||||||
@ -346,7 +346,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with valid, chain_valid, expires_in_days
|
* @returns {Promise<Object>} Result with valid, chain_valid, expires_in_days
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
verifyCertificate: function(certId) {
|
verifyCertificate: function(certId) {
|
||||||
return callVerifyCertificate(certId);
|
return callVerifyCertificate(certId);
|
||||||
},
|
},
|
||||||
@ -360,7 +360,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success and secret_id
|
* @returns {Promise<Object>} Result with success and secret_id
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
storeSecret: function(label, secretData, category, autoRotate) {
|
storeSecret: function(label, secretData, category, autoRotate) {
|
||||||
return callStoreSecret(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
|
* @returns {Promise<Object>} Result with success, secret_data, accessed_at
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
retrieveSecret: function(secretId) {
|
retrieveSecret: function(secretId) {
|
||||||
return callRetrieveSecret(secretId);
|
return callRetrieveSecret(secretId);
|
||||||
},
|
},
|
||||||
@ -381,7 +381,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Object with secrets array
|
* @returns {Promise<Object>} Object with secrets array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
listSecrets: function() {
|
listSecrets: function() {
|
||||||
return L.resolveDefault(callListSecrets(), { secrets: [] });
|
return L.resolveDefault(callListSecrets(), { secrets: [] });
|
||||||
},
|
},
|
||||||
@ -393,7 +393,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success and version
|
* @returns {Promise<Object>} Result with success and version
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
rotateSecret: function(secretId, newSecretData) {
|
rotateSecret: function(secretId, newSecretData) {
|
||||||
return callRotateSecret(secretId, newSecretData);
|
return callRotateSecret(secretId, newSecretData);
|
||||||
},
|
},
|
||||||
@ -406,7 +406,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success, key_id, public_key
|
* @returns {Promise<Object>} Result with success, key_id, public_key
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
generateSshKey: function(label, keyType, comment) {
|
generateSshKey: function(label, keyType, comment) {
|
||||||
return callGenerateSshKey(label, keyType, comment || '');
|
return callGenerateSshKey(label, keyType, comment || '');
|
||||||
},
|
},
|
||||||
@ -419,7 +419,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Result with success boolean
|
* @returns {Promise<Object>} Result with success boolean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
deploySshKey: function(keyId, targetHost, targetUser) {
|
deploySshKey: function(keyId, targetHost, targetUser) {
|
||||||
return callDeploySshKey(keyId, targetHost, targetUser);
|
return callDeploySshKey(keyId, targetHost, targetUser);
|
||||||
},
|
},
|
||||||
@ -432,7 +432,7 @@ return baseclass.extend({
|
|||||||
* @returns {Promise<Object>} Object with logs array
|
* @returns {Promise<Object>} Object with logs array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getAuditLogs: function(limit, offset, filterType) {
|
getAuditLogs: function(limit, offset, filterType) {
|
||||||
return L.resolveDefault(callGetAuditLogs(limit || 100, offset || 0, filterType || ''), { logs: [] });
|
return L.resolveDefault(callGetAuditLogs(limit || 100, offset || 0, filterType || ''), { logs: [] });
|
||||||
},
|
},
|
||||||
@ -443,7 +443,7 @@ return baseclass.extend({
|
|||||||
* @returns {string} Formatted type
|
* @returns {string} Formatted type
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
formatKeyType: function(type) {
|
formatKeyType: function(type) {
|
||||||
var types = {
|
var types = {
|
||||||
'rsa': 'RSA',
|
'rsa': 'RSA',
|
||||||
@ -462,7 +462,7 @@ return baseclass.extend({
|
|||||||
* @returns {string} Formatted storage
|
* @returns {string} Formatted storage
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
formatStorage: function(storage) {
|
formatStorage: function(storage) {
|
||||||
return storage === 'hsm' ? 'Hardware' : 'Software';
|
return storage === 'hsm' ? 'Hardware' : 'Software';
|
||||||
},
|
},
|
||||||
@ -473,7 +473,7 @@ return baseclass.extend({
|
|||||||
* @returns {string} Color class
|
* @returns {string} Color class
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getCertStatusColor: function(daysRemaining) {
|
getCertStatusColor: function(daysRemaining) {
|
||||||
if (daysRemaining < 0) return 'gray';
|
if (daysRemaining < 0) return 'gray';
|
||||||
if (daysRemaining < 7) return 'red';
|
if (daysRemaining < 7) return 'red';
|
||||||
@ -487,7 +487,7 @@ return baseclass.extend({
|
|||||||
* @returns {string} Formatted date
|
* @returns {string} Formatted date
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
formatTimestamp: function(timestamp) {
|
formatTimestamp: function(timestamp) {
|
||||||
if (!timestamp) return 'N/A';
|
if (!timestamp) return 'N/A';
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require uci';
|
'require uci';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require ksm-manager/api as KSM';
|
'require ksm-manager/api as KSM';
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-media-flow
|
PKG_NAME:=luci-app-media-flow
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# LuCI Media Flow - Streaming Detection & Monitoring
|
# LuCI Media Flow - Streaming Detection & Monitoring
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require media-flow/api as API';
|
'require media-flow/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require media-flow/api as API';
|
'require media-flow/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require media-flow/api as API';
|
'require media-flow/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require media-flow/api as API';
|
'require media-flow/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require media-flow/api as API';
|
'require media-flow/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-mqtt-bridge
|
PKG_NAME:=luci-app-mqtt-bridge
|
||||||
PKG_VERSION:=0.1.0
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=2
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# SecuBox MQTT Bridge
|
# SecuBox MQTT Bridge
|
||||||
|
|
||||||
**Version:** 0.1.0
|
**Version:** 0.4.0
|
||||||
**Status:** Draft
|
**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.
|
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
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-netdata-dashboard
|
PKG_NAME:=luci-app-netdata-dashboard
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# LuCI Netdata Dashboard
|
# LuCI Netdata Dashboard
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* RPCD object: luci.netdata-dashboard
|
* RPCD object: luci.netdata-dashboard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
// System stats methods (from RPCD backend)
|
// System stats methods (from RPCD backend)
|
||||||
var callStats = rpc.declare({
|
var callStats = rpc.declare({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require netdata-dashboard/api as API';
|
'require netdata-dashboard/api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-netifyd-dashboard
|
PKG_NAME:=luci-app-netifyd-dashboard
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# LuCI Netifyd Dashboard
|
# LuCI Netifyd Dashboard
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* RPCD object: luci.netifyd-dashboard
|
* RPCD object: luci.netifyd-dashboard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.netifyd-dashboard',
|
object: 'luci.netifyd-dashboard',
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require netifyd-dashboard.api as API';
|
'require netifyd-dashboard.api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -86,19 +86,19 @@ const DevStatusWidget = {
|
|||||||
moduleStatus: [
|
moduleStatus: [
|
||||||
{ name: 'SecuBox Central Hub', version: '0.3.1', note: 'Dashboard central' },
|
{ name: 'SecuBox Central Hub', version: '0.3.1', note: 'Dashboard central' },
|
||||||
{ name: 'System Hub', version: '0.3.2', note: 'Centre de contrôle' },
|
{ 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: 'Traffic Shaper', version: '0.4.0', note: 'CAKE / fq_codel / HTB' },
|
||||||
{ name: 'CrowdSec Dashboard', version: '0.2.2', note: 'Détection d’intrusions' },
|
{ name: 'CrowdSec Dashboard', version: '0.4.0', note: 'Détection d’intrusions' },
|
||||||
{ name: 'Netdata Dashboard', version: '0.2.2', note: 'Monitoring temps réel' },
|
{ name: 'Netdata Dashboard', version: '0.4.0', note: 'Monitoring temps réel' },
|
||||||
{ name: 'Netifyd Dashboard', version: '0.2.2', note: 'Intelligence applicative' },
|
{ name: 'Netifyd Dashboard', version: '0.4.0', note: 'Intelligence applicative' },
|
||||||
{ name: 'Network Modes', version: '0.3.1', note: '5 topologies réseau' },
|
{ name: 'Network Modes', version: '0.3.1', note: '5 topologies réseau' },
|
||||||
{ name: 'WireGuard Dashboard', version: '0.2.2', note: 'VPN + QR codes' },
|
{ name: 'WireGuard Dashboard', version: '0.4.0', note: 'VPN + QR codes' },
|
||||||
{ name: 'Auth Guardian', version: '0.2.2', note: 'OAuth / vouchers' },
|
{ name: 'Auth Guardian', version: '0.4.0', note: 'OAuth / vouchers' },
|
||||||
{ name: 'Client Guardian', version: '0.2.2', note: 'Patch portail captif + montée en version' },
|
{ name: 'Client Guardian', version: '0.4.0', note: 'Patch portail captif + montée en version' },
|
||||||
{ name: 'Bandwidth Manager', version: '0.2.2', note: 'QoS + quotas' },
|
{ name: 'Bandwidth Manager', version: '0.4.0', note: 'QoS + quotas' },
|
||||||
{ name: 'Media Flow', version: '0.2.2', note: 'DPI streaming' },
|
{ name: 'Media Flow', version: '0.4.0', note: 'DPI streaming' },
|
||||||
{ name: 'CDN Cache', version: '0.2.2', note: 'Cache contenu local' },
|
{ name: 'CDN Cache', version: '0.4.1', note: 'Cache contenu local' },
|
||||||
{ name: 'VHost Manager', version: '0.2.2', note: 'Reverse proxy / SSL' },
|
{ name: 'VHost Manager', version: '0.4.1', note: 'Reverse proxy / SSL' },
|
||||||
{ name: 'KSM Manager', version: '0.2.2', note: 'Gestion clés / HSM' }
|
{ name: 'KSM Manager', version: '0.4.0', note: 'Gestion clés / HSM' }
|
||||||
],
|
],
|
||||||
|
|
||||||
// Overall project statistics
|
// Overall project statistics
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-traffic-shaper
|
PKG_NAME:=luci-app-traffic-shaper
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Traffic Shaper - Advanced QoS Control
|
# Traffic Shaper - Advanced QoS Control
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
* Handles all RPC calls to the traffic-shaper backend
|
* Handles all RPC calls to the traffic-shaper backend
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.traffic-shaper',
|
object: 'luci.traffic-shaper',
|
||||||
@ -130,7 +130,7 @@ return baseclass.extend({
|
|||||||
* Format bandwidth value for display
|
* Format bandwidth value for display
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
formatBandwidth: function(value) {
|
formatBandwidth: function(value) {
|
||||||
if (!value) return '0 bit/s';
|
if (!value) return '0 bit/s';
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ return baseclass.extend({
|
|||||||
* Format bytes for display
|
* Format bytes for display
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
formatBytes: function(bytes) {
|
formatBytes: function(bytes) {
|
||||||
if (!bytes || bytes === 0) return '0 B';
|
if (!bytes || bytes === 0) return '0 B';
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ return baseclass.extend({
|
|||||||
* Get priority label
|
* Get priority label
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getPriorityLabel: function(priority) {
|
getPriorityLabel: function(priority) {
|
||||||
if (priority <= 2) return _('High');
|
if (priority <= 2) return _('High');
|
||||||
if (priority <= 4) return _('Medium');
|
if (priority <= 4) return _('Medium');
|
||||||
@ -178,7 +178,7 @@ return baseclass.extend({
|
|||||||
* Get priority color class
|
* Get priority color class
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
getPriorityColor: function(priority) {
|
getPriorityColor: function(priority) {
|
||||||
if (priority <= 2) return 'high-priority';
|
if (priority <= 2) return 'high-priority';
|
||||||
if (priority <= 4) return 'medium-priority';
|
if (priority <= 4) return 'medium-priority';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require traffic-shaper/api as API';
|
'require traffic-shaper/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require traffic-shaper/api as API';
|
'require traffic-shaper/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require traffic-shaper/api as API';
|
'require traffic-shaper/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require form';
|
'require form';
|
||||||
'require uci';
|
'require uci';
|
||||||
'require traffic-shaper/api as API';
|
'require traffic-shaper/api as API';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require traffic-shaper/api as API';
|
'require traffic-shaper/api as API';
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-wireguard-dashboard
|
PKG_NAME:=luci-app-wireguard-dashboard
|
||||||
PKG_VERSION:=0.2.2
|
PKG_VERSION:=0.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# LuCI WireGuard Dashboard
|
# LuCI WireGuard Dashboard
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 0.4.0
|
||||||
**Last Updated:** 2025-12-28
|
**Last Updated:** 2025-12-28
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require wireguard-dashboard.api as api';
|
'require wireguard-dashboard.api as api';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require wireguard-dashboard.api as api';
|
'require wireguard-dashboard.api as api';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require ui';
|
'require ui';
|
||||||
'require wireguard-dashboard.api as API';
|
'require wireguard-dashboard.api as API';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
'require view';
|
'require view';
|
||||||
|
'require secubox-theme/bootstrap as Theme';
|
||||||
'require poll';
|
'require poll';
|
||||||
'require dom';
|
'require dom';
|
||||||
'require ui';
|
'require ui';
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* RPCD object: luci.wireguard-dashboard
|
* RPCD object: luci.wireguard-dashboard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Version: 0.2.2
|
// Version: 0.4.0
|
||||||
|
|
||||||
var callStatus = rpc.declare({
|
var callStatus = rpc.declare({
|
||||||
object: 'luci.wireguard-dashboard',
|
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