Pull to refresh

Неплохой torrent-monitor для своего домашнего сервера

Проблемы современных torrent-monitor'ов


Давно искал torrent-monitor, который смог бы мониторить раздачи на трекерах, которые требуют логин/пароль. Варианты с cookies'ами не совсем подходили, как как:
  • они могли меняться (например, rutracker меня периодически забывает).
  • у меня рабочий/домашний комп — это одно (Windows 7), а сервер с rtorrent/rutorrent — это другое (FreeBSD 8.1). Можно ли автоматически синхронизировать cookies между разными браузерами/операционками — для меня большой вопрос.

Отдавать свой пароль сторонним сервисам тоже не очень хотелось, поэтому искал что-то, что можно было бы поставить себе на сервер.

Какое-то время спасал tvfedor.ru. Но это тоже начало надоедать:
  • дождаться обновления RSS-а (а если я занят/интернет не доступен/я уже еду домой?);
  • кликнуть на ссылку (а на работе не очень хотелось светиться заходами на торрент-трекеры. Просто так, на всякий случай);
  • ввести логин/пароль на сайте (ладно-ладно, они у меня сохраняются. Просто нажать на «Вход»);
  • немного промотать вниз и кликнуть на «Скачать .torrent»;
  • выбрать, куда сохранять .torrent-файл, чтобы rtorrent его подхватил (хотя эта папка у меня в Favorites, все равно это занимает время и клики);
  • ???
  • ПРОФИТ!!!

Да какой там профит. Столько кликов. Удручает.

Решение проблемы


Читая Хабр, в разделе q&a нашел ссылку на TorrentMonitor который написал местный Хабражитель KorP.



Что этот torrent-monitor умеет делать на данный момент своего развития:
  • слежение за темами на rutracker.org
  • слежение за темами на nnm-club.ru
  • поиск сериалов на lostfilm.tv
  • поиск сериалов на novafilm.tv

Скачал я его. Сконфигурил. Конфигурация проста (в отличие от) и хорошо описана в документации. Надо всего лишь создать юзера/базу в mysql и заполнить конфигурационный файл:

	//DB_host
	$host = "localhost";
	//DB_user
	$user = "torrentmonitor";
	//DB_password
	$pass = "***";
	//DB
	$db = "torrentmonitor";
	//path to save torrent files
	$path_to_torrent = "/mnt/media/video/watch/";
	//e-mail
	$email = "dm@noreply.eu";
	

Запустил.
Не запустилось, пришлось брать в руки tcpdump. Не буду писать, как и что я отлаживал, скажу сразу для тех, кто захочет поставить под FreeBSD (возможно и не только), что именно надо подправить (только для rutracker.org. Для других не смотрел, но, думаю, может быть аналогично).

1. В functions.php лучше вместо
curl_setopt($ch, CURLOPT_POSTFIELDS, "login_username={$log}&login_password={$pass}&login=Вход");

написать
curl_setopt($ch, CURLOPT_POSTFIELDS, "login_username={$log}&login_password={$pass}&login=%C2%F5%EE%E4");

дабы избежать проблем с UTF-8

2. В engine.php вместо
	                      } else
	                              $sess_cookie_rutracker = substr($log, strpos($log, "Set-Cookie: bb_data=")+20, 73);
	

мне пришлось написать так:
	                      } else {
	                              $sess_cookie_rutracker = substr($log, strpos($log, "Set-Cookie: bb_data=")+20, 75);
	                      }
	

Это было quick-and-dirty. На самом деле надо брать все, что между «Set-Cookie: bb_data=» и ";". Я временно (чтобы отладить по-быстрому) просто увеличил длину с 73 до 75. Надеюсь, разработчик это прочтет (а он обязательно прочтет) и сделает все красиво.

Осталась проблема с разъезжающимися панельками на высоких разрешениях, а так же не совсем очевидно, как редактировать учетные данные (Hint: надо нажать на слово "редактировать учётные данные:" и тогда выпадет форма для ввода трекера и логина/пароля). Автору я об этом написал. Он обещал исправиться (и уже, наверное, исправился).

И в заключении


Как говорится: «В целом я доволен». Я пока даже не знаю к чему придраться. С rutracker-ом работает. За пару-тройку недель сервер еще не подвесил. Что еще надо?
За счёт того, что torrent-monitor часто проверяет трекер (рекомендовано раз в 10 минут) и скачивает обновлённый торрент — на раздачу можно встать одним из первых, что ведёт к высокому рейтингу (для кого-то, кто живет вдали от больших городов и толстых каналов это может быть крайне актуально).
Думаю, у проекта большой потенциал, так как можно допилить его, чтобы можно было подключать «плагины» для других torrent-трекеров, а так же теоретически его можно запускать на рутерах (есть же на рутерах apache, php и mysql?).
Автор (напоминаю, что это KorP) не против перевести проект на GoogleCode/SourceForge/etc (посоветуйте ему, куда лучше и под какой лицензией), а так же будет рад помощи в оптимизации/усовершенствовании движка и написании модулей для поддержки других торрент-трекеров.
Tags:
Hubs:
You can’t comment this publication 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.