fix(movie-resolve): route DoodStream clones to phone-side resolve, skip yt-dlp
Some checks failed
Backend tests / test (push) Has been cancelled
Some checks failed
Backend tests / test (push) Has been cancelled
extract_stream_from_hoster fell through to yt-dlp for DoodStream clones (playmogo, doply, myvidplay, dood.*), which yt-dlp does not support -> "ERROR: Unsupported URL" spam dominating the movie-resolve logs, plus wasted seconds per resolve before the caller returned the embed as type='hoster' anyway. Now detects the dood-clone family up front and returns None immediately (same pattern as the filemoon SPA handling), so the embed goes straight to the mobile doodstream.ts resolver (pass_md5 with the user's residential IP, which clears the invisible Turnstile). Verified: playmogo/myvidplay/ doply URLs now return None with no yt-dlp attempt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
fa697726e9
commit
e69de90417
1 changed files with 14 additions and 0 deletions
|
|
@ -238,6 +238,20 @@ def extract_stream_from_hoster(
|
||||||
):
|
):
|
||||||
log.debug("hoster %s: filemoon SPA → type=hoster (mobile-side resolve)", iframe_url)
|
log.debug("hoster %s: filemoon SPA → type=hoster (mobile-side resolve)", iframe_url)
|
||||||
return None
|
return None
|
||||||
|
# DoodStream + klony (playmogo/doply/myvidplay/dood.*/doodstream) — protokół pass_md5
|
||||||
|
# + niewidzialny Cloudflare Turnstile wiązany z IP requestera. Server-side resolve
|
||||||
|
# bezcelowy (VPS dostaje Turnstile gate / IP-bound token). Zwracamy None → caller
|
||||||
|
# oddaje embed jako type='hoster' → mobile doodstream.ts robi pass_md5 z IP usera
|
||||||
|
# (residential przechodzi Turnstile). Bez tego leciało do yt-dlp → "Unsupported URL"
|
||||||
|
# spam (playmogo zalewał logi movie-resolve) + marnowanie ~sekund na martwy resolve.
|
||||||
|
if re.search(
|
||||||
|
r"//(?:[a-z0-9-]+\.)?(?:playmogo|doply|myvidplay|doodstream|dood|d0+d|"
|
||||||
|
r"dooood|do0od|do7go|ds2play|doodcdn)\.[a-z]{2,6}/",
|
||||||
|
iframe_url,
|
||||||
|
re.IGNORECASE,
|
||||||
|
):
|
||||||
|
log.debug("hoster %s: doodstream clone → type=hoster (mobile-side resolve)", iframe_url)
|
||||||
|
return None
|
||||||
headers = {
|
headers = {
|
||||||
"User-Agent": _DEFAULT_UA,
|
"User-Agent": _DEFAULT_UA,
|
||||||
"Accept": "text/html,application/xhtml+xml",
|
"Accept": "text/html,application/xhtml+xml",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue