среда, 16 мая 2012 г.

Установка/настройка/управление Transmission


Цель: рассмотреть альтернативный torrent клиент
Инструменты: FreeBSD 9, Transmisssion 2.51, Transmission Remote Gui

Установка:
ls /usr/ports/net-p2p/ | grep transmission
py-transmissionrpc
transmission
transmission-cli                 консольный клиент
transmission-daemon сам демон
transmission-gtk2 графическая версия на GTK
transmission-qt4 графическая версия на Qt
transmission-remote-gui удаленное управление демоном

cd /usr/ports/net-p2p/transmission-daemon
make install clean
потянет curl, ничего не менял

При первом запуске создаст конфигурационные файлы
/usr/local/bin/transmission-daemon
ls /root/.config/transmission-daemon/
blocklists      resume          settings.json   torrents

В файле пользователей /etc/master.passwd появится запись о добавлении нового пользователя transmission принадлежащего группе transmission и запретом входа в систему:

transmission:*:921:921::0:0:Transmission Daemon User:/usr/local/etc/transmission/home:/usr/sbin/nologin

Создаем директории где будут скачанные и закачиваемые файлы размещаться и настраиваем права:
mkdir /home/torrents/ & mkdir /home/torrents/downloaded & mkdir /home/torrents/downloading
chown -R transmission:transmission /home/torrents/

Копируем стандартный файл настроек:
cp /root/.config/transmission-daemon/settings.json /home/torrents/settings/settings.json
Теперь редактируем полученный файл настроек:
ee /home/torrents/settings/settings.json

{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/home/torrents/downloaded",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/home/torrents/downloading",
    "incomplete-dir-enabled": true,
    "lpd-enabled": false,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,

    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "192.168.1.103", #localhost
    "rpc-enabled": true,
    "rpc-password": "ПАРОЛЬ_В_ОТКРЫТОМ_ВИДЕ", #после первого запуска демона за шифруется сам
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "admin", #login
    "rpc-whitelist": "127.0.0.1,192.168.1.100", #(через запятую IP с которых разрешено управление демоном)
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-slots-per-torrent": 14,
    "utp-enabled": false
}



Не завелось с первого раза, смотрим какие ошибки, для начала в tty:
dmesg
или смотрим содержимое файла
ee /var/run/dmesg.boot
либо:
/usr/local/etc/rc.d/transmission start
/usr/local/etc/rc.d/transmission stop
ee /var/log/messages
_____________________________________
May  4 17:26:12 freebsd9 transmission-daemon[1148]: UDP Failed to set receive buffer: No buffer space available (tr-udp.c:56)
May  4 17:26:12 freebsd9 transmission-daemon[1148]: UDP Failed to set receive buffer: requested 4194304, got 42080 (tr-udp.c:75)

Чтобы убрать эту ошибку необходимо в файле settings.json выставить занчение "utp-enabled": true в false
Это не поможет:
sysctl -w kern.ipc.maxsockbuf=4194304
kern.ipc.maxsockbuf: 2097152 -> 4194304
Ticket #4207

Логирование ошибок можно произвести несколькими способами:
ee /etc/rc.conf
transmission_flags="-e /home/torrents/transmission.log"
touch /home/torrents/transmission.log
chown -R transmission:transmission /home/torrents/
/usr/local/etc/rc.d/transmission start

ee /usr/src/libexec/bootpd/syslog.conf
!transmission-daemon
*.*                                     /var/log/transmission.log
newsyslog.conf
/var/log/transmission.log transmission:transmission             640  3     100  *     JCB

По поводу GUI говорить особо нечего, скачиваете, запускаете, вводите login/password согласно пунктам конфига "rpc-username": "admin" и "rpc-password": "ПАРОЛЬ_В_ОТКРЫТОМ_ВИДЕ"

P.S. Если есть firewall нужно открыть порты прописанные в конфиге иначе в tty будут валиться соответствующие ошибки.

P.P.S. Столкнулся с вопросами на различных форумах что есть проблема, клиент скачивает несколько мегабайт и вываливается с ошибкой, останавливая закачку. Причины две, либо неверно прописаны папки в конфиге, либо неверно выставлены права на папки.

3 комментария:

  1. в файле /usr/local/etc/rc.d/transmission указан путь к файлу настроек другой.
    то есть при каждом обновлении надо будет перетаскивать его. Может проще линк сделать? или редактировать тот?
    /usr/local/etc/transmission/home/settings.json

    ОтветитьУдалить
  2. У меня подобного вопроса не возникло, все подхватило как в статье, но если у вас в стартовом скрипте другой путь можете копировать файл в выше обозначенную директорию на этапе
    #cp /root/.config/transmission-daemon/settings.json /home/torrents/settings/settings.json

    ОтветитьУдалить
  3. "ee /var/run/dmesg.boot"
    Вообще-то "ee"-это редактор, а не просмоторщик :).

    ОтветитьУдалить