chore(cleanup): Altlasten entfernt, Webroot-Sperre und Supervisor-Route ergaenzt
Fruehjahrsputz. Alles hier ist unabhaengig von der laufenden Supervisor- Arbeit im Arbeitsverzeichnis - die bleibt unangetastet. Entfernt: - Die zwoelf Symbole unter public/assets/ waren bitgleiche Dubletten der Dateien in public/assets/icons/. Referenziert wurde ausschliesslich der Pfad mit icons/. getMonitorIconUrl() setzt flach gespeicherte Altwerte aus der Datenbank jetzt auf icons/ um, damit bestehende Monitore ihr Symbol behalten. - System.CommandLine (2.0.0-beta4) aus dem Packager. Kein using, kein Symbol, die Argumente werden von Hand geparst. Build bleibt fehlerfrei. Geschlossen: - client-php/ und mcp/ wurden weder von der .htaccess gesperrt noch vom Deployment ausgeschlossen. Die .mjs-Datei haette der Webserver im Klartext ausgeliefert. Beide gehoeren nicht ins Webroot: die PHP-Datei wird ins Zielprojekt kopiert, der MCP-Server laeuft lokal ueber stdio. Jetzt in beiden Ausschlusslisten - wie client-dotnet. - Fuer /api/supervisor/v1/ fehlte die Rewrite-Regel. Der Datei-Fallback haette /api/supervisor/v1/findings auf eine nicht vorhandene Datei geleitet, obwohl Code und OpenAPI diese Schreibweise vorsehen. Ergaenzt: - __pycache__/ und *.pyc in .gitignore. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@@ -7,6 +7,9 @@ var/*.lock
|
||||
artifacts/
|
||||
*.bak
|
||||
.DS_Store
|
||||
# Bytecode-Cache der Deployment-Skripte
|
||||
__pycache__/
|
||||
*.pyc
|
||||
bin/
|
||||
obj/
|
||||
*.user
|
||||
|
||||
@@ -34,6 +34,7 @@ Options -Indexes
|
||||
RewriteRule ^api/updateservice/v1(?:/(.*))?$ public/api/updateservice/v1/index.php [L,QSA]
|
||||
RewriteRule ^api/tokens/v1/provision/?$ public/api/tokens/v1/provision.php [L,QSA]
|
||||
RewriteRule ^api/setup/v1(?:/(.*))?$ public/api/setup/v1/index.php [L,QSA]
|
||||
RewriteRule ^api/supervisor/v1(?:/(.*))?$ public/api/supervisor/v1/index.php [L,QSA]
|
||||
|
||||
# Fallback fuer direkt adressierte Dateien unterhalb von /api/
|
||||
RewriteRule ^api/(.*)$ public/api/$1 [L,QSA]
|
||||
@@ -57,7 +58,7 @@ Options -Indexes
|
||||
# ------------------------------------------------------------------
|
||||
# 5. Alles Uebrige sperren: Anwendungscode, Konfiguration, Skripte
|
||||
# ------------------------------------------------------------------
|
||||
RewriteRule ^(config|src|sql|scripts|cli|var|client-dotnet)(/|$) - [F,L]
|
||||
RewriteRule ^(config|src|sql|scripts|cli|var|client-dotnet|client-php|mcp)(/|$) - [F,L]
|
||||
RewriteRule ^Serverdaten\.txt$ - [F,L]
|
||||
</IfModule>
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentFTP" Version="54.1.2" />
|
||||
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="20" fill="#F2622E"/>
|
||||
<path d="M50 20 L80 35 L80 65 L50 80 L20 65 L20 35 Z" fill="none" stroke="#FFF" stroke-width="6"/>
|
||||
<circle cx="50" cy="50" r="10" fill="#FFF"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 299 B |
@@ -1,10 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="20" fill="#2496ED"/>
|
||||
<rect x="20" y="45" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<rect x="35" y="45" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<rect x="50" y="45" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<rect x="35" y="32" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<rect x="50" y="32" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<rect x="65" y="45" width="12" height="10" rx="2" fill="#FFF"/>
|
||||
<path d="M15 62 Q 50 82 85 62 Q 90 70 85 75 Q 45 92 10 70 Z" fill="#FFF"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 624 B |
@@ -1,11 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<circle cx="50" cy="50" r="48" fill="#FCC624"/>
|
||||
<ellipse cx="50" cy="42" rx="22" ry="26" fill="#000000"/>
|
||||
<ellipse cx="50" cy="45" rx="16" ry="20" fill="#FFFFFF"/>
|
||||
<circle cx="43" cy="35" r="4" fill="#000"/>
|
||||
<circle cx="57" cy="35" r="4" fill="#000"/>
|
||||
<polygon points="46,40 54,40 50,48" fill="#FFA500"/>
|
||||
<ellipse cx="50" cy="72" rx="24" ry="14" fill="#000000"/>
|
||||
<ellipse cx="36" cy="84" rx="12" ry="6" fill="#FFA500"/>
|
||||
<ellipse cx="64" cy="84" rx="12" ry="6" fill="#FFA500"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 588 B |
@@ -1,6 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="20" fill="#00618A"/>
|
||||
<path d="M20 75 C 20 40, 45 25, 75 35 C 80 50, 70 70, 50 75 Z" fill="#E48E00"/>
|
||||
<circle cx="65" cy="40" r="4" fill="#FFF"/>
|
||||
<text x="50" y="88" font-size="18" font-family="sans-serif" font-weight="bold" fill="#FFF" text-anchor="middle">MySQL</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 406 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<polygon points="50,5 92,28 92,72 50,95 8,72 8,28" fill="#009639"/>
|
||||
<path d="M30 70 L30 30 L65 70 L65 30" stroke="#FFF" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 295 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<polygon points="50,10 90,32 90,78 50,100 10,78 10,32" fill="#5FA04E"/>
|
||||
<text x="50" y="62" font-size="24" font-family="sans-serif" font-weight="bold" fill="#FFF" text-anchor="middle">node</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 293 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<ellipse cx="50" cy="50" rx="46" ry="28" fill="#777BB4"/>
|
||||
<text x="50" y="58" font-size="28" font-family="sans-serif" font-weight="bold" fill="#FFF" text-anchor="middle">php</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 278 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="20" fill="#E57000"/>
|
||||
<path d="M25 25 L75 25 L75 45 L45 45 L45 55 L75 55 L75 75 L25 75 Z" fill="#FFFFFF"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 238 B |
@@ -1,6 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<path d="M48 10 C 25 10, 25 22, 25 22 L 25 34 L 50 34 L 50 38 L 20 38 C 20 38, 8 38, 8 60 C 8 82, 20 82, 20 82 L 32 82 L 32 70 C 32 70, 32 56, 48 56 L 62 56 C 62 56, 75 56, 75 42 L 75 22 C 75 22, 75 10, 48 10 Z" fill="#3776AB"/>
|
||||
<circle cx="36" cy="22" r="4" fill="#FFF"/>
|
||||
<path d="M52 90 C 75 90, 75 78, 75 78 L 75 66 L 50 66 L 50 62 L 80 62 C 80 62, 92 62, 92 40 C 92 18, 80 18, 80 18 L 68 18 L 68 30 C 68 30, 68 44, 52 44 L 38 44 C 38 44, 25 44, 25 58 L 25 78 C 25 78, 25 90, 52 90 Z" fill="#FFD43B"/>
|
||||
<circle cx="64" cy="78" r="4" fill="#000"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 650 B |
@@ -1,5 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="20" fill="#D82C20"/>
|
||||
<polygon points="50,20 80,35 50,50 20,35" fill="#FFF"/>
|
||||
<polygon points="50,45 80,60 50,75 20,60" fill="#FFF" opacity="0.8"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 281 B |
@@ -1,9 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="24" height="24">
|
||||
<rect width="100" height="100" rx="16" fill="#1E232B"/>
|
||||
<rect x="15" y="15" width="70" height="30" rx="6" fill="#242A33" stroke="#F2622E" stroke-width="3"/>
|
||||
<circle cx="30" cy="30" r="4" fill="#37C26B"/>
|
||||
<circle cx="42" cy="30" r="4" fill="#37C26B"/>
|
||||
<rect x="15" y="55" width="70" height="30" rx="6" fill="#242A33" stroke="#F2622E" stroke-width="3"/>
|
||||
<circle cx="30" cy="70" r="4" fill="#37C26B"/>
|
||||
<circle cx="42" cy="70" r="4" fill="#37C26B"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 553 B |
@@ -1,3 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 88 88" width="24" height="24">
|
||||
<path fill="#00ADEF" d="M0 12.5L35.7 7.6v33.4H0V12.5zm0 32.5h35.7v33.5L0 73.8V45zm39.5-38L88 0v41H39.5V7zm0 38H88v41l-48.5-6.8V45z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 227 B |
@@ -1673,9 +1673,15 @@ function getMonitorIconUrl(?string $icon, ?string $source, ?string $os, ?string
|
||||
if (str_starts_with($icon, 'custom/')) {
|
||||
return 'assets/icons/' . $icon;
|
||||
}
|
||||
if (str_starts_with($icon, 'assets/')) {
|
||||
if (str_starts_with($icon, 'assets/icons/')) {
|
||||
return $icon;
|
||||
}
|
||||
// Fruehere Fassungen legten die Symbole flach unter assets/ ab und
|
||||
// schrieben diesen Pfad in die Datenbank. Die Dateien liegen jetzt nur
|
||||
// noch unter assets/icons/ - Altwerte werden hier umgesetzt.
|
||||
if (str_starts_with($icon, 'assets/')) {
|
||||
return 'assets/icons/' . substr($icon, strlen('assets/'));
|
||||
}
|
||||
return 'assets/icons/' . $icon;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@ IGNORE_PATTERNS = {
|
||||
'log',
|
||||
'__pycache__',
|
||||
'client-dotnet',
|
||||
# Bibliothek zum Mitnehmen ins Zielprojekt bzw. lokal ueber stdio
|
||||
# betriebener MCP-Server - beide gehoeren nicht ins Webroot.
|
||||
'client-php',
|
||||
'mcp',
|
||||
# Gebaute Installer-Binaries. Sie gehoeren nach /installer/ und werden
|
||||
# von upload_installer.py dorthin gebracht - ueber diesen Weg landeten
|
||||
# sonst ~100 MB zusaetzlich unter /artifacts/ im Webroot.
|
||||
|
||||