Raspberry Pi LibreELEC + Transmission

Итак у нас появился Raspberry Pi и стоит задача сделать свою медиатеку
Основная задача сделать автономную медиатеку для поездок на дачу где нет интернета
Будем делать на основе медиатеки KODI
Существует множество дистрибутивов под Raspberry Pi выбор пал на LibreELEC
Выбор связан с тем что его активно поддерживают и он не нагроможден изначально сложными дополнениями

В моем случе: Raspberry Pi 3 Model B+
Достаточно сомнительная модель. Больше похожа на промежуточный этап.
Не поддерживается многими дистрибутивами, спокойно работающими на Raspberry Pi 3 Model B

https://libreelec.tv/downloads_new/raspberry-pi-3-3/

На момент установки:
Kodi 18.0 (Linux Kernel 4.19.x)
LibreELEC-RPi2.arm-9.0.0.img.gz

LibreELEC + Transmission

Будем считать что LibreELEC установлен, настроен и нам необходимо сделать из него торрент качалку
Разработчики удалили из свое репозитария Transmission, оставив только утилиту для работы с transmission-daemon
Сама утилита в принципе рабочая, только не двигаются ползунки отображающие процент загрузки. Сам процент загрузки отображается корректно

Ставим репозитарий
https://github.com/thoradia/thoradia
Нас интересует файл
https://github.com/thoradia/thoradia/raw/master/service.thoradia.zip

Любым удобным способом закидываем на Raspberry Pi. Хоть на microsd хоть на внешний HDD
В системных настройках разрешаем установку из неизвестных источников
Идем в дополнения и устанавливаем из ZIP файла service.thoradia.zip

Затем из репозитария thoradia ставим службу Transmission
Настроек у службы немного, лучше их не трогать
Теперь можно посмотреть работу подключившись к Transmission
Сделать это можно через браузер http://адрес_Raspberry:9091
Или использовав отдельное ПО для Linux transmission remote gui
Или с телефона и планшета Remote Transmission

Настройки и автоматизация

Качать будем на внешний диск подключенный по USB
Метка диска hdd
/media/hdd
Папка с закачками /storage/downloads
Папка незавершенных закачек /storage/downloads
Папка куда складируются торрент файлы и Transmission сам их забирает /storage/downloads/torrents
Мне удобнее качать в отдельную папку потом уже раскидывать по папкам с видео
Связано это с особенностью именования файлов для правильного отображения медиотеки
По началу достаточно сложный и по началу непонятный процесс именно именования. Если будет интересно, то могу дополнить статью.

В данной сборке Transmission стоит некое дополнени settings.xml
Оно влияет на настройки settings.json
Мне надо было изменить пути для закачек, а так же путь автозабора торрент файлов
Поэтому меняет конфигурацию по умолчанию, удаляем уже созданные настройки, и перезапускаем сервис Transmission или Raspberry целиком

nano /storage/.kodi/addons/service.transmission/settings-default.xml
<settings>
    <setting id="tx_allowed" value="*.*.*.*" />
    <setting id="tx_download" value="/storage/downloads" />
    <setting id="tx_incomplete" value="/storage/downloads" />
    <setting id="tx_nice" value="10" />
    <setting id="tx_password" value="" />
    <setting id="tx_port" value="9091" />
    <setting id="tx_separate_incomplete" value="true" />
    <setting id="tx_username" value="" />
    <setting id="tx_watch" value="/storage/downloads/torrents" />
</settings>
rm -rf /storage/.kodi/userdata/addon_data/service.transmission/

Файл по пути /storage/.kodi/userdata/addon_data/service.transmission/settings.json после внесения изменений и перезапуска Transmission перезаписывается, поэтому править его бесполезно

Так же возник глюк No data found! Ensure your drives are connected
Это значит то что Transmission запускается раньше чем подключится внешний диск
Поэтому пишем 2 скрипта
Один для задержки автозапуска Transmission и запуска всех торрентов
Так же были зависания на этапе выключения
Второй для отключения служб и безопасного извлечения диска

nano /storage/.config/autostart.sh
#!/bin/bash
systemctl stop service.transmission.service
sleep 5
systemctl start service.transmission.service
sleep 5
transmission-remote --torrent all --start
sleep 5
rm /storage/downloads/torrents/*.added 2>/dev/null
chmod +x /storage/.config/autostart.sh
nano /storage/.config/shutdown.sh
case "$1" in
  halt)
    transmission-remote --torrent all --stop
    systemctl stop service.transmission.service
    sync
    umount /media/hdd/
    systemctl halt
    ;;
  poweroff)
    transmission-remote --torrent all --stop
    systemctl stop service.transmission.service
    sync
    umount /media/hdd/
    systemctl poweroff
    ;;
  reboot)
    transmission-remote --torrent all --stop
    systemctl stop service.transmission.service
    sync
    umount /media/hdd/
    systemctl reboot
    ;;
  *)
    # your commands here
    ;;
esac
chmod +x /storage/.config/shutdown.sh

В репозитарии thoradia так же есть и другие торрент клиенты
Я пробовал rtorrent + rutorrent, но он у меня работает очень глючно, возможно это связано с самой платформой Raspberry Pi 3 Model B+
Как бы то ни было оказалось очень удобно управлять Transmission с планшета

PS

Иногда все же случаются зависания при перезагрузке и выключении
Возможно добавлю принудительные аргументы

systemctl --force --force reboot

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *