fix: Standardize all plugins to v0.0.9 with unified patterns

- Update all 13 plugins maintainer to CyberMind <contact@cybermind.fr>
- Set version to 0.0.9 for internal release
- Fix API modules to use baseclass.extend() pattern (6 plugins)
- Ensure all RPCD scripts use luci.* prefix
- Validate menu/view/ACL coherence across all modules

Affected plugins:
- luci-app-auth-guardian
- luci-app-bandwidth-manager
- luci-app-cdn-cache
- luci-app-client-guardian
- luci-app-crowdsec-dashboard
- luci-app-ksm-manager
- luci-app-media-flow
- luci-app-netdata-dashboard
- luci-app-netifyd-dashboard
- luci-app-network-modes
- luci-app-traffic-shaper
- luci-app-vhost-manager
- luci-app-wireguard-dashboard

Validation: All modules pass validate-modules.sh checks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2025-12-26 16:33:03 +01:00
parent bb795c8516
commit 4bdda363a0
19 changed files with 38 additions and 32 deletions

View File

@ -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:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=MIT PKG_LICENSE:=MIT
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
// Status and overview // Status and overview
@ -79,7 +80,7 @@ var callGetLogs = rpc.declare({
expect: { logs: [] } expect: { logs: [] }
}); });
return { return baseclass.extend({
getStatus: callStatus, getStatus: callStatus,
listProviders: callListProviders, listProviders: callListProviders,
setProvider: callSetProvider, setProvider: callSetProvider,
@ -91,4 +92,4 @@ return {
listSessions: callListSessions, listSessions: callListSessions,
revokeSession: callRevokeSession, revokeSession: callRevokeSession,
getLogs: callGetLogs getLogs: callGetLogs
}; });

View File

@ -1,10 +1,10 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-bandwidth-manager PKG_NAME:=luci-app-bandwidth-manager
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=SecuBox Project <support@secubox.com> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=Bandwidth Manager - QoS & Traffic Control LUCI_TITLE:=Bandwidth Manager - QoS & Traffic Control
LUCI_DESCRIPTION:=Advanced bandwidth management with QoS rules, client quotas, and SQM integration LUCI_DESCRIPTION:=Advanced bandwidth management with QoS rules, client quotas, and SQM integration

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
var callStatus = rpc.declare({ var callStatus = rpc.declare({
@ -79,7 +80,7 @@ var callGetClasses = rpc.declare({
expect: { classes: [] } expect: { classes: [] }
}); });
return { return baseclass.extend({
getStatus: callStatus, getStatus: callStatus,
listRules: callListRules, listRules: callListRules,
addRule: callAddRule, addRule: callAddRule,
@ -92,4 +93,4 @@ return {
getUsageHistory: callGetUsageHistory, getUsageHistory: callGetUsageHistory,
getMedia: callGetMedia, getMedia: callGetMedia,
getClasses: callGetClasses getClasses: callGetClasses
}; });

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-cdn-cache PKG_NAME:=luci-app-cdn-cache
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
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>

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-client-guardian PKG_NAME:=luci-app-client-guardian
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI Client Guardian Dashboard LUCI_TITLE:=LuCI Client Guardian Dashboard
LUCI_DESCRIPTION:=Network Access Control with client monitoring, zone management, captive portal, parental controls, and SMS/email alerts LUCI_DESCRIPTION:=Network Access Control with client monitoring, zone management, captive portal, parental controls, and SMS/email alerts

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-crowdsec-dashboard PKG_NAME:=luci-app-crowdsec-dashboard
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI CrowdSec Dashboard LUCI_TITLE:=LuCI CrowdSec Dashboard
LUCI_DESCRIPTION:=Real-time security monitoring dashboard for CrowdSec on OpenWrt LUCI_DESCRIPTION:=Real-time security monitoring dashboard for CrowdSec on OpenWrt

View File

@ -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:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
LUCI_TITLE:=LuCI support for Key Storage Manager LUCI_TITLE:=LuCI support for Key Storage Manager
@ -13,7 +13,7 @@ LUCI_DESCRIPTION:=Centralized cryptographic key management with hardware securit
Provides secure key storage, certificate management, SSH key handling, and secret storage with audit logging. Provides secure key storage, certificate management, SSH key handling, and secret storage with audit logging.
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
PKG_MAINTAINER:=SecuBox Project <secubox@example.com> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
include $(TOPDIR)/feeds/luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
'require uci'; 'require uci';
@ -155,7 +156,7 @@ var callGetAuditLogs = rpc.declare({
expect: { logs: [] } expect: { logs: [] }
}); });
return { return baseclass.extend({
/** /**
* Get KSM service status * Get KSM service status
* @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
@ -442,4 +443,4 @@ return {
return timestamp; return timestamp;
} }
} }
}; });

View File

@ -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:=1.0.0 PKG_VERSION:=0.0.9
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>

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
var callStatus = rpc.declare({ var callStatus = rpc.declare({
@ -52,7 +53,7 @@ var callListAlerts = rpc.declare({
expect: { alerts: [] } expect: { alerts: [] }
}); });
return { return baseclass.extend({
getStatus: callStatus, getStatus: callStatus,
getActiveStreams: callGetActiveStreams, getActiveStreams: callGetActiveStreams,
getStreamHistory: callGetStreamHistory, getStreamHistory: callGetStreamHistory,
@ -61,4 +62,4 @@ return {
getServiceDetails: callGetServiceDetails, getServiceDetails: callGetServiceDetails,
setAlert: callSetAlert, setAlert: callSetAlert,
listAlerts: callListAlerts listAlerts: callListAlerts
}; });

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-netdata-dashboard PKG_NAME:=luci-app-netdata-dashboard
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI Netdata Dashboard LUCI_TITLE:=LuCI Netdata Dashboard
LUCI_DESCRIPTION:=Real-time system monitoring dashboard with Netdata integration for OpenWrt LUCI_DESCRIPTION:=Real-time system monitoring dashboard with Netdata integration for OpenWrt

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-netifyd-dashboard PKG_NAME:=luci-app-netifyd-dashboard
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI Netifyd Dashboard LUCI_TITLE:=LuCI Netifyd Dashboard
LUCI_DESCRIPTION:=Network Intelligence dashboard with Deep Packet Inspection for OpenWrt LUCI_DESCRIPTION:=Network Intelligence dashboard with Deep Packet Inspection for OpenWrt

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-network-modes PKG_NAME:=luci-app-network-modes
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI Network Modes Dashboard LUCI_TITLE:=LuCI Network Modes Dashboard
LUCI_DESCRIPTION:=Configure OpenWrt for different network modes: Sniffer, Access Point, Relay, Router LUCI_DESCRIPTION:=Configure OpenWrt for different network modes: Sniffer, Access Point, Relay, Router

View File

@ -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:=1.0.0 PKG_VERSION:=0.0.9
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>

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
/** /**
@ -78,7 +79,7 @@ var callListPresets = rpc.declare({
expect: { presets: [] } expect: { presets: [] }
}); });
return L.Class.extend({ return baseclass.extend({
getStatus: function() { getStatus: function() {
return L.resolveDefault(callStatus(), {}); return L.resolveDefault(callStatus(), {});
}, },

View File

@ -4,7 +4,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-vhost-manager PKG_NAME:=luci-app-vhost-manager
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
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>

View File

@ -1,4 +1,5 @@
'use strict'; 'use strict';
'require baseclass';
'require rpc'; 'require rpc';
var callStatus = rpc.declare({ var callStatus = rpc.declare({
@ -74,7 +75,7 @@ var callGetAccessLogs = rpc.declare({
expect: { logs: [] } expect: { logs: [] }
}); });
return { return baseclass.extend({
getStatus: callStatus, getStatus: callStatus,
listVHosts: callListVHosts, listVHosts: callListVHosts,
getVHost: callGetVHost, getVHost: callGetVHost,
@ -86,4 +87,4 @@ return {
listCerts: callListCerts, listCerts: callListCerts,
reloadNginx: callReloadNginx, reloadNginx: callReloadNginx,
getAccessLogs: callGetAccessLogs getAccessLogs: callGetAccessLogs
}; });

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-wireguard-dashboard PKG_NAME:=luci-app-wireguard-dashboard
PKG_VERSION:=1.0.0 PKG_VERSION:=0.0.9
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Gandalf <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
LUCI_TITLE:=LuCI WireGuard Dashboard LUCI_TITLE:=LuCI WireGuard Dashboard
LUCI_DESCRIPTION:=Modern dashboard for WireGuard VPN monitoring on OpenWrt LUCI_DESCRIPTION:=Modern dashboard for WireGuard VPN monitoring on OpenWrt