From 25416a28584fb1ec578e4d581069ae894f9c63da Mon Sep 17 00:00:00 2001 From: goon-foss Date: Sat, 5 Sep 2026 22:21:13 +0200 Subject: [PATCH] fix(movies): rodzina DoodStream (playmogo/doply/myvidplay) na koniec listy zrodel Zgloszenia "Playmogo nie dziala tutaj" (1278eb49, 2026-09-04) i seria "Myvidplay nie dziala" (3b75cb54, d3af0813, 11d7b17b). myvidplay to 301 na playmogo, a playmogo to klon DoodStream z KLIKANYM Turnstile: widzet pojawia sie po tapie w play i przeladowaniu, wiec pass_md5 nie ma w HTML i telefon nie rozwiaze tego sam. Telemetria: ZERO zdarzen odtwarzania w 30 dniach (droga WebView nic nie raportuje), gdy mixdrop/voe/luluvid/ vidara graja w ~99%. Przyczyna kolejnosci: _movie_origin_priority dawal tym originom neutralne 500, wiec sortowaly sie z dzialajacymi po created_at DESC, a doply/playmogo bywaja dopisane jako OSTATNIE -> ladowaly na GORZE "Watch on". Zgloszony film 12e9d0c1 mial obok zywy mixdrop. Pomiar 2026-09-05: rodzina siedzi w 54 446 filmach, 54 320 (99,8%) ma dzialajaca alternatywe, tylko 126 zalezy od niej wylacznie. Nowy tier 800 (za neutralnymi 500, przed martwa rodzina seekplayer 900): dla tych 126 zostaje jako ostatnia deska ratunku, wiec nikomu nie zabiera dostepu. Weryfikacja po deployu: film 12e9d0c1 -> [mangoporn:mixdrop, mangoporn:playmogo]. --- app/api/movies.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/api/movies.py b/app/api/movies.py index f3cd4be..24c07fb 100644 --- a/app/api/movies.py +++ b/app/api/movies.py @@ -179,9 +179,33 @@ _MOVIE_DEPRIORITIZED_HOSTERS = frozenset({ }) +# Rodzina DoodStream (playmogo, doply, myvidplay i klony) wymaga KLIKANEGO Cloudflare +# Turnstile: widżet pojawia sie dopiero po tapie w play i przeladowaniu, wiec +# `pass_md5` nie ma w HTML i telefon nie rozwiaze tego sam (memory 2026-08-26, INJECTED_JS +# omija te hosty). Skutek w telemetrii: ZERO zdarzen odtwarzania w 30 dniach, bo droga +# WebView niczego nie raportuje, podczas gdy mixdrop/voe/luluvid/vidara graja w ~99%. +# +# Dotad te originy mialy priorytet neutralny (500) i sortowaly sie z dzialajacymi po dacie +# dodania, a doply/playmogo bywaja dopisane jako OSTATNIE, wiec ladowaly na GORZE listy +# "Watch on". Zgloszenia "Playmogo nie dziala tutaj" (1278eb49, 2026-09-04) i seria +# "Myvidplay nie dziala" (3b75cb54, d3af0813, 11d7b17b) to dokladnie ten mechanizm: +# zgloszony film mial obok zywy mixdrop, ktory gra. +# +# Pomiar 2026-09-05: rodzina siedzi w 54 446 filmach, z czego 54 320 (99,8%) ma dzialajaca +# alternatywe. Tylko 126 filmow zalezy od niej wylacznie, dla nich zostaje jako ostatnia +# deska ratunku, wiec de-ranking nikomu nie zabiera dostepu. Lista hostow = doodstream.ts. +_MOVIE_INTERACTIVE_HOSTERS = frozenset({ + "playmogo", "myvidplay", "doply", "doodstream", "dood", "d0000d", "dooood", + "do0od", "do7go", "ds2play", "vikingfile", "vide0", +}) + + def _movie_origin_priority(origin: str) -> int: - if origin.rpartition(":")[2] in _MOVIE_DEPRIORITIZED_HOSTERS: + host = origin.rpartition(":")[2] + if host in _MOVIE_DEPRIORITIZED_HOSTERS: return 900 # za wszystkim, co nieklasyfikowane + if host in _MOVIE_INTERACTIVE_HOSTERS: + return 800 # gra, ale tylko po recznym kliku w Turnstile; za wszystkim, co gra samo try: return _MOVIE_PREFERRED_ORIGINS.index(origin) except ValueError: