Pull to refresh

TorrentMonitor и снова здравствуйте

Reading time4 min
Views22K
Полтора года назад я уже писал здесь о своей разработке TorrentMonitor. Кто-то может быть уже читал и давно пользуется, а кто-то может быть даже и не слышал, поэтому хочу поведать вам о ней ещё раз, тем более что полтора года я не сидел сложа руки. Это автоматическая система слежения за торрент-трекерами, которая автоматизирует процесс скачивания торрент-файлов.



Самое главное для такой системы — это расширение количества поддерживаемых трекеров, не в угоду качеству, конечно же. За это время количество поддерживаемых трекеров увеличилось вдвое. На самом деле прикрутить поддержку очередного трекера дело нескольких часов, если только он не использует какой-то совсем уж заумный движок или слишком не удобен для парсинга (в основном это относится к именованию топиков раздач, к примеру добавить animereactor.ru не представилось возможным, ввиду отсутствия стандарта именования раздач). Теперь список поддерживаемых трекеров выглядит следующим образом:
  • anidub.com
  • baibako.tv
  • casstudio.tv
  • kinozal.tv
  • lostfilm.tv
  • newstudio.tv
  • nnm-club.me
  • novafilm.tv
  • rutor.org
  • rutracker.org
  • tfile.me

Трекеры между собой делятся на 2 типа:
— Форумные — те, у которых есть обновляемых раздачи
— Одиночные — те, на которых новые серии выкладывают по одной

Тут я немного подробнее расскажу о том, как это работает, потому что это является частым вопросом. Многие добавляют для мониторинга сериал на lostfilm.tv и ждут, что сразу что-то должно произойти, но это не так. Монитор среагирует на этот сериал только когда он появится в RSS ленте, а вот если добавить тему с rutracker.org, то torrrent-файл скачается сразу же после первого запуска системы, а в следующий раз, уже только когда будет перезалит torrrent-файл на трекере.

Формуные трекеры, имеют так же возможность следить и за релизерами

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

Вторым основным нововведением стала, наконец-то, поддержка торрент-клиентов, которая позволяет передавать torrent-файл непосредственно клиенту, который его качает, и при этом умеет удалять предыдущую раздачу из клиента (не важно какого типа раздача, «формуная» или «одиночная»). «Дружит» TM с Transmission и Deluge, т.к. это самые популярные клиенты среди моих пользователей и их просили «прикрутить». Это стало, пожалуй самым большим, расширением функционала за это время. Но, к сожалению, здесь есть ограничения — работает это только на *nix, т.к. работа строится через консоль этих клиентов.

Так же, в связи с блокировками некоторых трекеров у домашних провайдеров, очень сильно просили приделать возможность работы через proxy, что так же было реализовано и теперь систему можно завернуть в tor (его установить и сконфигурировать придётся, конечно же отдельно). А класс, работающий с БД, стал универсальным и поддерживает: MySQL, SQLite, PostgreSQL.

На удивление, ТМ стал достаточно популярен, я вижу, что его прикручивают не только на машины с Windows/Linux/Mac OS на которых он, естественно, нормально работает, но и на различные «коробочные» устройства на базе Linux`а: zyxel keenetic, различных NAS`ах, а так же на nas4free.

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

А вообще мне крайне интересно развивать проект дальше, мне будет крайне интересно поработать с программистами что бы улучшить систему или добавить в неё новый функционал, добавить для работы новые торрент-трекеры и узнать для себя ещё что то новое. По этому всех желающих я приглашаю на github.

Ну и самое главное, ссылка на последнюю версию 0.9.2 ну а как развернуть и проверить систему, описано в readme файле в архиве.

А тут я спрячу оставшиеся скриншоты :)




Системные требования:
PHP 5.3 и выше, должен быть собран с поддержкой cURL и PDO.
Так же, в php.ini (для CLI) необходимо изменить следующие параметры:
max_execution_time = 300
allow_url_fopen = on (эту опцию желательно включить в php.ini как для CLI, так и для веб-сервера)
выставить date.timezone

Разворачиваем:
  • скачиваем архив
  • импортируем дамп базы из директории db_schema в зависимости от используемой БД — *.sql
  • переносим все файлы в папку на вашем сервере (например /var/www/htdocs/torrentmonitor/)
  • правим config.php и указываем данные для доступа к БД
  • заходим в веб-интерфейс (пароль по умолчанию — torrentmonitor, смените(!) его после первого входа).
  • указываем учётные данные от трекеров
  • указываем в настройках путь для сохранения торрентов (папка, которая мониторится вашим торрент-клиентом), e-mail и включаем/отключаем отправку уведомлений
  • добавляем торренты для мониторинга
  • переходим на вкладку «тест» и проверяем — всё ли верно работает
  • добавляем в cron engine.php

*/10 * * * * php -q /path/to/folder/torrent_monitor/engine.php

И пара слов для параноиков: Пароли от ваших учёток хранятся у вас в БД, ко мне ничего не отправляется. Для собственного спокойствия вы можете закрыть любую активность на мой домен, кроме файла korphome.ru/torrent_monitor/version.xml, он нужен для проверки обновления (но хотя если вообще прям параноик, можно и обновления не проверять).

С удовольствием выслушаю ваши мысли на тему дальнейшего развития проекта и интересного функционала.
Tags:
Hubs:
+61
Comments76

Articles