PluginRutracker_check.ru - Novik/ruTorrent GitHub Wiki
- Плагин предназначен для работы с трекером rutracker.org, если Вы данным трекером не пользуетесь, то и плагин Вам не нужен (и далее можно не читать).
На трекере rutracker.org очень любят обновлять раздачи. Или объединять их. Или удалять. При этом никаких сообщений типа "торрент не зарегестрирован на трекере" клиенту почему-то не приходит. При наличии на раздаче несколько десятков, а то и сотен закачек с данного трекера, проблема отслеживания их состояния становится весьма актуальной. Именно для автоматизации данного процесса и предназначен этот плагин.
Фактически, плагин состоит из двух независимых частей. Это
После инициализации плагин периодически бегает по списку сидируемых торрентов, выбирает из них принадлежащие трекеру rutracker.org, и смотрит в раздел торрента "комментарий" - для данного трекера там содержится ссылка на тему на форуме, в которой происходит обсуждение раздачи. Минимальное преобразование данной ссылки дает URL загрузки собственно торрента. Делается попытка скачать торрент. При удаче (трекер выдал 200 ОК и отдал торрент) хеш торрента сравнивается с имеющимся. Если они совпадают - все хорошо, никаких дополнительных действий не требуется. Если нет - плагин делает попытку заменить текущую раздачу новой. В случае, если торрент скачать не удалось, плагин ориентируется на код ответа трекера - если он 200 ОК, но ответ торрента не содержит, то, вероятно торрент был удален. В противном случае (получили не 200 ОК, вообще не законнектились) - трекер недоступен. В любом из этих двух случаев автоматического удаления проблемной закачки не происходит, она просто помечается соответствующим образом на интерфейсе. Выглядит это так:
Строчка "Произведена:" содержит время, прошедшее с последней проверки, строчка "Результат:" - статус проверки. Возможные статусы:
- "В процессе" - проверка состояния происходит прямо сейчас.
- "Был обновлен" - в результате последней проверки торрент был автоматически обновлен.
- "Обновление не требуется" - хеш локального торрента идентичен таковому на трекере.
- "Возможно, удален" - возможно, торрент был удален с трекера, рекомендуется ручная проверка.
- "Ошибка доступа к трекеру" - не удалось получить с трекера что-либо внятное. Возможно, он недоступен.
- "Ошибка взаимодействия с rtorrent" - что-то пошло не так. rtorrent упал, например.
- "Нет необходимости" - торрент получен с другого трекера.
В случае 4 торрент будет дополнительно выделен на интерфейсе, таким образом:
Обращаю внимание на ряд моментов:
- Для корректной работы нужно иметь установленный плагин LoginMgr и, соответственно, заполнить в нем логин/пароль к аккаунту на трекере.
- Процесс проверки начинается только после первой загрузки ruTorrent. Т.е. в промежуток между стартом rtorrent и первым после этого стартом ruTorrent никакой полезной работы производиться не будет. Чтобы избежать этого, нужно добавить в конфигурационный файл rtorrent специально обученную строчку.
- Если трекер недоступен, то текущий сеанс проверки будет немедленно прерван, чтобы не создавать излишнюю нагрузку.
- Автоматическая проверка выполняется только над закачками в состоянии "Сидирование", т.е. для частично загруженных или остановленных закачек она не производится. Последнее можно обеспечить с помощью
Плагин добавляет в меню закачки команду "Проверить обновление" (см. скриншот выше). Результат ее выполнения идентичен автоматической проверке, за исключением того, что список проверяемых закачек определяется пользователем, а не плагином.
Производится в файле plugins/rutracker_check/conf.php
.
-
$updateInterval
- переменная содержит интервал в минутах между автоматическими проверками состояния торрентов. По умолчанию - 1 час. Для запрета автоматической проверки вообще, следует выставить значение данной переменной в ноль.