werwolfby / monitorrent

Automatic torrents downloader
Do What The F*ck You Want To Public License
509 stars 71 forks source link

lostfilm.tv перестал работать #356

Closed mozoh closed 2 years ago

mozoh commented 3 years ago

Все раздачи красные. В логах пусто. Использую werwolfby/alpine-monitorrent:latest image

iRaschen commented 3 years ago

Ну я не забил. Снится каждый день. Да и пользуюсь я им постоянно. Но именно с этой проблем фиг что сделаешь.

Ну и версия 2.0 была в разработке.

Я для ТМ обхожу cloudflare через Selenium, но чтоб на капчу не напарыватся обновлять не больше раза в час и так работает без сбоев уже очень долго

Taran2ul commented 3 years ago

Автор зеркала (iRaschen) лоста дал разрешение использовать его (в смысле зеркало:). Поэтому надо его прикрутить, только надо чтоб знающие люди глянули. https://rss.bzda.ru/rss.xml

Leliil commented 3 years ago

Ну я не забил. Снится каждый день. Да и пользуюсь я им постоянно. Но именно с этой проблем фиг что сделаешь. Ну и версия 2.0 была в разработке.

Я для ТМ обхожу cloudflare через Selenium, но чтоб на капчу не напарыватся обновлять не больше раза в час и так работает без сбоев уже очень долго

А есть какие-то инструкции как это все настроить?

Leliil commented 3 years ago

Что-то стало ошибку выбивать:

FAILED
Failed to download from http://n.tracktor.site/td.php?s=K9RtsNqJx%2BYb6z12RvHDV1mfteL2tfekAGAdc7xRRs%2F%2F4YaX63v67tN3G1bJEq%2F7pp5hORrNniVIZ%2Bp%2FCyxINoovNigZfK6wi9SxdWNkxrxzaX9xGpX5cbBzrk5Naex6CT%2B%2FgQ%3D%3D. 
Reason: Can't download url. Status: 403
werwolfby commented 3 years ago

Я вот тоже думал про селениум, но для простого юзера на виндоус это будет не просто.

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

У меня появилось ещё пару идей, я постараюсь посмотреть.

