Полтора года назад я уже писал здесь о своей разработке 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, он нужен для проверки обновления (но хотя если вообще прям параноик, можно и обновления не проверять :)).
С удовольствием выслушаю ваши мысли на тему дальнейшего развития проекта и интересного функционала.
Автор: KorP