fix: sign-in detection case-insensitive, auto retry with Chrome cookies

This commit is contained in:
Savsis? 2026-08-30 18:29:15 +05:00
parent 92bcc70728
commit ee59ba8247

12
bm.js
View file

@ -245,16 +245,20 @@ function doDownload(url, fmtIdx, retry403 = false) {
dlProc.stdout.on('data', onData) dlProc.stdout.on('data', onData)
dlProc.stderr.on('data', d => { dlProc.stderr.on('data', d => {
const line = d.toString() const line = d.toString()
const lineL = line.toLowerCase()
if (parseProgress(line)) { render(); return } if (parseProgress(line)) { render(); return }
if (line.includes('ERROR') || line.includes('error')) { if (lineL.includes('error') || lineL.includes('warning')) {
lastErr = line.replace(/\x1b\[[0-9;]*m/g, '').trim().slice(0, 80) lastErr = line.replace(/\x1b\[[0-9;]*m/g, '').trim().slice(0, 90)
st.msg = lastErr st.msg = lastErr
render() render()
} }
if (!got403 && (line.includes('HTTP Error 403') || line.includes('Sign in'))) { const needsCookies = lineL.includes('403') || lineL.includes('sign in') ||
lineL.includes('please sign') || lineL.includes('cookies-from-browser') ||
lineL.includes('login required') || lineL.includes('not available')
if (!got403 && needsCookies && !retry403) {
got403 = true got403 = true
dlProc.kill() dlProc.kill()
st.msg = '403 — retry с куками Chrome...' st.msg = 'нужны куки Chrome — retry...'
render() render()
doDownload(url, fmtIdx, true) doDownload(url, fmtIdx, true)
} }