fix(yt-dlp): Host-spezifische Referer/Args; optionales Cookies-File greift auch für Instagram (Rate-Limit/Login)
This commit is contained in:
parent
51510dfad8
commit
0b70e0f002
1 changed files with 11 additions and 2 deletions
|
|
@ -48,14 +48,23 @@ fs.mkdirSync(SOUNDS_DIR, { recursive: true });
|
||||||
|
|
||||||
function buildYtDlpArgs(url: string, mode: 'stream' | 'download', outPath?: string): string[] {
|
function buildYtDlpArgs(url: string, mode: 'stream' | 'download', outPath?: string): string[] {
|
||||||
const ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1';
|
const ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1';
|
||||||
|
const host = (() => { try { return new URL(url).hostname; } catch { return 'www.youtube.com'; } })();
|
||||||
|
const referer = `https://${host}/`;
|
||||||
const base = [
|
const base = [
|
||||||
'--no-playlist',
|
'--no-playlist',
|
||||||
'--no-warnings',
|
'--no-warnings',
|
||||||
'--geo-bypass',
|
'--geo-bypass',
|
||||||
'--user-agent', ua,
|
'--user-agent', ua,
|
||||||
'--referer', 'https://www.youtube.com/',
|
'--referer', referer,
|
||||||
'--extractor-args', 'youtube:player_client=android',
|
|
||||||
];
|
];
|
||||||
|
// Feintuning je nach Host
|
||||||
|
if (host.includes('youtube')) {
|
||||||
|
base.push('--extractor-args', 'youtube:player_client=android');
|
||||||
|
}
|
||||||
|
if (host.includes('instagram')) {
|
||||||
|
// Instagram braucht oft Login → Cookies nutzen, sonst public Reels funktionieren ggf. ohne
|
||||||
|
// Keine speziellen extractor-args nötig, aber Referer & UA helfen
|
||||||
|
}
|
||||||
if (YTDLP_COOKIES_FILE) {
|
if (YTDLP_COOKIES_FILE) {
|
||||||
base.push('--cookies', YTDLP_COOKIES_FILE);
|
base.push('--cookies', YTDLP_COOKIES_FILE);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue