Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lostfilm not working #379

Closed
makar0nin opened this issue Mar 1, 2023 · 26 comments
Closed

Lostfilm not working #379

makar0nin opened this issue Mar 1, 2023 · 26 comments

Comments

@makar0nin
Copy link

С недавних пор стало сыпать на каждой попытке проверить
`FAILED
Failed while checking for lostfilm.tv
Traceback (most recent call last):
File "/var/www/monitorrent/monitorrent/plugins/trackers/init.py", line 363, in extract_cloudflare_credentials_and_headers
raise CloudflareException('Exception should be thrown by scrapper, but this is not always happened')
cloudscraper.exceptions.CloudflareException: Exception should be thrown by scrapper, but this is not always happened

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/var/www/monitorrent/monitorrent/engine.py", line 124, in execute
tracker.execute(topics, engine_tracker)
File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 783, in execute
if not self._execute_login(engine):
File "/var/www/monitorrent/monitorrent/plugins/trackers/init.py", line 342, in _execute_login
if not self.verify():
File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 775, in verify
return self.tracker.verify()
File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 502, in verify
self._update_headers_and_cookies(my_settings_url)
File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 618, in _update_headers_and_cookies
headers, cookies = extract_cloudflare_credentials_and_headers(url, self.headers, self.cookies)
File "/var/www/monitorrent/monitorrent/plugins/trackers/init.py", line 382, in extract_cloudflare_credentials_and_headers
page.wait_for_selector('.left-side > .menu', timeout=timeout)
File "/usr/local/lib/python3.9/site-packages/playwright/sync_api/_generated.py", line 6509, in wait_for_selector
self._sync(
File "/usr/local/lib/python3.9/site-packages/playwright/_impl/_sync_base.py", line 88, in _sync
return task.result()
File "/usr/local/lib/python3.9/site-packages/playwright/_impl/_page.py", line 360, in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
File "/usr/local/lib/python3.9/site-packages/playwright/_impl/_frame.py", line 293, in wait_for_selector
await self._channel.send("waitForSelector", locals_to_params(locals()))
File "/usr/local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 39, in send
return await self.inner_send(method, params, False)
File "/usr/local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 63, in inner_send
result = next(iter(done)).result()
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector ".left-side > .menu" to be visible
============================================================`

monitorrent in Docker

@werwolfby
Copy link
Owner

Аналогично, буду сегодня смотреть. Надеюсь фигня.

@werwolfby
Copy link
Owner

Не фигня :(
На лосте снова clouflare защита от ДДОС. Я вроде как пофиксил, теперь скрипт в браузере нажимает кнопочку я не робот. Но полностью протестить не могу. У меня на распберях не работает :(, локально в Виндоус окей.

Буду пробовать дальше, текущий воркэраунд - это руками пофиксить куки в базе, UI для этого пока не сделан.

В общем посмотрю дальше чуть позже.

@makar0nin
Copy link
Author

А подробней можно инструкцию как можно вручную пофиксить ?

@werwolfby
Copy link
Owner

Ну в принципе 1.2.2 докер справляется с проблемой на ура.
Но иногда нужно несколько попыток, так что в конце концов должно быть все окейю

@werwolfby
Copy link
Owner

@makar0nin
Copy link
Author

заменил latest на 1.2.2 вроде взлетело

@makar0nin
Copy link
Author

кстати вопрос, а чего alpine версию забросили?

@werwolfby
Copy link
Owner

Потому что под нее не ставится браузер для обхода cloudflare ddos защиты.
Все мои попытки были тщетными, проще взять официально поддерживаемый образ для playwright.

@Vladikamira
Copy link

у меня на Расберях таже ошибка что и раньше на версии 1.2.2 :( так и должно быть?

@werwolfby
Copy link
Owner

Возможно, я еще не релизнул полностью 1.2.2 и так как это защита от ДДОС никто не знает как учесть все кейсы, кроме разработчиков cloudflare.

Так что проблема может быть где угодно. Я работаю над этим :)

Скоро будет возможность скачивать видео того как проходил процес обхода защиты. И уже по нему можно будет пытаться решать эти частные случаи.

@werwolfby
Copy link
Owner

@Vladikamira что и раньше это как? Как тут в топике или что-то еще?
У меня на расперях тоже не завелось с первого раза, не уверен в чем именно беда. Но в конце концов с Н попыток прошло. Просто взяло и заработало.

По видео видно странийа 60 секунд проверяет «мой браузер» на безопасность, а потом мы падаем.

@Vladikamira
Copy link

@Vladikamira что и раньше это как? Как тут в топике или что-то еще?
У меня на расперях тоже не завелось с первого раза, не уверен в чем именно беда. Но в конце концов с Н попыток прошло. Просто взяло и заработало.

Ага, так же как в этом топике. У меня проверка lostfilm.tv каждый час происходит, обновился часов 20 назад - пока не было успешных запросов на образе 1.2.2

@tops5
Copy link

tops5 commented Mar 5, 2023

@Vladikamira что и раньше это как? Как тут в топике или что-то еще?
У меня на расперях тоже не завелось с первого раза, не уверен в чем именно беда. Но в конце концов с Н попыток прошло. Просто взяло и заработало.

Ага, так же как в этом топике. У меня проверка lostfilm.tv каждый час происходит, обновился часов 20 назад - пока не было успешных запросов на образе 1.2.2

У меня все работает.

@iteterin
Copy link

iteterin commented Mar 6, 2023

У меня со всеми трекерами беда :( Шлю запросы через прокси. Развернут https://hub.docker.com/layers/werwolfby/monitorrent/1.2.2/images/sha256-535b85bb005fb0f7cd4d5bdd65ee96331a844abeff9bebd98033ae0f265c076f?context=explore

@tops5
Copy link

tops5 commented Mar 6, 2023

У меня со всеми трекерами беда :( Шлю запросы через прокси. Развернут https://hub.docker.com/layers/werwolfby/monitorrent/1.2.2/images/sha256-535b85bb005fb0f7cd4d5bdd65ee96331a844abeff9bebd98033ae0f265c076f?context=explore

lostfilm работает после добавления cf_clearance cookie, kinozal работает после исправления http на https в файле kinozal.py, rutracker работает. Другими не пользуюсь.

@werwolfby
Copy link
Owner

@Vladikamira попробуйте последнюю 1.2.2 теперь должно все быть окей. Как минимум у меня на распери сейчас работает.
Плюс если проблема повторится то после включение developer settings в General. Появится новый пункт меню в настройках:

image

Можно скачать видео файл и посмотреть что же там не смогло пройти cloudflare защиту.

Опять же, это все ещё не релиз 1.2.2, но уже довольно близко к этому.

Ну и так же теперь cf_clearance можно руками выставить в настройках, если стащить куки напряму из браузера:

image

@werwolfby
Copy link
Owner

@iteterin с прокси могут быть проблемы, я это не тистировал на последней версии.
Ну и в целом мало тестировал.

@Vladikamira
Copy link

Vladikamira commented Mar 6, 2023

@Vladikamira попробуйте последнюю 1.2.2 теперь должно все быть окей. Как минимум у меня на распери сейчас работает. Плюс если проблема повторится то после включение developer settings в General. Появится новый пункт меню в настройках:

image

Можно скачать видео файл и посмотреть что же там не смогло пройти cloudflare защиту.

Опять же, это все ещё не релиз 1.2.2, но уже довольно близко к этому.

Ну и так же теперь cf_clearance можно руками выставить в настройках, если стащить куки напряму из браузера:

image

в общем я не могу проверить наверняка на своем распбери, так как когда я нажимаю Execute lostfilm.tv в UI через минуту мой распбери замирает в IO к диску и я не могу ничего посмотреть что происходит дальше. Память похоже съедается вся (замирает на примерно 90% съеденной памяти)
Screenshot 2023-03-06 at 19 43 45
у меня Pi 3b+ с 1Gb ram, может этого не достаточно для эмуляции браузера и прохождения проверки cloudfalre?
Все контейнеры кроме monitorrent я остановил - поидее ничего больше не конкурирует за ресурсы (раньше конечно было много запущено и проблем не было)

cf_clearance я пробовал выставлять - результат такой же: замирает

@werwolfby
Copy link
Owner

@Vladikamira как выставляли? Прям как написано в виде json?

Т.е. он должен выглядеть вот так вот:

{"cf_clearence": "kF7uXsxcw4aw.ZwkvMff1N0nOHfd1I_ubvZKNE.Qa.Y-1677829618-0-160"}

Я кажется вспомнил что нужно ещё и User-Agent выставлять. Вынесу его в настройки, взять можно из дев тулсов браузера.

@werwolfby
Copy link
Owner

Ну и для браузера советую включить своп, файрфокс в принципе не должен какпец как дофига есть, так что должно было бы прокатить.

Я могу попозже на своем 3 Пай поиграться.

@werwolfby
Copy link
Owner

В общем да, на Пай 3 1Гб все просто зависает, но выставление User-Agent и cf_clearence работает как часы:

image

Но поднятие свопа слегка улучшило ситуацию:

image

Хотя бы уже не так сильно зависает....
Своп конечно не резиновый..., но хотябы не намертво зависаем...

image

Пока не съели 2 гига...

@werwolfby
Copy link
Owner

На 4-м распери в кубике оно не съело больше чем 1.2Гб и все прошло на ура.

Я не думаю что могу сделать большего. Так что пока ишью закрываю, вместе с релизом 1.2.2

@Vladikamira теперь можно вытсавить и агент, как я написал выше. С такими настройками всё бегает просто прекрасно! Даже на Raspberry PI 3 с 1Гб. Если проставить руками все нужные настройки.

@werwolfby
Copy link
Owner

Я тут таки дождался когда распбери отвиснет, хз сколько часов прошло. Но по видосу ничего интересного не вижно.

Ну и тут я подумал, а может вообще проблема как раз в том что он видео и HAR файл собирает. HAR как бы не страшно, а вот видео может быть трудозатратным.

Потом попробую без видео проранать.

@werwolfby
Copy link
Owner

@Vladikamira без записи видео всё прошло на ура!

Сейчас пофикшу, чтобы видосы не писались по умолчанию, а только по требованию (если не лень будет).

В общем съело меньше 600Мб, при этом 227 сама система с ГУИ ест.
Так что все должно быть хорошо в этот раз.

@werwolfby
Copy link
Owner

647 в пике было и 45Мб из 100Мб свопа, так что все будет хорошо!

@Vladikamira
Copy link

@werwolfby Спасибо за 1.2.3, все теперь проходит с гораздо меньшими ресурсами на pi3 🎉
А то я уже начал думать о покупке pi4 хотя их сейчас проблемно походу найти

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants