Установка BitTorrent-клиента Transmission на D-Link DNS-315

Данный текст написан по мотивам инструкции упоминаемой в первом посте конференции Обсуждение NAS D-Link DNS-325 (спасибо Panchenko за проделанную работу) применительно к NAS D-Link DNS-315, одно из отличий которого — другой тип центрального процессора (CPU). Ознакомление с инструкцией Panchenko также не будет лишним, т.к. некоторые моменты там описаны более подробно, а некоторые делаются иначе, чем описано здесь.

Необходимые файлы

ВАЖНО!

Для работы в командной строке NAS понадобится программа, умеющая работать по протоколу telnet или SSH. Для этого можно использовать PuTTY или стандартный telnet из Windows.

Установка

  1. Скопировать файлы в корень каталога Volume_1 (номера версий могут отличаться):
  2. Перезагрузить NAS. В процессе перезагрузки должны произойти следующие изменения:
  3. Подключиться к NAS по протоколу telnet. Например, командой telnet <IP-адрес_NAS>.
  4. В консоли telnet установить файл fun_plug.local, выполнив команды (не забываем, что клавиша <Tab> дополняет в командной строке неполное имя файла подходящим):

    cd /mnt/HD/HD_a2
    mv fun_plug.local /ffp/etc
    chmod a+x /ffp/etc/fun_plug.local

  5. Перезагрузить NAS.
  6. Установить дополнительные пакеты и сам Transmission командами:

    cd /mnt/HD/HD_a2
    funpkg -i uClibc-0.9.33_git-arm-1.txz
    funpkg -i curl-7.21.4-arm-1.txz
    funpkg -i Transmission-2.83-arm-1.txz

  7. Изменить права доступа скрипта управления демоном Transmission в каталоге автозагрузки:

    chmod a+x /ffp/start/transmission.sh

  8. Изменить права доступа к файлу устройства /dev/urandom, т.к. он используется демоном Transmission, который запускается от имени nobody, по умолчанию не имеющего права читать /dev/urandom:

    chmod a+r /dev/urandom

    Если этого не сделать, Transmission будет постоянно писать в журнал работы сообщения об ошибках связанных с генерацией случайных чисел, и тот будет заполняться строками, содержащими текст наподобие:

    tr_crypto error:24064064:random number generator:SSLEAY_RAND_BYTES:PRNG not seeded (crypto.c:113):

    Возможно, что файл /dev/urandom создаётся при каждой новой загрузке, поэтому добавление прав для nobody лучше записать в fun_plug, команды в котором исполняются при каждом запуске NAS. Примерно так:

    # create /ffp link
    echo "ln -snf $FFP_PATH /ffp"
    ln -snf $FFP_PATH /ffp
    
    # *** Add rights for others to urandom device
    echo "chmod a+r /dev/urandom"
    chmod a+r /dev/urandom
    
  9. Перезагрузить NAS. В списке работающих процессов должен появиться процесс transmission-daemon. Это можно посмотреть либо в WEB-интерфейсе NAS (см. выше), либо в консоли telnet при помощи команды top. Кроме того, в корне каталога Volume_1 должен появиться скрытый каталог .transmission-daemon, в котором находится файл настроек Transmission — settings.json.
  10. При необходимости изменить настройки Transmission:
    1. Остановить Transmission:

      /ffp/start/transmission.sh stop

      Немного подождать, пока Transmission полностью завершит работу.

    2. Изменить настройки, редактируя файл settings.json. В основном это нужно для управления доступом к демону. Это можно сделать несколькими способами:
      • При помощи редактора vi в консоли telnet, как это описано в инструкции Panchenko, запустив его командой

        vi /mnt/HD/HD_a2/.transmission-daemon/settings.json

      • По сети при помощи текстового редактора, который позволяет открывать файлы в скрытых каталогах и сохранять их с форматом новых строк UNIX.

        Файл конфигурации находится на Volume_1 и называется .transmission-daemon\settings.json. У каталога .transmission-daemon установлен атрибут «скрытый».

      Вот некоторые из параметров (см. также Transmission Support and Development):

      Параметр Значение по умолчанию Описание (возможны некоторые неточности)
      message-level 2 Подробность сообщений в журнале работы. 0 = нет сообщений, 1 = ошибки, 2 = информационные сообщения, 3 = отладочные сообщения
      preallocation 1 Предварительное резервирование места на диске. 0 = отключено, 1 = быстрый способ, 2 = полное (медленнее, но уменьшает фрагментацию файловой системы)
      rpc-enabled true Разрешить доступ по сети (true) или нет (false)
      rpc-port 9091 Номер порта для доступа по сети к WEB-интерфейсу Transmission или для управления демоном при помощи сторонней программы. Например, если NAS находится по адресу 192.168.1.196, а порт равен 9091, то в адресной строке браузера нужно набрать http://192.168.1.196:9091
      rpc-authentication-required false Использовать для доступа пару логин/пароль (true) или нет (false)
      rpc-username пустая строка Имя пользователя для доступа по сети
      rpc-password хеш пароля Пароль пользователя для доступа по сети. Введённый при редактировании будет заменён на хеш-сумму
      rpc-whitelist-enabled true Использовать «белый список» (true) или нет (false)
      rpc-whitelist 127.0.0.1 Разделённый запятыми список IP-адресов, с которых разрешён доступ по сети, если rpc-whitelist-enabled = true. Чтобы разрешить доступ с любого компьютера с адресом начинающемся на 192.168.1., можно записать это значение как «127.0.0.1,192.168.1.*»
      umask 18 Устанавливает режим доступа к файлам, которые создаёт transmission. См. более подробную информацию на man-странице umask(2) или в Википедии. Пользователи, которые хотят сохранять торренты доступные для записи всем, могут установить это значение в 0. Необходимо помнить, что язык разметки json принимает числа только по основанию 10, поэтому стандартное значение umask(2) «022» в settings.json нужно писать как 10.
    3. Запустить Transmission:

      /ffp/start/transmission.sh start

Управлять демоном Transmission можно либо через WEB-интерфейс в браузере по адресу http://<IP-адрес_NAS>:<порт>, либо при помощи одной из программ, например Transmission Remote GUI.

Обновление

Перевод (обновляется нечасто) части текста страницы с форума DSM-G600, DNS-3xx and NSA-220 Hack Forum. Оригинал обновлён KyleK (2013-09-24 21:32:34).

Последняя версия: 2.83.

Начиная с версии 2.83 Transmission использует библиотеку libevent-2.0, и можно получить такое сообщение об ошибке:

can't load library 'libevent-2.0.so.5'

Нужно загрузить библиотеку отсюда: http://downloads.zyxel.nas-central.org/.../0.7/arm/libevent-2.0.16-arm-0.txz и установить её командой

funpkg -i libevent-2.0.16-arm-0.txz

Источник

ВНИМАНИЕ: в версии 2.83 замечены неприятности связанные с зависанием Transmission при добавлении новых торрентов на закачку (замечено пока только на rutracker.org). Рекомендуется не ставить её или откатиться до версии 2.82 при помощи таких же команд, как и приведённые ниже.

Для обновления:

  1. Загрузить Transmission 2.83 (ffp-0.7-arm).
  2. Скопировать Transmission-2.83-arm-1.txz в корень каталога Volume_1.
  3. Выполнить команды:

    /ffp/start/transmission.sh stop

    (немного подождать до полной остановки Transmission — можно полюбоваться выводом команды top)

    funpkg -u Transmission-2.83-arm-1.txz
    /ffp/start/transmission.sh start

  4. Готово! Можно злоупотреблять.

Неполная история обновлений Transmission

Изменения