Всем привет! Это вторая статья про мой небольшой проект Kinozal-Bot. Прошло полгода с момента первой публикации, с тех пор я забрасывал проект и возвращался к нему, добавляя новый функционал и исключая другой, ввиду ограничений Telegram для его реализации. В этой статье хочу рассказать про нововведения, а также кому вообще такое решение может быть полезно и какие задачи оно решает.
Изначальная идея заключалась в том, что бы не зависимо от моего нахождения, например, на работе или в дороге, у меня была возможно находить и загружать контент из торрент трекера Кинозал на свой домашний компьютер через телефон, а по приходу домой оставалось только включить телевизор, открыть приложение Plex и начать просмотр. Реализовать это получилось еще в первый месяц, где процесс интеграции (от загрузки торрент файла и самого контента до синхронизации с сервером Plex) происходит внутри одного интерфейса.
В моей повседневной жизни бот используется практически ежедневно, и чаще супругой, так как это удобно. Больше нет необходимости подходить к компьютеру (который чаще всего занят) и использовать разные интерфейсы по отдельности.
Лично для меня большую ценность представлять новостной канал Kinozal-News, где я в прямом смысле слова не пропускаю новинки Кино и узнаю о выходе новых сезонов знакомых сериалов. Посты генерируются автоматически на основе новых публикаций в торрент трекере Кинозал с фильтрацией по рейтингу (7.0+) и году выхода (2023+).
Каждый пост на канале содержит ? Magnet-ссылку для загрузки контента в вашем торрент клиенте (переадресация происходит автоматически в торрент клиент по умолчанию, как на компьютере, так и на телефоне). По мимо этого, каждый пост содержит краткую информацию о раздаче, а также #хештеги
по жанру для фильтрации контента на канале и кнопки с ссылками описания фильма или сериала в базах данных о кинематографе Кинопоиск и IMDb.
Удаленное управление
В интернете можно найти пару десятков приложений (хотя на ios
их куда меньше) для удаленного управления торрент клиентами (например, qBittorrent Controller или Transmission Remote), я сам ими пользовался, но все они требует прямого доступ к компьютеру, т.е. ваше устройство (например, телефон) с которого вы хотите управлять должно находиться в одной сети с компьютером, или, необходимо настроить свой VPN-сервер. В случае с ботом от вас не требуется устанавливать отдельно клиентскую часть на каждое устройство, т.к. Telegram возможно использовать и через браузер, а все запросы идут через Telegram api, который в данной ситуации выступает шлюзом между клиентом и сервером.
Бот поддерживает работу с двумя клиентами: qBittorrent и Transmisson, управление которыми можно настроить и использовать независимо от настройки или работоспособности трекера.
Единый интерфейс
Все торрент трекеры имеют устаревший интерфейс (еще 2010-х годов) и речи о мобильной версии там даже не шло. Порой когда я куда-то уезжаю и хочу скачать что-то на телефон или планшет для просмотра в дороге, найти раздачу становится целым испытанием, т.к. для доступа к привычным трекерам необходим VPN, а с телефона пользоваться такими сайтами жутко неудобно. Используя бот, вы получаете простой и удобный интерфейс, где возможно искать раздачи используя привычные фильтры (по году выхода и разрешению) и выгружать торрент файлы сразу в Telegram.
Добавление торрентов на загрузку также возможно с помощью инфо hash
или url-адреса торрент файла любого трекера. Для локальной загрузки контента на телефон, я рекомендую использовать LibreTorrent, который имеет открытый исходный код и загружает метаданные (как и сам контент) куда быстрее, того же uTorrent на Android.
Поиск по актеру
По мимо прочего, для каждой каждого фильма или сериала возможно получить список актеров, или напрямую искать актера в базе по его имени, что бы получить краткую информацию и его фильмографию, по которой в дальнейшем можно производить поиск.
Получение дополнительной информации через TMDB
Далеко не вся информация может быть полезной, хотя многие давно привыкли использовать Кинопоиск, для некоторых не секрет, что большая часть информации о зарубежных фильмах и сериалах берется из The Movie Database. Для меня, самой ценной информацией является даты выхода сезонов и серий, вот как это выглядит:
В боте данный поиск реализован через TMDB api по IMDb id
, который присутствует в каждой раздаче. Также, вы можете получить отдельную информацию о каждой серии, в том числе ее рейтинг и список приглашенных актеров.
Управление Plex
Так как конечным устройством для просмотра является телевизор на базе Android, на него необходимо установить клиентское приложение Plex и подключить его к вашему серверу, который запущен на компьютере. Вы можете как настроить автоматическую синхронизацию заданной секции (это должна быть директория, на которую нацелена загрузка в торрент клиенте по умолчанию), так и вручную через бота. По мимо этого, вы можете получить дополнительную информацию с сервера, такую как продолжительность серий, ее формат и разрешение, а также список последних просмотров (с временем остановки) и добавлений.
Из очевидных преимуществ подписки Plex Pass, это возможность загрузки вашего контента с сервера на локальное устройство, с возможностью просмотра без доступа к Интернету (чаще всего это телефон или планшет). Как альтернативное решение, второй торрент клиент я настроил на загрузку контента в отдельную директорию, которая в свою очередь настроена на синхронизацию с облачным хранилищем. Например, с помощью бота, я заранее могу поставить на загрузку выбранный фильм, а когда у меня появится стабильный доступ в Интернет, смогу начать просмотр онлайн с телефона (без ограничений, т.к. потоковая передача через приложение Plex без подписки очень часто прерывается) или загрузить этот файл себе на устройство. Возможно это и не идеальное решение, но пользуюсь я им уже давно.
Итог
Инструкцию по настройке, как и дополнительную информацию о проекте вы можете найти в исходном репозитории на GitHub. Я все еще вижу много возможностей для развития такого решения, но ввиду большого количество ограничений со стороны api
, не все получается реализовать, оно и логично, т.к. Telegram это в первую очередь мессенджер. У меня есть пара backend проектов (требуют доработки, только начал освоение JavaScript
), для реализации которых планирую сделать свой мобильный интерфейс, моя цель, интегрировать современный WebTorrent клиент и русскоязычные трекеры используя api для единого взаимодействия и управления через телефон. Если кому-то данная тема покажется интересной, буду рад помощи в реализации и совместной работе (вы можете написать мне на Habr).
Комментарии (4)
chaynick
05.07.2024 05:50+3Ну в принципе все задачи этого бота уже давно решены *arr https://wiki.servarr.com/ приложениями, в частности sonarr и radarr. Ну разве что будет не единое окно а целых два-три.
JustSokol
05.07.2024 05:50Круто
Спс за статью, интересно было послушать про подобную автоматизацию. Мб что-то возьму или за использую даже
adron_s
Все на баше. Хардкорно!