Ну и ТМ мне кажется юзал рсс, что тоже очень ограниченное решение :(

werwolfby commented 3 years ago

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

Leliil commented 3 years ago

Ну и ТМ мне кажется юзал рсс, что тоже очень ограниченное решение :(

Да, небольшой недостаток. В monitorrent удобно добавить сериал и выкачать его целиком, если нет предыдущих серий.

werwolfby commented 3 years ago

Ну я работаю над солюшеном с селениумом. Это решит вопрос с защитой раз и навсегда.

Но там хватает работы особенно с установкой всего под все. Сейчас с АРМом решаю вопрос.

Leliil commented 3 years ago

У меня одного перестали скачиваться файлы?

werwolfby commented 3 years ago

Ну у меня лост давно не работает

werwolfby commented 3 years ago

Но ошибка другая - это да

Leliil commented 3 years ago

Что-то стало ошибку выбивать:

FAILED
Failed to download from http://n.tracktor.site/td.php?s=K9RtsNqJx%2BYb6z12RvHDV1mfteL2tfekAGAdc7xRRs%2F%2F4YaX63v67tN3G1bJEq%2F7pp5hORrNniVIZ%2Bp%2FCyxINoovNigZfK6wi9SxdWNkxrxzaX9xGpX5cbBzrk5Naex6CT%2B%2FgQ%3D%3D. 
Reason: Can't download url. Status: 403

Что-то он мудрит, ссылка нормальная, при копировании и вставке в браузер - качается замечательно

n-gry commented 2 years ago

@werwolfby чтобы защита не мешала достаточно с того же устройства открыть в браузере сайт и скопировать с него user-agent и куку cf_clearance

Leliil commented 2 years ago

Пока что завернул трафик в openvpn, monitorrent работает. В openvpn прописал порт, в monitorrent не указывал порты. В моем случае в docker compose для monitorrent: network_mode: "container:openvpn" Либо в portainer: container, openvpn. Но после перезагрузки сервера некорректно запускается контейнер, потому что openvpn не работает -> нет режима сети container:openvpn, пробовал через stacks сделать, указал ожидание старта openvpn, вроде сработало, но иногда ошибки бывают и может все упасть, получается не очень стабильно :/ Подскажите как можно трафик monitorrent завернуть в openvpn по-другому? Чтобы у него не сбрасывались настройки сети, если другой контейнер перезапустился по какой-либо причине. Или как можно скрестить monitorrent+openvpn? по аналогии с готовыми решениями transmission-openvpn и прочим

werwolfby commented 2 years ago

Я частично прикрутил selenium локально. Но проблема в том что я не могу больше воспроизвести проблему 😞 Лост прекрасно работает и без селениума. А использовать его прям всегда для каждого запроса довольно затратно.

Ну и к тому же я пока это не спаковал ни в докер ни в инсталлер.

Продолжу дальше копать. Потому что возможно вариант с использованием селениумы всегда - хороший вариант.

ЗЫ. Пока ничего даже не коммитил.

degorychev commented 2 years ago

Не могу больше воспроизвести проблему 😞 Лост прекрасно работает и без селениума.

Некоторые сериалы парсятся нормально, некоторые нет (Например Книга Бобы Фетта не грузится)

alexandorrus commented 2 years ago

На всякий случай, если у кого будет ошибка при попытке просканировать сериал, например:

FAILED Уокер / Walker status changed: Error

можно заменить в 388 строке ( в get_seasons_url_info(url) ) файла lostfilm.py - lostfilm.tv на любое из подходящих зеркал, например lostfilm.win:

    return name, 'https://www.lostfilm.win/series/{0}/seasons'.format(name)

никаких изменений, что в пути основного сайта, что зеркал, я не заметил. Почему 5 марта под вечер стал давать эту ошибку не понял 🤷

werwolfby commented 2 years ago

Да я вот вернулся с отпуска и вижу что почти весь лост у меня в ошибках. Сейчас посмотрю.

werwolfby commented 2 years ago

В общем я наконец-то смог воспроизвести проблему с cloudflare капчей. Понять что даже последний cloudscrapper пакет не может её обойти. И против селениума у ребят всё настроено хорошо. Но зато пока работает с playwright. Но там и другие проблемы есть над которыми я уже работаю. И надеюсь что в ближайшее время пофикшу. Осталось понять как это всё в докер, особенно в арм версию завернуть 😏

zalessky commented 2 years ago

https://github.com/FlareSolverr/FlareSolverr https://github.com/FlareSolverr/FlareSolverrSharp

это никак не поможет? для Jackett вполне себе неплохо работает и интегрируется в настройках

werwolfby commented 2 years ago

Блин, нашёл бы эти контейнеры пораньше - скорее всего было бы отличной альтернативой. Как минимум на начальном этапе. @zalessky и спасибо, на будущее буду знать про них!

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

Ну и возможно стоит будет рассмотреть этот вариант на будущее. Потому что сейчас все вырастет на +100Мб, из-за того что будет тащить с собой firefox. Но если кто-то не использует lostfilm - ему это и не надо. А значит второй контейнер только для lostfilm выглядит разумно.

В общем я доделаю свой вариант чтобы закончить побыстрее. И потом подумаю стоит ли делать что-то отдельное.

zalessky commented 2 years ago

Ну, я сам только на днях узнал, когда jackett начал сыпать ошибками из-за вертикальной реки :) все трекеры антиддос себе понавешали.

zalessky commented 2 years ago

А что, нас ждет долгожданное обновление? Круть... Можно маленькую настройку попросить? Выбор папки для скачивания по умолчанию как-нибудь поменять... Первый раз выбрал не ту, теперь при каждом добавлении он мне ее подсовывает :(

werwolfby commented 2 years ago

Я думал это в настройках клиента указывается :).

zalessky commented 2 years ago

блин! {рука-лицо} а ларчик просто открывался, оказывается

а я контейнер вдоль и поперек облазил, искал в каком конфиге эта строка запрятана

werwolfby commented 2 years ago

Ну кстати в настройках клиента я не нашёл :( По факту download_dir хранится в каждом топике в базе: monitorrent.db. Это простая sqlite база, клиентов для ее редактирования полно.

Так что если что-то нужно сделать, заводите ишью, и надеюсь не больше чем через год я его пофикшу )))

werwolfby commented 2 years ago

В общем если из этой бранчи: https://github.com/werwolfby/monitorrent/tree/feature/lost-film-cloudflare скопировать из ./monitorrent/plugins/trackers файлы __init__.py и lostfilm.py. То лост должен начать работать.

Ах да, ещё нужно pip install -r requirements.txt. А потом playwright install.

Докер и инсталятор (если получится) выложу надеюсь на этой неделе.

А пока локально, всё отлично работает.

werwolfby commented 2 years ago

Все! Надеюсь больше проблем с лостом не будет.

Хотя версии для винды пока нет.

zalessky commented 2 years ago

А что поменялось-то? докер в хабе двухлетний, обновления версии на гите нет... Или еще не залилось?

werwolfby commented 2 years ago

@zalessky проверь ещё раз: https://hub.docker.com/layers/monitorrent/werwolfby/monitorrent/1.2.0/images/sha256-9bf30a578c2664872102d76b1246f06c06bad49c8a45766dc00c183a5026d450?context=repo ;) билд мультиархитектурного имеджа занимает какое-то время

zalessky commented 2 years ago

в ридми другой адрес https://hub.docker.com/r/werwolfby/armhf-alpine-monitorrent/ image image

werwolfby commented 2 years ago

О блин, точно. Я уже давно собираю имедж с несколькими архитектурами, нужно проапдейтить ридми. Сорян!

Спасибо, поправлю!

zalessky commented 2 years ago

не извиняйся. полезное дело делаешь. Но если поменять хаб, то контейнер сам собой не обновится (watchtower за этим следит)

zalessky commented 2 years ago

О! в телегу пришло уведомление :) image

werwolfby commented 2 years ago

Да есть такая фича :) просто она уже 2 года не могла заюзаться :)

ЗЫ. С контейнерами все немного сложнее. Раньше я собирал 2 контейнера: x86 и arm на компе и малинке соответсвенно. Пушил их в отдельные контейнеры в хабе. И потом уже собирал манифестный образ. Но это был ещё тот гемор! И было очень лениво нормально автоматизировать это, хотя докер умеет удалённо собирать.

Сейчас я перешёл на buildx и всё собираю с одной машины, очень круто, просто и удобно. Но тогда не получается просто запушить отдельные контейнеры.

ЗЫЫ. Постараюсь побыстрее обновить ридми.

zalessky commented 2 years ago

стесяняюсь спросить... а в новой версии адрес зеркала лостфилма можно выбирать?

werwolfby commented 2 years ago

@zalessky нет :( но меня можно пнуть тут: https://github.com/werwolfby/monitorrent/pull/357

Я уже почти год назад обещал это впилить!

liquidblasted commented 2 years ago

обновился на 1.2.0 (в докере), и теперь почему-то не работают ни лост, ни рутрекер, и абсолютно все трекеры в настройках выдают при чеке логина - фейл в настройках был прокси - отрубил, рутрекер заработал, логины на все трекеры заработали, но странно почему прокси работать перестал (сам прокси рабочий)

FAILED

Failed while checking for rutracker.org

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 700, in urlopen self._prepare_proxy(conn) File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 994, in _prepare_proxy conn.connect() File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 364, in connect self.sock = conn = self._connect_tls_proxy(hostname, conn) File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 499, in _connect_tls_proxy socket = ssl_wrapsocket( File "/usr/local/lib/python3.9/site-packages/urllib3/util/ssl.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socketimpl( File "/usr/local/lib/python3.9/site-packages/urllib3/util/ssl.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "/usr/local/lib/python3.9/ssl.py", line 500, in wrap_socket return self.sslsocket_class._create( File "/usr/local/lib/python3.9/ssl.py", line 1040, in _create self.do_handshake() File "/usr/local/lib/python3.9/ssl.py", line 1309, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 440, in send resp = conn.urlopen( File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 785, in urlopen retries = retries.increment( File "/usr/local/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='rutracker.org', port=443): Max retries exceeded with url: /forum/privmsg.php?folder=inbox (Caused by ProxyError('Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#https-proxy-error-http-proxy', SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)'))))

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/init.py", line 337, 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/rutracker.py", line 230, in verify return self.tracker.verify() File "/var/www/monitorrent/monitorrent/plugins/trackers/rutracker.py", line 143, in verify profile_page_result = requests.get(self.profile_page, cookies=cookies, File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 75, in get return request('get', url, params=params, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 529, in request resp = self.send(prep, send_kwargs) File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 645, in send r = adapter.send(request, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 513, in send raise ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='rutracker.org', port=443): Max retries exceeded with url: /forum/privmsg.ph

werwolfby commented 2 years ago

С прокси все понятно, я не добавлял его поддержку в рутрекер и лост чернз playwright.

если кратко, то единственный рабочий способ обойти cloudflare защиту это использовать настоящий браузер. А потом уже из него я достаю куки чтобы выполнять остальные запросы. И вот прокси в браузер я не ставлю.

@liquidblasted заведите плиз новое ишью.

liquidblasted commented 2 years ago

@liquidblasted заведите плиз новое ишью. Спасибо за пояснения! issue завел