]> ### 2026.08.21.r011 - CA-Vorschau-Fix: asynchrone Bun-Dateiprüfungen werden korrekt abgewartet; freie Container- und Templatenamen werden nicht mehr fälschlich als belegt gemeldet. ### 2026.08.21.r010 - Sieben kompakte Unraid-Lesewerkzeuge für Systemzustand, Storage/Parity, SMART, Benachrichtigungen, Shares und Docker-Update-Status. - Community Applications: offizieller Feed, kompakte Suche sowie sicherer Vorschau- und Installationsablauf. - CA-Installationen benötigen ein exaktes, zehn Minuten gültiges Freigabeticket und erzeugen reguläre Unraid-Benutzertemplates für die GUI-Verwaltung. - PHP-Helfer werden ohne Shell-Interpreter als direkte Argumentliste gestartet. ### 2026.08.21.r009 - WebGUI-Fix: Alle Formulare senden neben dem internen MUA-CSRF-Wert auch Unraids verpflichtendes csrf_token; Button-Klicks enden nicht mehr auf einer leeren Seite. ### 2026.08.21.r008 - Neue getrennte Nur-Lese-Shell: unraid_system_shell_readonly mit Programm-Allowlist und direkter argv-Ausführung ohne /bin/sh. - Schreibende Unterbefehle und Optionen für ip, find, ss, dmesg, date, mount und hostname werden serverseitig abgelehnt. - Die uneingeschränkte Root-Shell bleibt als separates kritisches Werkzeug standardmäßig deaktiviert. - GUI-Fix: MUA-eigene CSS-Klassennamen verhindern die Kollision mit Unraids globaler notice-Klasse; die blaue Karte wird wieder korrekt dargestellt. ### 2026.08.21.r007 - Navigation: MUA liegt unter Settings → User Utilities; der Klick im Plugin-Manager öffnet zuverlässig die MUA-Seite (korrekte Groß-/Kleinschreibung). - Sicherheitsprofile: Nur Lesen (Standard), Betrieb + Diagnose, Alles sperren und expliziter Vollzugriff. - Fix: Eine leere Tool-Auswahl aktiviert nicht mehr versehentlich alle Tools. - Secrets: Container-Umgebungswerte werden nicht mehr ausgegeben; häufige Secrets in Logs werden redigiert. - API-Key: nur einmalige Klartextanzeige nach Rotation; danach ausschließlich maskiert. - Config-Server: zusätzlicher, pro Start erneuerter Admin-Token und CSRF-Schutz in der WebGUI. - Netzwerk: CORS standardmäßig aus, Request-Limit 1 MiB und Rate-Limit pro Client. - Audit: Werkzeugname, Risikostufe, Ergebnis und Laufzeit ohne Argumente/Inhalte in mua-audit.log. - WebGUI vollständig neu geordnet: Statuskarten, Sicherheitsprofile und Werkzeuge nach Risikostufe. ### 2026.08.18.r006 - Neues Tool: unraid_system_shell — direkter Shell-Zugriff auf den Unraid-Host (root, /bin/sh -c). Liefert exit_code + stdout + stderr (JSON). - WebGUI: unraid_system_shell in der System-Tool-Gruppe (jetzt 2 System-Tools, insgesamt 22 Tools). ### 2026.08.18.r005 - Fix: unraid_docker_analyze_logs scan-all-Modus (ohne container-Parameter) funktionierte nicht — docker logs ohne Container-Argument lief ins Leere. Jetzt Loop über alle laufenden Container. - Output: sample_matches enthält jetzt den Container-Namen + neues Feld containers_with_matches. ### 2026.08.18.r004 - Auto-Restart: Binary erkennt Update auf Platte (mtime/size) und startet den Service automatisch neu. - WebGUI: „MUA neu starten"-Button (manueller Restart über Config-Server). - POST-INSTALL/UPDATE: Service wird nach Installation/Update automatisch neu gestartet. - WebGUI: Version wird dynamisch aus /health gelesen (kein hartkodiertes rNNN). ### 2026.08.18.r002 - API-Key-Authentifizierung (Bearer-Token) für den MCP-HTTP-Endpunkt (Port 3002). /health bleibt offen. - Einstellungs-Maske im WebGUI-Tab: API-Key generieren + Tools per Checkbox aktivieren/deaktivieren. - Config-Server auf 127.0.0.1:3013 (nur localhost) für WebGUI-Integration. - Tool-Filter: deaktivierte Tools werden in tools/list ausgeblendet und bei tools/call abgelehnt. ### 2026.08.18.r001 - Initial release: 21 Docker, network, and system tools as MCP server over HTTP (Streamable HTTP, port 3002). - Runtime: TypeScript (Bun Runtime, compiled binary) — no PHP built-in server. set -e echo "" echo "====================================================" echo " MUA - Mikes Unraid Agent" echo " Installation" echo "====================================================" echo "" # Verzeichnisse mkdir -p &emhttpLOC; mkdir -p &pluginLOC; mkdir -p /var/log/plugins touch /var/log/plugins/mua.log &txzURL; &txzSHA256; set +e echo "" echo " Starte MUA-Service neu..." /etc/rc.d/rc.mua restart 2>/dev/null || true echo "" echo " Führe Health-Check aus..." sleep 3 if curl -sf "http://127.0.0.1:3002/health" > /dev/null 2>&1; then echo "" echo " Health-Check: OK" echo "" echo "====================================================" echo " MUA installiert und läuft auf Port 3002" echo " Endpunkt: http://$(hostname -I | awk '{print $1}'):3002/mcp" echo " WebGUI: Settings > User Utilities > MUA" echo "====================================================" else echo "" echo " WARNUNG: Health-Check fehlgeschlagen" echo " Logs: tail -f /var/log/plugins/mua.log" echo "====================================================" fi exit 0 # Service stoppen vor Update /etc/rc.d/rc.mua stop 2>/dev/null || true # Alte PHP-Dateien entfernen (falls vorhanden) rm -rf &emhttpLOC;/mcp rm -rf &emhttpLOC;/scripts rm -f &emhttpLOC;/plugin.php echo "" echo "====================================================" echo " MUA - Mikes Unraid Agent" echo " Deinstallation" echo "====================================================" echo "" # 1. Service stoppen /etc/rc.d/rc.mua stop 2>/dev/null || true # 2. Service-Datei entfernen rm -f /etc/rc.d/rc.mua # 3. Binary entfernen rm -f /usr/local/bin/mua # 4. PHP-Helper entfernen rm -f /usr/local/bin/unraid-docker-mcp-helper.php rm -f /usr/local/bin/unraid-mcp-status-helper.php # 5. Plugin-Verzeichnis entfernen rm -rf &emhttpLOC; # 6. Config entfernen rm -rf &pluginLOC; # 7. Logs entfernen rm -f /var/log/plugins/mua.log rm -f /var/log/plugins/mua-audit.log rm -f /var/run/mua.pid rm -f /var/run/mua-admin.token echo "" echo " MUA wurde deinstalliert." echo "===================================================="