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

View File

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

View File

@ -1,10 +1,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-bandwidth-manager
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
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_DESCRIPTION:=Advanced bandwidth management with QoS rules, client quotas, and SQM integration

View File

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

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-cdn-cache
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

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

View File

@ -4,7 +4,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-ksm-manager
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
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.
LUCI_PKGARCH:=all
PKG_MAINTAINER:=SecuBox Project <secubox@example.com>
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
PKG_LICENSE:=Apache-2.0
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -1,4 +1,5 @@
'use strict';
'require baseclass';
'require rpc';
'require uci';
@ -155,7 +156,7 @@ var callGetAuditLogs = rpc.declare({
expect: { logs: [] }
});
return {
return baseclass.extend({
/**
* Get KSM service status
* @returns {Promise<Object>} Status object with running, keystore_unlocked, keys_count, hsm_connected
@ -442,4 +443,4 @@ return {
return timestamp;
}
}
};
});

View File

@ -4,7 +4,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-media-flow
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-traffic-shaper
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

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

View File

@ -4,7 +4,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-vhost-manager
PKG_VERSION:=1.0.0
PKG_VERSION:=0.0.9
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

View File

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

View File

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