transmission: автоматическое добавление трекеров

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 04 мар 2016, 14:36

Из transmission-cfp была позаимствована фича, которую я так и не дождался в недавнем релизе 2.90: возможность исполнения скриптов сразу после добавления торрента.

Скрипт ниже позволяет автоматически добавлять к каждому новому торренту доп. трекеры, где встречается эта же раздача. Он может быть полезен в случае, когда вы скачиваете мёртвый торрент без сидов на текущем трекере.

При остановленном transmission добавьте в /opt/etc/transmission/settings.json две строки:

Код: Выделить всё

"script-torrent-added-enabled": true,
"script-torrent-added-filename": "/opt/etc/transmission/tr_added.sh",

Создайте скрипт /opt/etc/transmission/tr_added.sh с следующим содержанием:

Код: Выделить всё

#!/bin/sh

base_url='http://torrentz.eu'
pattern='announcelist_[0-9]+'

if [ -z "$TR_TORRENT_HASH" ] ; then
    echo 'This script should be called from transmission-daemon.'
    exit 1
fi

announce_list=`wget -qO - ${base_url}/$TR_TORRENT_HASH | grep -Eo "${pattern}"`

if [ -z "$announce_list" ] ; then
    logger -t $(basename $0) "No additional trackers found for $TR_TORRENT_NAME, sorry."
    exit 1
fi

for tracker in $(wget -qO - ${base_url}/${announce_list}) ; do
  logger -t $(basename $0) "Adding ${tracker} to $TR_TORRENT_NAME"
  transmission-remote -t $TR_TORRENT_HASH -td ${tracker}
done

Cделайте скрипт исполняемым и запустите transmission:

Код: Выделить всё

chmod +x /opt/etc/transmission/tr_added.sh
/opt/etc/init.d/S88transmission start


Теперь добавление каждого нового торрента будет сопровождаться сообщениями в сислоге:

Код: Выделить всё

Mar  4 13:39:50 tr_added.sh: Adding http://retracker.krs-ix.ru:80/announce to debian-8.3.0-amd64-CD-1.iso
Mar  4 13:39:50 tr_added.sh: Adding http://explodie.org:6969/announce to debian-8.3.0-amd64-CD-1.iso
Mar  4 13:39:50 tr_added.sh: Adding http://mgtracker.org:2710/announce to debian-8.3.0-amd64-CD-1.iso
Mar  4 13:39:50 tr_added.sh: Adding http://tracker.aletorrenty.pl:2710/announce to debian-8.3.0-amd64-CD-1.iso
Mar  4 13:39:50 tr_added.sh: Adding http://tracker.bittorrent.am/announce to debian-8.3.0-amd64-CD-1.iso

или…

Код: Выделить всё

Mar  4 13:24:52 tr_added.sh: No additional trackers found for debian-8.3.0-amd64-CD-2.iso, sorry.

…если трекеры с этой раздачей на torrentz.eu не найдены.

Boomer
Сообщения: 17
Зарегистрирован: 24 мар 2016, 10:35

Сообщение Boomer » 25 мар 2016, 02:45

Что-то не получилось. Сделал все как описано выше, но сообщения в сислоге не появляется и не отрабатывает скрипт. Возможно потому что Entware-ng установлено у меня на диск с файловой системой NTFS (видел сообщение о том что не поддерживает права на этой ФС, но вроде потом ниже разрабы писали что связались с автором модуля для работы с NTFS разделами и он добавит возможность работы с правами на файлы)

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 25 мар 2016, 10:44

Редактировать settings.json необходимо только при остановленом transmission, иначе все правки вы потеряете.
Работы скрипта можно проверить в консоли, передав в двух используемых переменных хэш и произвольное имя торрента и запустив его прямо в консоли:

Код: Выделить всё

TR_TORRENT_HASH='c2ec10714dc5d9ce3cda48c3afd6a6416f054e79' TR_TORRENT_NAME='test' /opt/etc/transmission/tr_added.sh

Boomer
Сообщения: 17
Зарегистрирован: 24 мар 2016, 10:35

Сообщение Boomer » 25 мар 2016, 21:49

Settings.json изменял при выключенном Transmission
Александр Рыжов писал(а):Источник цитаты Работы скрипта можно проверить в консоли, передав в двух используемых переменных хэш и произвольное имя торрента и запустив его прямо в консоли:

Кажется разобрался с запуском скрипта, запустил и он мне выдал это:

Код: Выделить всё

~ # sh /opt/etc/transmission/tr_added.sh TR_TORRENT_HASH='c2ec10714dc5d9ce3cda48c3afd6a6416f054e79' TR_TORRENT_NAME='test'
: not foundansmission/tr_added.sh: line 2:
: not foundansmission/tr_added.sh: line 5:
/opt/etc/transmission/tr_added.sh: line 18: syntax error: unexpected word (expecting "do")

2 и 5 - строки пустые, если их убрать - ошибки пропадают. а вот с командой "do" что делать - пока не понял.

Boomer
Сообщения: 17
Зарегистрирован: 24 мар 2016, 10:35

Сообщение Boomer » 28 мар 2016, 01:41

Проверил еще запускается ли из Transmission скрипт (убрал все, оставил только команду "logger"). Не запускается скрипт.
При запуске напрямую из терминала командой sh /opt/etc/transmission/tr_added.sh в сислог пишется сообщение, при добавлении торрент файла - никакого сообщения не появляется. Конфиг файл Transmission проверял, обе строки присутствуют, и путь верный к скрипту прописан.

Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 29 мар 2016, 11:18

Boomer писал(а):Источник цитаты /opt/etc/init.d/S88transmission start

Привет,сегодня проверил у себя на роутере этот скрипт,все работает.!!!zyxel keenetic 2. Торрентом каждый день пользуюсь поэтому считаю фичу очень полезной.Александру Рыжову респект!!!

Boomer
Сообщения: 17
Зарегистрирован: 24 мар 2016, 10:35

Сообщение Boomer » 30 мар 2016, 22:16

Александр Рыжов, скажите, а переменная tracker объявлена где-то? а то все же не могу разобраться с ошибкой "/opt/etc/transmission/tr_added.sh: line 18: syntax error: unexpected word (expecting "do")" может потому что переменная не объявлена - она выскакивает?

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 31 мар 2016, 09:33

Объявлена.
Нет, не поэтому.

Boomer
Сообщения: 17
Зарегистрирован: 24 мар 2016, 10:35

Сообщение Boomer » 01 апр 2016, 09:06

Все, разобрался в чем проблема.
Хоть и делал через Notepad ++, но через txt файл. Оказалось в каждой строке были невидимые символы их видно было только через vi, убрал и все заработало. Александр Рыжов, Спасибо за скрипт :)

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 01 апр 2016, 09:26

Boomer писал(а):Источник цитаты Все, разобрался в чем проблема.
Хоть и делал через Notepad ++


В Notepad++ в меню есть "Правка -> EOL Конверсия"


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 4 посетителя :: 0 зарегистрированных, 0 скрытых и 4 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя