NMT-200 ЧаВо

TorrentWatch-X — верный помощник любителя сериалов

Статья Roman_V_M от 19.05.2011
Редакция от 10.09.2011

TorrentWatch-X представляет собой обработчик RSS-лент, работающий в связке с Transmission и предназначенный для автоматизации закачек торрентов, в частности свежих серий сериалов. Также возможна работа и с другими клиентами (с ограниченной функциональностью).
На зарубежных треккерах RSS-трансляции с прямыми ссылками на файлы .torrent являются стандартным сервисом, причем настраивать ленты можно в очень широких пределах. На русскоязычных треккерах, в свою очередь, дело обстоит похуже, но не безнадежно. Более подробную информацию можно найти на форуме сайта «Телестрекоза» в этой теме. Говорим спасибо г-ну serialM за собранные сведения. Сам я треккерами русскоязычных релиз-групп не пользуюсь, но ради эксперимента зарегистрировался на треккере Лостфильма и сформировал ссылку на RSS-ленту согласно рекомендациям в теме serialM. Следует отметить, что полностью сформированная ссылка в браузерах с поддержкой RSS-лент приводит на страницу с сообщением об ошибке, однако в TorrentWatch-X эта ссылка обрабатывается нормально.

Автор программы — некто wiebel, сайт проекта: code.google.com/p/torrentwatch-x. TorrentWatch-X — это по сути веб-приложение, написанное на php и работающее из-под веб-сервера, т. е. фактически оно является полностью переносимым и способно работать на любой платформе, где есть веб-сервер с поддержкой php5-cgi.

УСТАНОВКА TORRENTWATCH-X НА МЕДИАПЛЕЕРЫ POPCORNHOUR (И СОВМЕСТИМЫЕ)

На плееры TorrentWatch-X достаточно просто устанавливается из репозитория NMT CSI. Однако здесь есть огромные подводные грабли. Для переодического обновления RSS-лент установочный скрипт TorrentWatch-X добавляет соответствующую запись в crontab, но стартовый скрипт Transmission, причем как версии из LTU, так и версии из CSI, сбрасывает crontab, в результате чего после перезагрузки плеера RSS-ленты перестают обновляться. Причина этого мне непонятна, поскольку в стартовом скрипте Transmission никаких упоминаний crontab нет, однако так утверждает Padavan, и не верить ему у меня нет оснований. Тем более что на практике все подтверждается. (Поправка: к crontab общащается скрипт clutch в системном разделе.) Если вы используете Transmission из состава LTU, тогда для исправления ситуации нужно добавить в конец скрипта /share/Apps/LTU/user.scripts/on_start_transmission.sh следующие строки:

# Fixing TorrentWatch-X crontab record
crontab -l > /tmp/tw.cron.tmp
string_count=`grep -c "Torrentwatchx" "/tmp/tw.cron.tmp"`
if [ "$string_count" = "0" ] ; then
echo "*/15 * * * * /share/Apps/Torrentwatchx/crontab.sh >/dev/null 2>&1" >> /tmp/tw.cron.tmp
crontab /tmp/tw.cron.tmp
fi

Теперь после перезагрузки запись в crontab будет восстанавливаться автоматически. При использовании Transmsison из CSI эти строки нужно добавить в скрипт daemon.sh в конец блока, исполняемого при старте плеера.

UPD: в последней версии LTU Padavan убрал вызовы crontab из стартового скрипта Transmission (clutch) по моей просьбе, поэтому использовать вышеуказанные строки больше нет необходимости: записи в crontab, сделанные TorrentWatch-X и другими приложениями, больше не затираются.

UPD2: тем не менее, запись в crontab может слетать по непонятным причинам, поэтому использование вышеупомянутых строк рекомендуется.

УСТАНОВКА TORRENTWATCH-X ПОД LINUX

Как уже было сказано, TorrentWatch-X является кросс-платформенным приложением и может работать практически под любой операционной системой, на которой установлен веб-сервер с поддержкой php5-cgi. Ниже будет описана установка TorrentWatchX на Linux Ubuntu. Установка на другие системы осуществляется аналогично. Установку лучше всего осуществлять из терминальной сессии.

Установка TorrentWatch-X

1. Загружаем архив с TorrentWatch-X:

# wget http://torrentwatch-x.googlecode.com/files/TorrentWatchX-0.8.1.tar.gz

Ссылку рекомендуется скопировать со страницы загрузки TorrentWatch-X.
2. Распаковываем архив:

# gzip -dc TorrentWatchX-0.8.1.tar.gz | tar xf -

3. Переносим TorrentWatch-X в папку /var (или другую, указанную в конфиге веб-сервера) и устанавливаем соответствующие права.
3-а. Простой вариант, когда используются настройки веб-сервера по умолчанию:

# sudo mv -f ./TorrentWatchX-0.8.1 /var/www/twx
# sudo chmod -R 777 /var/www/twx

В Linux Ubuntu в папке /var/www размещаются файлы основного веб-сайта, доступного на 80-м порту (при использовании Apache2 или lighttpd). В других системах папка с основным веб-сайтом может отличаться.
3-б. Сложный вариант, если для TorrentWatch-X нужно создать отдельный виртуальный сервер:

# sudo mv -f ./TorrentWatchX-0.8.1 /var/twx
# sudo chmod -R 777 /var/twx

Папку можно изменить по своему желанию. Поскольку здесь мы вторгаемся в системные папки, операции выполняются от имени root (sudo).

Внимание: ссылка для скачивания, а также имена папок и файлов соответствуют последней на момент написания статьи версии TorrentWatch-X (0.8.1). При выходе новых версий параметры команд нужно соответственно скорректировать. Для обновления версии достаточно повторить шаги 1—3, но с новой версией.
4. Переименовываем файл конфигурации php.
4-а. Настройки веб-сервера по умолчанию:

# cp /var/www/twx/php/config.php.dist /var/www/twx/php/config.php

4-б. При использовании отдельного виртуального сервера:

# cp /var/twx/php/config.php.dist /var/twx/php/config.php

5. Создаем папку для хранения основного файла конфигурации и устанавливаем соответствующие права:

# sudo mkdir /etc/torrentwatch
# sudo chmod 777 /etc/torrentwatch

6. Добавляем запись в crontab для периодического обновления RSS-лент. Для этого набираем:

# sudo crontab -e

Выбираем текстовый редактор (нам рекомендуют простой nano, но хадкорные линуксоиды могут воспользоваться vi) и добавляем в таблицу следующую строку:
6-а (вариант с настройками веб-сервера по умолчанию):

*/15 * * * * /var/www/twx/rss_dl.php -D >/dev/null 2>&1

6-б (вариант с отдельным виртуальным сервером):

*/15 * * * * /var/twx/rss_dl.php -D >/dev/null 2>&1

После чего сохраняем crontab: жмем Ctrl+X для выхода из nano и подтверждаем сохранение. На этом установка TorrentWatch-X завершена.

Затем нужно установить и настроить веб-сервер с поддержкой php5. Я предпочитаю lighttpd, но TorrentWatch-X может работать и из-под других веб-серверов, например Apache. Ниже будет описана настройка обоих серверов.

Установка и настройка веб-сервера lighttpd для использования с TorrentWatch-X

1. Устанавливаем нужные пакеты:

# sudo apt-get install lighttpd php5-cgi

2. Открываем конфигурационный файл php:

# sudo nano /etc/php5/cgi/php.ini

В самый конец файла добавляем строку:

cgi.fix_pathinfo = 1

Сохраняем файл: жмем Ctrl+X и подтверждаем сохранение.
Далее открываем конфигурационный файл lighttpd:

# sudo nano /etc/lighttpd/lighttpd.conf

В список модов в начале файла добавляем строку:

"mod_fastcgi",

И в конец файла добавляем:

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))

Сохраняем файл и перезапускаем веб-сервер (см. ниже). На этом установка завершена. Однако если вы по тем или иным причинам хотите создать для интерфейса TorrentWatch-X отдельный виртуальный сервер, например чтобы отделить его от вашего основного веб-сайта, тогда выполните указанные ниже шаги.
Кроме конфигурации fastcgi, в конец файла /etc/lighttpd/lighttpd.conf также добавьте следующие строки:

$SERVER["socket"] == ":9999" {
server.document-root = "/var/twx"
}

Порт и папку можно изменить по своему желанию (см. шаг 3-б выше). Далее сохраняем файл.
3. Перезапускаем веб-сервер:

# sudo service lighttpd restart

Установка и настройка веб-сервера Apache для использования с TorrentWatch-X

1. Устанавливаем нужные пакеты:

# sudo apt-get install apache2 php5-cgi libapache2-mod-php5

На этом установка завершена. Однако если вы по тем или иным причинам хотите создать для интерфейса TorrentWatch-X отдельный виртуальный сервер, например чтобы отделить его от вашего основного веб-сайта, тогда выполните указанные ниже шаги.
2. Создаем файл конфигурации виртуального сервера TorrentWatch-X:

# sudo nano /etc/apache2/sites-available/twx

Добавляем в файл следующие строки:

Listen 9999
NameVirtualHost *:9999
<VirtualHost *:9999>
  DocumentRoot /var/twx
  ServerName (имя_сервера)
</VirtualHost>

Параметр ServerName соответствует имени вашего компьютера/сервера. Сохраняем файл конфигурации.

3. Активируем новый виртуальный сервер и перезапускаем Apache:

# sudo a2ensite twx
# sudo /etc/init.d/apache2 restart

Если при перезапуске появляется сообщение об ошибке: «Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName», нужно набрать:

sudo nano /etc/apache2/httpd.conf

и добавить в файл строку «ServerName (имя_сервера)» (такую же, как в конфиге виртуального сервера). После этого нужно сохранить файл httpd.conf и опять перезапустить Apache.
На этом установка завершена.
Примечание: если у вас уже установлен нужный веб-сервер с поддержкой php5-cgi, этап установки пакетов, естественно, можно пропустить.

НАСТРОЙКА TORRENTWATCH-X

Чтобы открыть интерфейс TorrentWatch-X, нужно ввести в адресной строке браузера:

- если TorrentWatch-X установлен в плеере: <адрес или имя плеера>:9999/Torrentwatchx_web/index.html, например http://PCH-A210:9999/Torrentwatchx_web/index.html;

- если TorrentWatch-X установлен на компьютере/сервере:
а) при настройках веб-сервера по умолчанию: <адрес или имя сервера>/twx, например http://ubuntu/twx;
б) при использовании отдельного виртуального сервера: <адрес или имя сервера>:9999, например http://ubuntu:9999.

При первом открытии интерфейса появится мастер настройки, который предложит выбрать ряд опций, необходимых для настройки TorrentWatch-X. В плеере мастер может не появляться.

Приветствие.

Выбор клиента: Transmission или сохранение файлов .torrent в папку (для других клиентов).

Выбор из трех встроенных RSS-лент (необязательно).

Newer Episodes Only: загружать только новые серии (по счетчику).

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

Save torrent files: сохранять файлы .torrent (понятно).

Настройка уведомлений по эл. почте. Как работает, не знаю. Жмем «Apply«, чтобы завершить начальную настройку.

Основной интерфейс состоит из нескольких вкладок, названия которых достаточно понятны. Внутри интерфейса TorrentWatch-X также отображается интерфейс Transmission — упрощенный на крайней правой вкладке и полный при нажатии на иконку в правом верхнем углу.


Для доступа к настройкам нужно нажать иконку с гаечным ключом (Configure). Я расскажу только о самых важных параметрах, назначение которых которых я знаю.

Вкладка «Client»

Client: Transmission (понятно) или Save torrent in folder (для других клиентов, умеющих подхватывать файлы .torrent из папки).

Download Dir: папка для загрузки по умолчанию. Обратите внимание на наличие слэша в конце.

Hostname/Port: адрес хоста, на котором запущен демон Transmission, и порт доступа к интерфейсу. По умолчанию здесь стоит localhost, но TorrentWatch-X может также управлять демоном Transmission на другой машине.

Username/Password: логин и пароль для доступа к интерфейсу, если интерфейс Transmission защищен паролем.

Вкладка «Torrent»

Deep Directories: автоматическое раскладывание скачиваемых файлов по папкам. Можно выбрать одно из нескольких правил именования папок. Возможные значения:

Full Name — папка с полным именем торрента;

Show Title — папка с названием сериала;

