secubox-openwrt/secubox-tools/show-module-status.sh
CyberMind-FR cf39eb6e1d fix: resolve validation issues across all modules
- Fixed minified RPC declaration in secubox/modules.js that caused false positive in validation
- Added 30 missing menu entries across 10 modules:
  * bandwidth-manager: clients, schedules
  * client-guardian: zones, portal, logs, alerts, parental
  * crowdsec-dashboard: metrics
  * netdata-dashboard: system, processes, realtime, network
  * netifyd-dashboard: talkers, risks, devices
  * network-modes: router, accesspoint, relay, sniffer
  * secubox: settings
  * system-hub: components, diagnostics, health, remote, settings
  * vhost-manager: internal, ssl, redirects
  * wireguard-dashboard: traffic, config
- All modules now pass comprehensive validation (0 errors, 0 warnings)

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 09:01:06 +01:00

188 lines
6.3 KiB
Bash
Executable File

#!/bin/bash
# Show SecuBox Module Status
# Quick overview of all modules and their implementation status
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
echo "========================================"
echo "SecuBox Module Status"
echo "========================================"
echo
# Count modules
total_modules=$(find "$ROOT_DIR" -maxdepth 1 -type d -name "luci-app-*" | wc -l)
echo "Total Modules: $total_modules"
echo
# Show modules by category
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Core Control Modules"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_core=(
"secubox:SecuBox Central Hub"
"system-hub:System Control Dashboard"
"traffic-shaper:Advanced QoS & Traffic Shaping"
)
for module_info in "${modules_core[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Security & Monitoring"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_security=(
"crowdsec-dashboard:CrowdSec Security"
"netdata-dashboard:System Monitoring"
)
for module_info in "${modules_security[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Network Intelligence"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_network=(
"netifyd-dashboard:Deep Packet Inspection"
"network-modes:Network Mode Configuration"
)
for module_info in "${modules_network[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "VPN & Access Control"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_vpn=(
"wireguard-dashboard:WireGuard VPN"
"client-guardian:Network Access Control"
"auth-guardian:Advanced Authentication"
)
for module_info in "${modules_vpn[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Bandwidth & Traffic Management"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_bandwidth=(
"bandwidth-manager:Bandwidth & Quota Management"
"media-flow:Media Traffic Detection"
)
for module_info in "${modules_bandwidth[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Performance & Services"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
modules_perf=(
"cdn-cache:CDN Proxy Cache"
"vhost-manager:Virtual Host Manager"
)
for module_info in "${modules_perf[@]}"; do
IFS=':' read -r module desc <<< "$module_info"
if [ -d "$ROOT_DIR/luci-app-$module" ]; then
views=$(find "$ROOT_DIR/luci-app-$module/htdocs/luci-static/resources/view" -name "*.js" 2>/dev/null | wc -l)
echo "✅ luci-app-$module"
echo " $desc"
echo " Views: $views"
echo
else
echo "❌ luci-app-$module (NOT FOUND)"
echo
fi
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Summary"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
# Count files
js_files=$(find "$ROOT_DIR"/luci-app-*/htdocs -name "*.js" 2>/dev/null | wc -l)
rpcd_files=$(find "$ROOT_DIR"/luci-app-*/root/usr/libexec/rpcd -type f 2>/dev/null | wc -l)
json_files=$(find "$ROOT_DIR"/luci-app-*/root/usr/share -name "*.json" 2>/dev/null | wc -l)
echo "Total JavaScript files: $js_files"
echo "Total RPCD backends: $rpcd_files"
echo "Total JSON config files: $json_files"
echo
# Recent commits
echo "Recent Development:"
git log --oneline --decorate -5 2>/dev/null || echo "Git history not available"
echo
echo "For detailed status, see: MODULE_STATUS.md"