Намедни мы настроили transmission понимать черный список и не терять его при рестарте. Сегодня для альтернативно ленивых — автоматизация обновления этого чёрных списков, в том числе из нескольких источников.
1. Настраиваем трансмишн на работу с черными списками как описано ранее
2. Выясняем папку где лежит конфиг. Для этого
Смотрим в Services > BitTorrent
параметр Configuration directory
(напоминаю, мы его давным-давно задавали руками)
В моем случае /mnt/WD2T/Files/start/sys
3. К сожалению, ЖЖ корёжит коды, а яндекс не даёт долгоживущих прямых ссылок, так что здесь слегка через париЖ .
Качаем скрипт blocklists_updater.sh с моего яндекс диска
https://yadi.sk/d/Pdkbrzpv3EryDQ
Переносим на NAS, например в папку Медиа. А оттуда — в созданную в подпапку blocklists папки из п 2
Задаём права и владельца. Хоть это и скрипт, права на исполнения давать не считаю нужным, будем вызывать явным образом
nas4free sys/ root~$ cp -a /mnt/Pool/Media/blocklists_updater.sh /mnt/WD2T/Files/start/sys/blocklists
nas4free sys/ root~$ cd /mnt/WD2T/Files/start/sys/blocklists
nas4free blocklists/ root~$ chown transmission:www blocklists_updater.sh
nas4free blocklists/ root~$ chmod 666 blocklists_updater.sh
nas4free blocklists/ root~$ ls -la
total 3358
drwxr-xr-x 2 transmission www 4 Mar 1 22:35 ./
drwxrwxrwx 7 www www 13 Mar 1 22:32 ../
-rw-rw-rw- 1 transmission www 3280728 Feb 24 01:23 blocklist.bin
-rw-rw-rw- 1 transmission www 3789 Mar 1 22:29 blocklists_updater.sh
3. редактируем скрипт blocklists_updater.sh
nas4free blocklists/ root~$ nano blocklists_updater.sh
Здесь параметр в 9 строке надо указать имя вашей конфигурационной папки (из п 2).
В моём случае 8 и 9 строки
#Path configuration
folderConfigTransmission=/mnt/WD2T/Files/s
Выходим из nano с сохранением (Ctrl-X, Y, Enter)
4. Список блоклистов скрипт читает из файла list_blocklist, расположенного в конфигурационной папке.
При желании что-то изменить можете заполнить его по шаблону: LIST_NAME AUTHOR FILENAME_AFTERDOWNLOAD BLOCKLIST_URL
Списков в файле может быть несколько — трансмишн сам при нужде должен склеить. Я использую тот же список, что в ручном варианте.
В результате у меня содержимое файлика выглядит так:
JohnBitsurge JohnBitsurge biglist.gz «http://john.bitsurge.net/public/biglist.p2p.gz»
Кладём эту строку в этот файл,
nas4free blocklists/ root~$ cd ..
nas4free sys/ root~$ nano list_blocklist
Выходим из nano с сохранением (Ctrl-X, Y, Enter)
Задаём права-владельца
nas4free sys/ root~$ chown transmission:www list_blocklist
nas4free sys/ root~$ chmod 666 list_blocklist
5. Давайте запустим наш скрипт с полными путями, как будем запускать в кроне
/bin/sh /mnt/WD2T/Files/start/sys/blocklists/blo
В результате нескольких запусков в логе вижу
nas4free sys/ root~$ cat update_blocklists.log
[Wed Mar 1 23:03:03 MSK 2017] Update found and downloaded for: JohnBitsurge (JohnBitsurge)
[Wed Mar 1 23:03:57 MSK 2017] No update for: JohnBitsurge (JohnBitsurge)
[Wed Mar 1 23:04:02 MSK 2017] No update for: JohnBitsurge (JohnBitsurge)
То есть первый раз файл загрузился, далее скрипт проверяет оставшийся неизменным размер и не грузит. Если размер изменится, скрипт должен его загрузить и рестартовать transmission. Убедимся в этом со временем. Но для этого
6. Добавляем через веб-морду наш скриптик в крон от пользователя root (к сожалению, от transmission в nas4free не удаётся рестартовать одноимённый сервис 🙁 ). Я запускаю его раз в сутки, но можно и раз в неделю/месяц.
На картинке я вызываю скрипт ежедневно в 02:05
Жмём Add, затем Apply changes
Затем вернуться к редактированию скрипта и прогнать скрипт, нажав кнопку Run Now
И взглянуть в лог как выше.
UPD от 05 марта 2017
Вроде работае, обновления выходят, скрипт их качает
nas4free sys/ root~$ cat update_blocklists.log
(…)
[Thu Mar 2 02:05:01 MSK 2017] No update for: JohnBitsurge (JohnBitsurge)
[Fri Mar 3 02:05:09 MSK 2017] Update found and downloaded for: JohnBitsurge (JohnBitsurge)
[Fri Mar 3 02:05:10 MSK 2017] No update for: JohnBitsurge (JohnBitsurge)
[Sat Mar 4 02:05:10 MSK 2017] Update found and downloaded for: JohnBitsurge (JohnBitsurge)
[Sat Mar 4 02:05:10 MSK 2017] No update for: JohnBitsurge (JohnBitsurge)
сейчас пишет что 757 944 правил /UPD
Скрипт допилил камрад Максим Чернов на основе ветки из оффрума