Transmission — простой BitTorrent клиент, имеет возможность управления через командную строку и веб-браузер. В отличие от других BitTorrent клиентов, использует небольшое количество системных ресурсов, этим самым и привлёк моё внимание.
Исходные данные:
— Процессор P3-600МГц, чипсет i810, 256МГб оперативной памяти.
— FreeBSD 8.2, с предустановленным Apache22+PHP5.2+MySql.
Ну MySql совсем не обязателен.. Предварительно обновив порты, начнём установку Transmission из портов:
# cd /usr/ports/net-p2p/transmission-daemon
# make install clean
Создаём нужные для работы клиента папки:
# mkdir /usr/local/etc/transmission
# mkdir -p /home/transmission/download
# mkdir /home/transmission/sessions
Создаём конфигурационный файл для transmission:
# ее /usr/local/etc/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,
"dht-enabled": true,
"download-dir": "/home/transmission/download",
"encryption": 1,
"incomplete-dir": "/home/transmission/sessions",
"incomplete-dir-enabled": true,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 32,
"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": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "192.168.1.40",
"rpc-enabled": true,
"rpc-password": "123456",
"rpc-port": 9091,
"rpc-username": "alex",
"rpc-whitelist": "127.0.0.1,192.168.1.30",
"rpc-whitelist-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 14
}
Описание переменных смотрим на домашней странице проекта по ссылке указанной в конце заметки.
Важное замечание на будущее: перед внесением изменений в файл конфигурации settings.json обязательно останавливаем демон командой stop:
# /usr/local/etc/rc.d/transmission stop
Сразу не забываем выставить соответствующие права на созданные ранее папки для transmission:
# chown -R transmission:transmission /usr/local/etc/transmission
# chown -R transmission:transmission /usr/home/transmission
Далее правим rc.conf :
# ee /etc/rc.conf
# для запуска transmission при старте системы
transmission_enable="YES"
# указываем пользователя (под кем будет запускаться transmission)
transmission_user="transmission"
# путь к файлу конфигурации transmission settings.json
transmission_conf_dir="/usr/local/etc/transmission/"
# указываем путь для скаченных данных
transmission_download_dir="/usr/home/transmission/downloads"
# здесь можно указать дополнительные параметры запуска
transmission_flags=""
На этом настройку transmission можно считать завершённой. Запускаем наш установленный демон и проверяем его работу:
# /usr/local/etc/rc.d/transmission start
Starting transmission.
Запуск произошёл успешно, на всякий случай можно заглянуть в /var/log/messages на предмет отсутствия ошибок. Заходим на сервер браузером по адресу – //192.168.1.40:9091 и проверяем работу transmission через «веб-морду».
При запуске transmission могут возникнуть ошибки:
… UDP Failed to set receive buffer: No buffer space available …
Решение - увеличиваем максимально допустимый размер приемного буфера в операционной системе:
# ee /etc/sysctl.conf
kern.ipc.maxsockbuf=2097152
# reboot
Можно без перегрузки системы:
# sysctl kern.ipc.maxsockbuf=2097152
Возможно придётся поварьировать этими цифрами в ту или иную сторону в зависимости от конфигурации компьютера. Больше никаких ошибок при установке и настройке transmission у меня небыло.
Полезные ссылки: