Add cookie input field in UI for YouTube bot detection bypass

This commit is contained in:
Peter Meier
2025-12-22 13:28:15 +01:00
parent 1c72ac1a7b
commit 5b320310d3
4 changed files with 63 additions and 8 deletions

View File

@@ -42,6 +42,28 @@ const streamOnly = process.env.STREAM_ONLY === "true";
<option value="best">{t(Astro, "downloadForm.formatBest")}</option>
</select>
</div>
<div class="collapse collapse-arrow border border-base-300 bg-base-200">
<input type="checkbox" id="cookiesToggle" />
<div class="collapse-title text-sm font-medium">
{t(Astro, "downloadForm.cookiesLabel")}
</div>
<div class="collapse-content">
<div class="form-control">
<label class="label">
<span class="label-text text-xs"
>{t(Astro, "downloadForm.cookiesHelp")}</span
>
</label>
<textarea
id="cookies"
name="cookies"
class="textarea textarea-bordered h-32 text-xs font-mono"
placeholder={t(Astro, "downloadForm.cookiesPlaceholder")}
></textarea>
</div>
</div>
</div>
</form>
<div id="status" class="mt-4 hidden"></div>
@@ -102,8 +124,12 @@ const streamOnly = process.env.STREAM_ONLY === "true";
const urlInput = document.getElementById("url") as HTMLInputElement;
const formatSelect = document.getElementById("format") as HTMLSelectElement;
const cookiesInput = document.getElementById(
"cookies"
) as HTMLTextAreaElement;
const url = urlInput?.value;
const format = formatSelect?.value || "mp4";
const cookies = cookiesInput?.value?.trim() || null;
if (!url || !downloadBtn || !status || !loading) return;
@@ -118,7 +144,7 @@ const streamOnly = process.env.STREAM_ONLY === "true";
"Content-Type": "application/json",
"x-format": format,
},
body: JSON.stringify({ url }),
body: JSON.stringify({ url, cookies }),
});
// Prüfe ob Response ein Stream ist (Content-Type ist nicht JSON)