Яндекс.Метрика
Яндекс цитирования


Но где взять средства, чтоб курить кальян?
Владимир Вишневский
 

О настройке Transmission…

Transmission — простой и свободный BitTorrent клиент. Transmission возможно запустить на Mac, Windows, Linux (чего нам и надо), других Unix-подобных операционных системах. В дополнение к оконным интерфейсам Transmission имеет возможность управления через командную строку, веб-браузер, и удаленный клиент.

Сразу скажу, что с файлами до 5Гб и до 10 файлов в списке клиент справляется вполне… При попытке закачать файл размером 25-50ГБ или увеличить очередь свыше 20-25 одновременно скачаваемых файлов (если просто «в очереди» — справляется) то увы.. Придется поискать другое устройство (напомню речь идет о Dune HD Max) 🙁

Если перечисленное не смущает, или Вы собираетесь использовать клиента как страховку для поддержания рейтинга — вперед!

Устанавливаем Transmission с помощью команды:

#ipkg install transmission

Примерный вид установки пакета:

tango3[~]# ipkg install transmission
Installing transmission (2.50-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/transmission_2.50-1_mipsel.ipk
Installing openssl (0.9.7m-5) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/openssl_0.9.7m-5_mipsel.ipk
Installing libcurl (7.24.0-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libcurl_7.24.0-1_mipsel.ipk
Installing zlib (1.2.5-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/zlib_1.2.5-1_mipsel.ipk
Installing libevent (2.0.16-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libevent_2.0.16-1_mipsel.ipk
Configuring libcurl
Configuring libevent
Configuring openssl
Configuring transmission
Configuring zlib
Successfully terminated.

Пакет — transmissiond, устанавливаем отдельно:

#ipkg install transmissiond

tango3[~]# ipkg install transmissiond
Installing transmissiond (1.42-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/transmissiond_1.42-1_mipsel.ipk
package transmissiond suggests installing gnuplot
package transmissiond suggests installing logrotate
package transmissiond suggests installing thttpd
package transmissiond suggests installing mini-sendmail
Configuring transmissiond
grep: /opt/etc/crontab: No such file or directory
Please note that /opt/etc/init.d/S80busybox_httpd is installed for
running CGI interface at http://localhost:8008/cgi-bin/transmission.cgi
See instructions for daemon and WWW interface in /opt/share/doc/transmission
Configure daemon with /opt/etc/transmission.conf
Successfully terminated.

Часть лога —  running CGI interface at http://localhost:8008/cgi-bin/transmission.cgi для нас важна. После запуска, как Вы уже догадались, по указанному адресу будет доступен web-интерфейс… Настройка производится так же как и в предыдущих случаях, конфигурационный файл расположен по пути -/D/Transmission/.transmission/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": "http://www.example.com/blocklist",
    "cache-size-mb": 2,
    "dht-enabled": true,
    "download-dir": "/D/Transmission",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 0,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/D/Transmission/downloads",
    "incomplete-dir-enabled": false,
    "lazy-bitfield-enabled": true,
    "lpd-enabled": false,
    "message-level": 2,
    "open-file-limit": 32,
    "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": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "{a77eaad3fc5dab1e15f606585fbe2f837d4274Lc2D3.eQ",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "admin",
    "rpc-whitelist": "*.*.*.*",
    "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": true,
    "watch-dir": "/D/Transmission/watch/",
    "watch-dir-enabled": true

Но, по порядку…Сначала нужно определить структуру «бардака». В моем случае она выглядит вот так:

/D/Transmission
/D/Transmission/downloads
/D/Transmission/watch/

все остальное создается после запуска «автоматом».

попробуем разобраться что есть что в конфигурационном файле (так же можно подсмотреть здесь):

В нашей ситуации важны следующие строки:
Будем ли мы использовать в работе DHT — «dht-enabled»: true,
Директория для скаченного — «download-dir»: «/D/Transmission»,
Директория из которой будем «отдавать — «incomplete-dir»: «/D/Transmission/downloads»,
Лимит на «открытые» для раздачи файлы (если установить много, будет работать с трудом). — «open-file-limit»: 32,

Используемые в работе порты. В идеале я бы «открыл» эти порты на роутере.

«peer-port»: 51413,
«peer-port-random-high»: 65535,
«peer-port-random-low»: 49152,

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

Нужна ли авторизация для удаленного доступа? Я думаю, что очень нужна — «rpc-authentication-required»: true,
Ограничение на адрес с которого осуществляется удаленных доступ — «rpc-bind-address»: «0.0.0.0»,
Включить или выключить удаленный доступ — «rpc-enabled»: true,
пароль удаленного пользователя — «rpc-password»: «{a77eaad3fc5dab1e15f60656785fbe837d4274Lc2D3.eQ»,
Порт удаленного управления (я изменил порт, который был установлен по умолчанию) — «rpc-port»: 9091,
Логин удаленного пользователя — «rpc-username»: «admin»,
Список IP адресов с которых разрешено удаленное управление — «rpc-whitelist»: «*.*.*.*»,
Разрешение на использование «белого» списка — «rpc-whitelist-enabled»: true,
Старт добавленного торрента автоматически — «start-added-torrents»: true,

Cтроки ниже очень удобны и интересны (во всяком случае я использовал указанные настройки для автоматической закачки новых серий сериалов)

Папка для опроса — «watch-dir»: «/D/Transmission/watch/»,
Разрешить опрашивать папку указанную выше — «watch-dir-enabled»: true

В тот момент, когда в папке будет найден торрент файл которого нет в списке скачиваемого, он автоматически будет помещен в этот список и начнется закачка.

Остальное не особо интересно, да и в интернете достаточно много описаний файла setting.json, вот хотя бы тут

В известной директории — /opt/etc/init.d/ создаем файл командой:

#touch /opt/etc/init.d/S81transmissiond

и открываем его на редактирование командой:

#vi /opt/etc/init.d/S81transmissiond

внутри файла размещаем следующий код:

#!/bin/sh

# description:	Starts and stops Transmission daemon.
# Copyright (C) 2010   Alexander Alexandrov aka ABATAPA
# version: 	2.0.2

WORKDIR="/D/Transmission/"
CONFDIR=".transmission"

# #############  DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!  #############

ulimit -c 0
PREFIX="/opt"
PATH=${PREFIX}/bin:${PREFIX}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=transmission-daemon
DAEMON=${PREFIX}/bin/transmission-daemon
DAEMON_OPTS=" -g $WORKDIR/$CONFDIR/"
REPEAT=15

if [ -z "$WORKDIR" ]; then
    echo "$0: you MUST edit this file and set WORKDIR variable first!" >&2
    exit 1
fi

if [ ! -x "$DAEMON" ]; then
    echo "$0: can't find transmission daemon.\n" >&2
    echo "You MUST install it first with\n\tipkg install transmission" >&2
    exit 2
fi
if [ -z "$1" ] ; then
    case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
        S??*) rc="start" ;;
        K??*) rc="stop" ;;
        *) rc="usage" ;;
    esac
else
    rc="$1"
    shift
fi

case "$rc" in
    start)
	echo "Starting transmission"
	if [ -z "$1" ]; then
		$DAEMON $DAEMON_OPTS &
	else
		"$DAEMON" $DAEMON_OPTS  $@
	fi
        ;;
    stop)
        if [ -r ${PREFIX}/var/run/transmission.pid ]; then
            echo "Stopping transmission daemon"
	    kill -TERM `cat ${PREFIX}/var/run/transmission.pid` 2>/dev/null
	fi
        echo "Stopping all transmission daemon"
	while [ "$REPEAT" -ge 0 ]
	do
	    if [ -n "`pidof $NAME`" ]; then
	        sleep 1
                killall $NAME 2>/dev/null
	    else
		break
	    fi
            let REPEAT-=1
        done
	if [ "$REPEAT" -le 0 ]; then
	    echo "Can't stop transmission daemon"
	fi

        ;;
    restart)
        "$0" stop
        sleep 3
        "$0" start
        ;;
    *)
        echo "Usage: $0 (start|stop|restart|usage)"
        ;;
