Слежение за обновлениями на торренте

По мотивам: TorrentMonitor

Приветствую, Хабр!

Когда я столкнулся, где-то полгода назад, с ленью регулярно заходить на торренты и смотреть вышли ли новые серии, то сначала была реализована версия проверки новых серий на bash'e, путем парсинга даты обновления торрент-файлов со страницы темы.


В итоге первая версия (реализованная на bash+PHP) моего чекера имела следующий функционал:
— проверить дату торрент-файла (php)
— скачать торрент-файл (bash: curl, aria2)
— скачать последнюю серию (bash: aria2)

aria2
Особенности, за которые была выбран downloader «aria2»

aria2c -S $file
# показывает нам содержимое торрент-файла. Оттуда вытягиваем номера и позиции эпизодов.
# находим номер последнего доступного эпизода и его позицию с помощью хитрых манипуляций cредствами bash

aria2c -d /.../downloads --seed-time=0 --allow-overwrite=true --select-file=$max2 $file
# -d — куда качать
# --seed-time — параметр времени раздачи ( «0» — не раздавать)
# --allow-overwrite=true — разрешить перезапись файлов
# --select-file=$max2 — скачать файл, позиция которого соответствует номеру "$max2"



Мысль моя пошла дальше и в итоге сделано следующее:
— домашний сервер, к которому прикручен домен
— на сервере стоит простенький сервис (apache2+php+mysql)

Принцип действия:
Пользователь заходит на сайт и регистрируется. Заходит на личную страничку, где добавляет свои контакты:
— e-mail;
— icq;
— jabber.

И добавляет темы с трех торрентов:
— Rutracker.org
— Torrents.vtomske.ru
— Tomsktracker.org

Почему эти торренты?!
В силу того, что в Томске имеется разделение на «томскую сеть» и на «внешку», то наиболее популярными торрентами являются, как раз таки, Torrents.vtomske.ru и Tomsktracker.org. Рутрекер был прикручен из-за того, что там сериалов все ж больше и до Томска не всегда все доходит.


После того, как тема добавлена, сервер начинает регулярно проверять темы. Если торрент-файл какой-либо темы был обновлен (предполагаем, что обновление = выход новой серии), то сервер сообщит об этом пользователю на почту, в icq или в jabber (почти реализовано) в следующем формате:
Обновления
<Название темы с торрента>
Тема: <ссылка на тему>
Торрент-билет: <ссылка на скачивание торрент-билета>

Но и это еще не все. Что делать тем, кто редко проверяет почту, не пользуется icq или jabber? Им можно подписаться на паблик во vk.com/mestor. Куда постятся все обновления на торрентах. А оттуда экспортируется в twitter.

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

Итог.
Для личного использования (своего и друзьями) достаточно небольшого функционала и отсутствующего дизайна и оформления, кроме базового.
Получение опыта работы с apache-php-mysql.

P. S.
Планы:
— Приятный дизайн;
— Слежение за разделами, а не только за темами.

Ложка дегтя
Парсинг страниц весьма печальное и неблагодарное занятие.
Кривой код, поскольку все изучается в процессе реализации

И было бы очень хорошо, если бы сами торренты сделали оповещение об обновлении тем.
Tags:
торренты, php, bash

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.