Show Title + Season — папка с названием сериала и подпапка с номером сезона;

Off — выключено. Файлы скачиваются в папку по умолчанию, указанную на вкладке «Client», или в папку, указанную в настройках фильтра (см. ниже).

Сами папки, точнее, подпапки, создаются в папке по умолчанию, указанной в настройках клиента. Отсутствующие папки создаются автоматически.

Default Seed Ratio: коэффициент сидирования по умолчанию.

Вкладка «Favorites»

Matching Style: тип фильтрации. Возможные значения: Simple (точное соответствие), RegExp (с использованием языка поисковых запросов) и Glob (глобальная). В большинстве случаев достаточно Simple. При этом отбираются торренты, содержащие все поисковые слова и не содержащие лишних слов. Т. е. если вы зададите фильтрацию сериала «CSI», сериалы «CSI: Miami» и «CSI: New York» будут пропускаться.

Set default feed to All: по умолчанию фильтровать все ленты.

Require episode info: отбирать только серии сериалов, т. е. торренты, содержащие номер сезона и номер серии в названии, например S04e02 или 3×15.

Newer Episodes Only: загружать только новые серии (по счетчику).

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

Вкладка «Feeds»

Вкладка для управления RSS-лентами. Для добавления ссылку на ленту нужно вставить в поле Add feed и нажать кнопку Add.

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

Кроме того, фильтр можно задать вручную либо отредактировать существующий, нажав кнопку с красным сердечном (Favorites) в левом верхнем углу.

Поля фильтра и их значения перечислены ниже.

Name: имя фильтра.

Filter: поисковый запрос (простой, в виде слов, или сложный, в виде выражений с операторами, если выбрана опция RegExp).

Not: слова для исключения.

Save In: папка для сохранения. Не забываем про слэш в конце. При «Default» папка определяется настройками «Deep Directories». Если здесь прописана папка и включены »Deep Directories», то папки «Deep Directories» будут создаваться внутри указанной папки.

Episodes: можно указать, какие серии нужно загружать. В поле можно указывать либо начальную серию, например 2×01 (первая серия второго сезона), либо диапазон, например 2×01-2×24.

Feed: RSS-лента, которую нужно фильтровать.

Quality: отбор файлов нужного качества по тэгам в имени торрента, например «HDTV» или «720p».

Seed ratio: коэффициент сидирования.

Поле Last Downloaded Epsiode, хоть и доступно для редактирования, но является служебным. Это счетчик скачанных серий. В общем случае его трогать не нужно.

Предложения и замечания просьба оставлять в комментариях.

 

 

 

