werwolfby / monitorrent

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

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

Closed mozoh closed 2 years ago

mozoh commented 3 years ago

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

Altimitrus commented 3 years ago

INFO Begin execute

INFO Start checking for lostfilm.tv

INFO Credentials/Settings are valid

INFO Check for changes Интергалактик / Intergalactic

INFO Series Интергалактик / Intergalactic not changed

INFO Check for changes Манифест / Manifest

FAILED Exception while execute topic Traceback (most recent call last): File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute episodes = self._prepare_request(topic) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 820, in _prepare_request download_infos = self.tracker.get_download_info(topic.url, topic.cat, episode.season, episode.number) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 583, in get_download_info meta_content = soup.find('meta').attrs['content'] KeyError: 'content'

INFO Check for changes Нэнси Дрю / Nancy Drew

FAILED Exception while execute topic Traceback (most recent call last): File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute episodes = self._prepare_request(topic) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 820, in _prepare_request download_infos = self.tracker.get_download_info(topic.url, topic.cat, episode.season, episode.number) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 583, in get_download_info meta_content = soup.find('meta').attrs['content'] KeyError: 'content'

INFO Check for changes Обломки / Debris

INFO Series Обломки / Debris not changed

INFO Check for changes 9-1-1 / 9-1-1

INFO Series 9-1-1 / 9-1-1 not changed

INFO Check for changes Ван Хельсинг / Van Helsing

INFO Series Ван Хельсинг / Van Helsing not changed

INFO Check for changes Студия Marvel: Общий сбор / Marvel Studios: Assembled

INFO Series Студия Marvel: Общий сбор / Marvel Studios: Assembled not changed

INFO Check for changes Наследие Юпитера / Jupiter's Legacy

FAILED Exception while execute topic Traceback (most recent call last): File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute episodes = self._prepare_request(topic) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 820, in _prepare_request download_infos = self.tracker.get_download_info(topic.url, topic.cat, episode.season, episode.number) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 583, in get_download_info meta_content = soup.find('meta').attrs['content'] KeyError: 'content'

INFO End checking for lostfilm.tv

INFO End execute

werwolfby commented 3 years ago

Да проблема в Cloudflare:

Detected a Cloudflare version 2 challenge, This feature is not available in the opensource (free) version.

Без понятия что с этим сделать пока :(

Leliil commented 3 years ago

Да проблема в Cloudflare:

Detected a Cloudflare version 2 challenge, This feature is not available in the opensource (free) version.

Без понятия что с этим сделать пока :(

Они там кучу доменов уже сделали, последний https://www.lostfilmtv.site/ открывается без всяких прокси и прочего, но на входе капча, скачивает файл без проблем. Подписан в телеге на TorrentMonitor, там вроде заработал lostfilm, но пользоваться очень не удобно из-за RSS, ваша программа прям выручает, указал какие сезоны/серии и все будет.

Altimitrus commented 3 years ago

может тут чего полезного есть ? https://github.com/lAnubisl/LostFilmTorrentsFeed

makar0nin commented 3 years ago

Интересно когда ждать разрешения проблемы ?

werwolfby commented 3 years ago

может тут чего полезного есть ? https://github.com/lAnubisl/LostFilmTorrentsFeed

И да и нет 😏. С одной стороны - это интересный способ закачки самих торрент файлов, надо взять на вооружение. С другой там id берётся из РССа, что не работает в случае с мониторрентом который напрямую со страниц сериала все берёт и не завязан таким образом на РСС. И это позволяет качать даже старый сериал с самой первой серии. В общем пока не похоже что мне это может хоть как-то помочь :(

Интересно когда ждать разрешения проблемы ?

В общем как пройти защиту Cloudflare простым способом, пока абсолютно не понятно... не хромиум же запускать, на котором она тоже возможно не пройдёт.

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

shemanaev commented 3 years ago

Так как эта гонка бесконечна, возможно, стоит добавить поле домена в настройки трекера. В целом прокатила замена на www.lostfilmtv.site, хотя он тоже использует cloudflare, но на странице вк есть несколько доменов без.

Leliil commented 3 years ago

Так как эта гонка бесконечна, возможно, стоит добавить поле домена в настройки трекера. В целом прокатила замена на www.lostfilmtv.site, хотя он тоже использует cloudflare, но на странице вк есть несколько доменов без.

Вы в форке контейнера меняли адрес и ставили его, или можно на установленном подмену сделать? Помню какие-то фиксы можно было на установленном вносить

shemanaev commented 3 years ago

@Leliil Правлю файл и монтирую его в контейнер

docker run --volume=/appdata/monitorrent/monitorrent.db:/var/www/monitorrent/monitorrent.db --volume=/appdata/monitorrent/lostfilm.py:/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py:ro -p 6687:6687 werwolfby/alpine-monitorrent:latest
Leliil commented 3 years ago

@Leliil Правлю файл и монтирую его в контейнер

docker run --volume=/appdata/monitorrent/monitorrent.db:/var/www/monitorrent/monitorrent.db --volume=/appdata/monitorrent/lostfilm.py:/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py:ro -p 6687:6687 werwolfby/alpine-monitorrent:latest

Вы lostfilm.py редактировали? Прямо в контейнере? В контейнере пробовал, не вышло что-то. По типу: https://github.com/werwolfby/monitorrent/issues/247#issuecomment-365567580

shemanaev commented 3 years ago

В Portainer выглядит так, например изображение

Leliil commented 3 years ago
  • Скачиваем lostfilm.py на сервер рядом с файлом бд (monitorrent.db).
  • Заменяем все вхождения lostfilm.tv на lostfilmtv.site.
  • Монтируем файл в контейнер.
--volume={путь к файлу}/lostfilm.py:/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py:ro

В Portainer выглядит так, например изображение

ну в принципе так и получалось в итоге, но что-то не помогло. В MC редактировал все вхождения, сбились ярлыки и прочее, значит изменения вступили в силу, но все равно ошибки сыпет, пишет

status changed: Error

Пробовал менять еще в 332 строке:

lostfilm\.tv
shemanaev commented 3 years ago

все равно ошибки сыпет, пишет

Это кто пишет? Докер?

Залил на гист свой отредактированный файл на всякий случай

Leliil commented 3 years ago

Это кто пишет? Докер?

MoniTorrent в логах. Ваш файл подсунул, тоже самое) :D В portainer прописал вроде все верно, файл положил рядом с базой

Host/volume       Path in container
/opt/lostfilm.py  /var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py

Странно, отключил прокси, все заработало, с прокси на капчу попадаю

zalessky commented 3 years ago

Новый домен: www.lostfilmtv.site cloudflare не замечен.

Можно ли в опции настроек лостфилма наряду с логином/паролем добавить выбор домена? Думаю, это решит туеву хучу проблем, в т.ч. с роскомпозором

RazielMalah commented 3 years ago

Новый домен: www.lostfilmtv.site cloudflare не замечен.

Можно ли в опции настроек лостфилма наряду с логином/паролем добавить выбор домена? Думаю, это решит туеву хучу проблем, в т.ч. с роскомпозором

Или как вариант добавить альтернативный трекер lostfilmtv.site Это будет наверное проще.

zalessky commented 3 years ago

Или как вариант добавить альтернативный трекер lostfilmtv.site Это будет наверное проще.

А почему только один этот? Их там вагон уже наплодилось: lostfilm.win, lostfilm.uno, lostfilm.run чем хуже? Уж лучше свой домен прописывать, если предыдущие заблочили или заддосили

makar0nin commented 3 years ago

все равно ошибки сыпет, пишет

Это кто пишет? Докер?

Залил на гист свой отредактированный файл на всякий случай

Подменил на своей машине, полет нормальный

kolobok22 commented 3 years ago

Странно, отключил прокси, все заработало, с прокси на капчу попадаю

видимо от ип прокси зависит. у меня через torproxy тоже попадало на Cloudflare. поднял прокси на aws - заработало

Grosses84 commented 3 years ago

Что-то пробую заменить содержимое файла lostfilm.py и всё перестаёт работать. Ошибка 500. Может ли это быть связано с тем, что в базе уже есть фильмы с ссылками на lostfilm.tv? Сервис monitorrent запущен из под винды.

Leliil commented 3 years ago

Что-то пробую заменить содержимое файла lostfilm.py и всё перестаёт работать. Ошибка 500. Может ли это быть связано с тем, что в базе уже есть фильмы с ссылками на lostfilm.tv? Сервис monitorrent запущен из под винды.

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

Grosses84 commented 3 years ago

Что-то пробую заменить содержимое файла lostfilm.py и всё перестаёт работать. Ошибка 500. Может ли это быть связано с тем, что в базе уже есть фильмы с ссылками на lostfilm.tv? Сервис monitorrent запущен из под винды.

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

К сожалению скачивание тоже не дало результатов. Сервис просто не поднимается с ним.

a-flash commented 3 years ago

У кого Windows: Останавливаем сервис, открываем оригинальный файл lostfilm.py программой notepad++ или другим нормальным редактором, открываем поиск и замена, найти: www.lostfilm.tv на что заменить: www.lostfilmtv.site обязательно с www. У меня сделало 10 замен. Запускаем сервис. Вроде работает.

zalessky commented 3 years ago

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

FAILED Exception while execute topic Traceback (most recent call last): File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute episodes = self._prepare_request(topic) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 813, in _prepare_request episodes = [episode for season in show for episode in season TypeError: 'NoneType' object is not iterable

А что нам скажет разработчик? Можно что-то сделать с этим?

liquidblasted commented 3 years ago

Подмена на .site сначала помогла, а сейчас опять все перестало пахать: FAILED

Exception while execute topic

Traceback (most recent call last): File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute episodes = self._prepare_request(topic) File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 811, in _prepare_request episodes = [show.last_season.last_episode] AttributeError: 'NoneType' object has no attribute 'last_season'

(питон-скрипт от уважаемого shemanaev выше)

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

a-flash commented 3 years ago

Тогда так: удаляем все добавленные торенты после правки. Возвращаем www.lostfilm.tv в файл lostfilm.py кроме строчки 457, там оставляем
download_url_pattern = 'https://www.lostfilmtv.site/v_search.php?a={cat}{season:03d}{episode:03d}' проверил, у меня добавляет новые сериалы и качает новые серии

liquidblasted commented 3 years ago

Тогда так: удаляем все добавленные торенты после правки. Возвращаем www.lostfilm.tv в файл lostfilm.py кроме строчки 457, там оставляем download_url_pattern = 'https://www.lostfilmtv.site/v_search.php?a={cat}{season:03d}{episode:03d}' проверил, у меня добавляет новые сериалы и качает новые серии

Спасибо! Тоже заработало так. До следующего раза... :))

zalessky commented 3 years ago

А у меня не заработало :( Либо руки кривые (вроде нет), либо опять какие-то проблемы с маршрутизацией или версткой лостфилма

liquidblasted commented 3 years ago

Со мной ранее сыграла злую шутку невнимательность, когда преименовал везде lostfilm.tv в lostfilm.site, а надо было в lostfilmTV.site

zalessky commented 3 years ago

я пробовал:

  1. взять https://github.com/werwolfby/monitorrent/blob/develop/monitorrent/plugins/trackers/lostfilm.py и в нем изменить лишь 457 строку (она оказалась рядом, но не на том же месте)
  2. откатить назад все изменения в файле от @shemanaev и оставить правленной только 457 строку
  3. достучаться до забекапленного контейнера и поправить 457 строку в нем
  4. подсунуть исправленные в 1 и 2 пунктах файлы обоим контейнерам - старому и новому все безрезультатно :(
shemanaev commented 3 years ago

@zalessky, @liquidblasted Можно ещё попробовать этот файл. Тут домен настраивается (Настройки->Trackers->LostFilm). Пулреквест я сделал, но забыл про тесты и пока нет времени.

zalessky commented 3 years ago

@zalessky, @liquidblasted Можно ещё попробовать этот файл. Тут домен настраивается (Настройки->Trackers->LostFilm). Пулреквест я сделал, но забыл про тесты и пока нет времени.

Спасибо! Торренты начали добавляться и скачиваться при рестарте мониторрента, пока страничка грузилась, в шапке промелькнула зеленая надпись о наличии новой версии, но сразу же пропала...

Grosses84 commented 3 years ago

Тогда так: удаляем все добавленные торенты после правки. Возвращаем www.lostfilm.tv в файл lostfilm.py кроме строчки 457, там оставляем download_url_pattern = 'https://www.lostfilmtv.site/v_search.php?a={cat}{season:03d}{episode:03d}' проверил, у меня добавляет новые сериалы и качает новые серии

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

nimbo78 commented 3 years ago

не подскажете в чём может быть проблема?

Exception while execute

Traceback (most recent call last):
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 791, in execute
    last_update = engine_downloads.add_torrent(e, filename, torrent, None,
  File "/var/www/monitorrent/monitorrent/engine.py", line 322, in add_torrent
    return self.engine.add_torrent(filename, torrent, old_hash, topic_settings)
  File "/var/www/monitorrent/monitorrent/engine.py", line 106, in add_torrent
    raise Exception(u'Torrent {0} wasn\'t added'.format(filename))
Exception: Torrent Mythic.Quest.Ravens.Banquet.S02E04.1080p.rus.LostFilm.TV.mkv.torrent wasn't added
zalessky commented 3 years ago

Снова отвалился домен. Попробовал пробросить маршрут через TOR - сразу cloudflare вылазит и конечно же не распарсивается. Вернул как было. Погуглил. Нашел решение. Новое зеркало: http://www.lostfilmtv.uno старый опять отвалился При прописывании в настройках - работает

nimbo78 commented 3 years ago

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

Exception while execute topic

Traceback (most recent call last):
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 743, in execute
    episodes = self._prepare_request(topic)
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 811, in _prepare_request
    episodes = [show.last_season.last_episode]
AttributeError: 'NoneType' object has no attribute 'last_season'

в списке сериалов так: Люцифер / Lucifer Last update: not specified

zalessky commented 3 years ago

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

Прочесть последние сообщения ветки и сделать как сказал @shemanaev - заменить файлик, ребутнуть и прописать новый домен

Leliil commented 3 years ago

Валит такую ошибку :/ lostfilmtv.uno заблокировали, поменял на lostfilm.tv, завернул трафик в openvpn (antizapret)

Traceback (most recent call last):
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 762, in execute
    episodes = self._prepare_request(topic)
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 839, in _prepare_request
    download_infos = self.tracker.get_download_info(topic.url, topic.cat, episode.season, episode.number)
  File "/var/www/monitorrent/monitorrent/plugins/trackers/lostfilm.py", line 592, in get_download_info
    meta_content = soup.find('meta').attrs['content']
KeyError: 'content'

Разными ошибками сыпет, видимо cloudflare блочит на Lostfilm.tv, по другим доменам тоже безрезультатно. Пробовал трафик через прокси, все плохо)

dzart1991 commented 3 years ago

Если вдруг кому интересно - у меня вроде лостфильм начал работать при:

В такой конфигурации свежедобавленный "Локи" успешно скачался, а также обновились ранее добавленные сериалы, у которых висит URL "lostfilm.tv"

liquidblasted commented 3 years ago

А вы ставили cloudscraper внутри контейнера? У меня и с ним не заработало при тех же условиях (.uno в настройках трекера и попытка добавить торрент с lostfilm.tv)

dzart1991 commented 3 years ago

Я слишком криворук для докера. У меня выделенная виртуалка с дебианом для целей медиасервера, monitorrent на ней же.

UPD: Видимо, у меня сильно старенький мониторрент 1.1.11, там в настройках трекера ссылок нет. Я исправлял файл (корнень мониторрента)/monitorrent/plugins/trackers/lostfilm.py

dzart1991 commented 3 years ago

https://github.com/werwolfby/monitorrent/blob/develop/requirements.txt Поменять версию cloudscraper в requirements.txt файле не поможет, вроде где-то задается контейнеру, что нужно для работы и прочее?

requirements.txt - это просто текстовый файл, который заботливый разработчик прикладывает к проекту, чтобы пользователь не заморачивался с поиском нужных модулей правильных версий, а одной командой "установить всё, что там написано" получил рабочий продукт. Там просто список модулей, что в программе используются, иногда с указанием версий.

Если верить гуглу, вариантов два: (как я уже писал ранее, не являюсь пользователем докера, ответственности за последствия не несу)

  1. Пересборка контейнера при наличии Dockerfile
  2. Зайти внутрь контейнера и обновить модуль
    • docker exec -it <id_контейнера> /bin/bash (или /bin/sh вместо /bin/bash, если не прокатило). Это должно запустить текстовую консоль контейнера.
    • pip3 install cloudscraper==1.2.28 Это должно установить внутри контейнера нужный модуль версии 1.2.28
    • Дальше из него надо выйти (скорее всего через exit) и зафиксировать состояние контейнера - docker commit <id_контейнера> <метка>

Вариант 2 взят из https://question-it.com/questions/2172149/kak-obnovit-paket-python-v-dokere. Следование ему может вызвать в дальнейшем неприятные вопросы при попытке обновить контейнер из репозитория автора из-за несовпадения истории коммитов или чего-нибудь в этом духе. Но это не точно.

Leliil commented 3 years ago

https://github.com/werwolfby/monitorrent/blob/develop/requirements.txt Поменять версию cloudscraper в requirements.txt файле не поможет, вроде где-то задается контейнеру, что нужно для работы и прочее?

requirements.txt - это просто текстовый файл, который заботливый разработчик прикладывает к проекту, чтобы пользователь не заморачивался с поиском нужных модулей правильных версий, а одной командой "установить всё, что там написано" получил рабочий продукт. Там просто список модулей, что в программе используются, иногда с указанием версий.

Если верить гуглу, вариантов два: (как я уже писал ранее, не являюсь пользователем докера, ответственности за последствия не несу)

  1. Пересборка контейнера при наличии Dockerfile
  2. Зайти внутрь контейнера и обновить модуль
  • docker exec -it <id_контейнера> /bin/bash (или /bin/sh вместо /bin/bash, если не прокатило). Это должно запустить текстовую консоль контейнера.
  • pip3 install cloudscraper==1.2.28 Это должно установить внутри контейнера нужный модуль версии 1.2.28
  • Дальше из него надо выйти (скорее всего через exit) и зафиксировать состояние контейнера - docker commit <id_контейнера> <метка>

Вариант 2 взят из https://question-it.com/questions/2172149/kak-obnovit-paket-python-v-dokere. Следование ему может вызвать в дальнейшем неприятные вопросы при попытке обновить контейнер из репозитория автора из-за несовпадения истории коммитов или чего-нибудь в этом духе. Но это не точно.

Да, я понял, потому и удалил сообщение. Думал что-то ссылается на этот файл.

Taran2ul commented 3 years ago

Раз автор подзабил на проект, то может кто-то рукастый форкнет его?

werwolfby commented 3 years ago

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

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

Taran2ul commented 3 years ago

Ну ладно, ладно :) Может воскресить разработку 2,0? И еще можно посоветоваться с автором TorrentMonitora. Вроде у него lost работает. И в телеграме у них комюнити побольше, глядишь чего посоветуют.

Leliil commented 3 years ago

Ну ладно, ладно :) Может воскресить разработку 2,0? И еще можно посоветоваться с автором TorrentMonitora. Вроде у него lost работает. И в телеграме у них комюнити побольше, глядишь чего посоветуют.

TorrentMonitor использует зеркало одного из участников телеграм канала, потому там с лостом +- нормально, а вот удалось ли автору обойти cloud flare, тут загадка)

zalessky commented 3 years ago

в порядке бреда: а что, если трафик до лоста пустить через WARP самого cloudflare? Свой трафик они не будут фильтровать... https://developers.cloudflare.com/warp-client/setting-up/linux?_gl=1v6tv5p_gaNTA0NDY3OTg0LjE2MjkxOTEyMjQ._gid*MTg2NDE0MTc5MC4xNjI5OTU2OTQ3

P.S. можно ссылку на телегу? поиском только боты ищутся

Leliil commented 3 years ago

в порядке бреда: а что, если трафик до лоста пустить через WARP самого cloudflare? Свой трафик они не будут фильтровать... https://developers.cloudflare.com/warp-client/setting-up/linux?_gl=1_v6tv5p__ga_NTA0NDY3OTg0LjE2MjkxOTEyMjQ.__gid*MTg2NDE0MTc5MC4xNjI5OTU2OTQ3

P.S. можно ссылку на телегу? поиском только боты ищутся

https://t.me/joinchat/DFRbKQvV_FQA8TatJjlWRw На сайте проекта есть ссылка

shemanaev commented 3 years ago

в порядке бреда: а что, если трафик до лоста пустить через WARP самого cloudflare? Свой трафик они не будут фильтровать...

К сожалению, будут (оно и логично, слишком большая дыра для ботов была бы).

$ curl https://www.lostfilm.tv/v_search.php?a=408003005 | grep -i Checking
    <h1><span data-translate="checking_browser">Checking your browser before accessing</span> lostfilm.tv.</h1>