esac

exit 0

Делаем файл исполняемым командой:

#chmod 755 /opt/etc/init.d/S81transmissiond

после создания файла становятся доступен запуск-останов-перезапуск командами:

#/opt/etc/init.d/S81transmissiond start

#/opt/etc/init.d/S81transmissiond stop

#/opt/etc/init.d/S81transmissiond restart

Вот мы с Вами и добрались до первого запуска. Он производиться командой:

#/opt/etc/init.d/S81transmissiond start  -f -t -u логин -v пароль

Логин и пароль в данном случае, для удаленного доступа. Этой командой мы производим запуск только один раз — первый. Секунд через 10 прерываем выполнение команды нажав Ctrl-C. Наши данные записаны в конфигурационный файл /D/Transmission/.transmission/settings.json

Запускаем Transmission командой:

#/opt/etc/init.d/S81transmissiond start

Проверяем работу с помощь команды:

#ps | grep Transmission

Должны увидеть примерно следующее:

1643 root 0:00 /opt/bin/transmission-daemon -g /D/Transmission//.transmission/
1644 root 0:00 /opt/bin/transmission-daemon -g /D/Transmission//.transmission/
1645 root 188:01 /opt/bin/transmission-daemon -g /D/Transmission//.transmission/
1646 root 0:02 /opt/bin/transmission-daemon -g /D/Transmission//.transmission/
5546 root 0:00 grep Transmission

Если Вы увидели примерно такой вывод, все работает. Поздравляю!

Проверяем web-интерфейс по адресу http://ip_adress_dune:port/cgi-bin/transmission.cgi (выше он был показан при установке), и вводим свои логин и пароль указанные при первом запуске. Используя сервис «извне» не забудьте «открыть» порты на роутере. И пару снимков для визуализации итогового процесса 🙂

 

 

Маленький бонус. Вы можете скопировать (или перенести) торрент файл в папку /D/Transmission/watch/ (с Вашего компьютера соответственно \\dune\Transmission\watch\, если Вы настроили использование папки watch в конфигурационном файле), и файл будет добавлен в очередь автоматически, как и было обещано 🙂

Итоговые файлы статьи:

S81transmissiond

[sam id=3 codes=’false’]

Search
Архивы