17 комментариев к этой записи

  • antherion

    Мастхэв

  • Poslanec

    root@server:~# service lighttpd restart
    * Stopping web server lighttpd [ OK ]
    * Starting web server lighttpd 2011-05-21 11:03:12: (network.c.358) can’t bind to port: 80 Address already in use [fail]
    root@server:~#

    машина такая:
    Linux server 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
    CPU = AMD Sempron(tm) Processor 2500+, 1 cores

    то, что 80 порт цепляется из-за ipv6 вроде понятно, и что если ipv6 отключить совсем — должно заработать — вот только как, что то не догоняю.

    • Roman_V_M

      Я процедуру установки проделывал на ванильном Ubuntu-server LTS без всякого твикинга, вроде отключения ipv6.
      У тебя другой веб-сервер, случайно, не стоит? Апач, например, или другая софтина, которая 80-й порт слушает? Но вообще 80-й порт нам не нужен, с моими настройками TorrentWatch должен слушать 9999.
      Если же лайти вообще не стартует, попробуй поменять основной порт по умолчанию в конфиге:
      server.port = 81 (или другой).

    • Dimez

      От рута

      netstat -apn | grep ":80"
  • Roman_V_M

    Исправил ошибку в п.5 процедуры установки TWX и добавил инфу про Апач и мастер настройки.

  • Антон

    А как открыть веб-интерфейс? захожу на http://192.168.1.50(адрес моего А-200):9999 и получаю Firefox не может установить соединение с сервером 192.168.1.50:9999.

  • Антон

    А что поменялось? Точно такой же ответ выдает ФФ, что на 192.168.1.50:9999/Torrentwatchx_web, что на 192.168.1.50:9999. ФФ не может установить соединение.

    Просмотрел часть про установку на убунту. Там требуеся или апач, или lightppd. На плеер сервер не нужно ставить?

  • Евгений

    Подскажите это приложение само с какой-то периодичностью проверяет ленты на наличие торрентов, соответствующих фильтрам, или нужно вручную открывать http://pch-c200:9999/Torrentwatchx_web/ и перегонять соответствия в Трансмишн?
    Если само, то с какой периодичностью?

    • Roman_V_M

      Если бы вручную, то это была бы не «автоматизация» :)
      Установщик CSI добавляет запись в crontab плеера для проверки лент каждые 15 минут.

      ЗЫ. Кстати, вышла версия 0.8.0, в которой главный интерфейс немного изменился. Теперь вместо кнопок слева в каждой строке используется раскрывающееся меню, а также можно добавлять в избранное сразу несколько сериалов, последовательно кликнув на них и нажав кнопку с сердечком в правом верхнем углу.

      • Евгений

        Спасибо! Помогите, пожалуйста, для примера добавить в фавориты сериал «Белый воротничок» отсюда:
        http://rutor.org/search/%D0%B1%D0%B5%D0%BB%D1%8B%D0%B9+%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%B8%D1%87%D0%BE%D0%BA
        в таком качестве:
        http://rutor.org/torrent/118762/belyj-vorotnichok_white-collar-03×01-09-2011-web-dlrip-newstudio
        Я добавил так:
        [img]http://nmt200.ru/wp-content/uploads/comment_images/post-3874/2011/8/dc20959dbaaa9fb99cab67b3ee3301f8.jpg[/img]в фильтре «Белый воротничок / White Collar [03x01-??] (2011) WEB-DLRip | NewStudio».
        В настройках фаворитов Matching Style: RegExp.
        Поправьте, пожалуйста, если я сделал неправильно.

        • Евгений

          Однако, не сработало. Сегодня появилась новая серия, но закачки в трансмишене я не нашел :(

          • Roman_V_M

            Все неправильно. Во-первых, зачем RegExp? Вы хорошо владеете синтаксисом регулярных выражений (я, например, нет)? Во-вторых, такая навороченная строка никогда не сработает. И в третьих, я не вижу в ленте отдельных серий White Collar. Что тогда вы собрались качать?
            Не, я как бы в курсе, что на некоторых криворуких русскоязычных треккерах свежие серии могут выкладывать путем добавления в существующие раздачи, но это тупорылый дебилизм, и с ним ни один фильтр работать не будет (на заграничных треккерах за подобное вообще банят).
            На всех порядочных треккерах свежие серии релизятся по отдельности с указанием номера серии и сезона (sAAeBB или AxBB), и именно с такими релизами умеют работать RSS-фильтры.

            • Евгений

              зачем RegExp? — Именно потому, что серии выкладываются путем добавления. При этом меняется название в этом месте [03x01-??]. Я думал так.
              Ну что же, жаль. Треккер-то хороший, и ссылки отдает без регистрации и новинки шустро появляются. Будем искать правильный русскоязычный. Спасибо!

              • Roman_V_M

                РегЭкспы — штука заморочная, и в них легко ошибиться. Кроме того, неизвестно, насколько их реализация в TWX соответствует стандарту. В вашем случае могу только посоветовать проверить, снята ли галка «Require Episode Info» и поиграться с параметрами и строкой поиска, чтобы ловить эти торренты только по шаблону имени, без учета номеров серий. Предполагается, что торрент будет сохраняться в ту же папку и делать речек для докачки недостающих серий.
                Но не знаю, получится ли. На ведущих сериальных треккерах раздача новых серий по отдельности — негласный стандарт, и софт для работы с RSS-лентами затачивается под него.

                • Евгений

                  В процессе поиска порядочного русскоязычного треккера выяснилось, что продолжение White Collar будет аж в следующем году. Поэтому придется отложить эксперименты, пока осенью не возобновятся другие периОдики, которые мы смотрим (Сбежавшая работа, Интерны, Теория Большого взрыва, Прожекторпэрисхилтон).

                  Спасибо!

2010–2017 © NMT-200 ЧаВо