Resolve Custom script ids where the scripts actually live

The Custom/ prefix is a namespace, not a directory under SCRIPTS_DIR, so every
launcher that resolved it as one could never find the script.
This commit is contained in:
Gmer4Lfe
2026-08-08 12:47:26 -04:00
parent 2ab7d3d98a
commit 9cabb04395
3 changed files with 11 additions and 3 deletions
+4 -1
View File
@@ -77,7 +77,10 @@ if (!$id || !preg_match('/^[a-zA-Z0-9_.\/\-]+\.sh$/', $id) || str_contains($id,
exit;
}
$script = SCRIPTS_DIR . '/' . $id;
// Custom scripts live outside the repo (CUSTOM_SCRIPTS_DIR) — everything else resolves under SCRIPTS_DIR.
$script = str_starts_with($id, 'Custom/')
? CUSTOM_SCRIPTS_DIR . '/' . substr($id, strlen('Custom/'))
: SCRIPTS_DIR . '/' . $id;
if (!file_exists($script)) {
echo json_encode(['ok' => false, 'error' => 'Script not found: ' . $id]);
exit;