Pull to refresh

TorrentMonitor

Reading time 4 min
Views 59K
Как говорится — лень — двигатель прогресса. Я не открыл ничего нового и так же ничего нового не придумал. Взяться за реализацию этой идея меня подтолкнуло то, что универсальные мониторилки не в состоянии работать с некоторыми нашими трекерами (например rutracker.org), да и функционал немного не тот, что мне нужен. Проект изначально писался исключительно под себя, под свои требования и задачи, а потом захотелось поделиться им с людьми.

Список возможностей приложения выглядит следующим образом:
— слежение за темами на nnm-club.ru
— слежение за темами на rutracker.org
— слежение за релизерами на nnm-club.ru
— слежение за релизерами на rutracker.org
— поиск новых серий на lostfilm.tv
— поиск новых серий на novafilm.tv

Если вам стало хоть немного интересно, добро пожаловать под кат.


На самом деле я веду работу над проектом уже почти 2 года, выпуская новые версии, борясь с трекерами, падающими RSS лентами и сменой вёрстки. Для меня это не более чем хобби, но за эти практически 2 года я на столько его полюбил, что выпустил совершенно новую версию, которая удовлетворяет меня на 96% и это на 1% больше (лично для меня), что бы вот так писать о нём на хабре. Я не программист, поэтому код конечно далёк от идеала, да и я, за время работы над проектом, постоянно узнавал (и благодаря ему в том числе) для себя что то новое, что то переделывал, дописывал, удалял и писал с нуля. Вообще я считаю что у каждого человека должен быть вот такой вот свой проект, который он будет любить, работать над ним и получать от этого удовольствие.

Но это было лирическое отступление, вернёмся к теме.

За полтора года, я увидел интерес к этому проекту со стороны пользователей. Без какой-либо рекламы, имея только страничку у себя в уютной жжешечке блоге, систему скачали более 700 человек. За время работы над проектом я познакомился с отличным разработчиком под Mac OS, с которым мы работаем по сей день (уже над другими проектами), которому понравилась моя идея и он реализовал её под вышеупомянутую ОСь.

Спустя 3 месяца тишины (которые я активно трудился над функционалом), я представляю вам совершенно новую версию, которая получила огромное количество обновлений, о которых я сейчас и расскажу.

Во-первых — полностью изменён дизайн! Старая версия, как бы я её не переворачивал — не отвечала требованиям удобства работы с системой, поэтому в конце-концов было принято решение отрисовать дизайн с нуля. Разработкой дизайна занималась Татьяна Смирнова, и я остался очень доволен проделанной ей работой. Дизайн стал лёгким, при этом удобным. Вёрсткой и допиливанием JS кода занимался Максим Софронов (maxsof), и я хочу сказать огромное спасибо этим людям за помощь в работе над проектом. Думаю если бы не их помощь, проект застрял бы ещё очень на долго.

Во-вторых — движок был в очередной раз достаточно сильно переписан, скорость работы увеличилась в среднем на 15%, а стабильность и «цепкость» системы увеличилась в лучшую сторону.

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

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

Конечно многие скажут — «это можно реализовать парсингом RSS торрент-качалки» или «смотреть он-лайн круче» или «я вижу новые ссылки у себя в профиле на myshows.ru» и все они будут правы. Другой вопрос — кому что удобнее.
Как я говорил в самом начале — система писалась под себя, под собственные требования и нужды, а лично мне удобно получить уведомление о том что вышла новая серия, и я знаю, что придя домой я спокойно завалюсь на диван после рабочего дня и посмотрю свеженькую серию любимого сериала. Ведь всё что нужно для этого — один раз настроить мониторинг, один раз настроить торрент-клиент на «подсасывание» torrent-файлов из папки и вуаля — получаем готовую систему, которая разве что за вас посмотреть сериал не сможет :)

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

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

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

Ну и какой пост без картинок? :)
Скрытый текст











Задаётся много вопросов на тему того, что на lostfilm/novafilm не происходит обновление, объясню метод работы мониторинга: Технология работы монитора с lostfilm/novafilm — чтение RSS ленты, т.к. ленты возвращает только последние 20 раздач, соответственно если последняя серия вашего сериала вышла более 2-3 дней назад — скорее всего её уже в раздача нет, как только выйдет новая серия (появится в RSS ленте) — всё обновится. Поиск последних вышедших серий я не реализовывал, т.к. мне это показалось нецелесообразным.

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

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

upd: выложил исходники на github, приглашают всех заинтересованных
Tags:
Hubs:
+62
Comments 145
Comments Comments 145

Articles