Главная > Программы Transmission - торрент-клиент для FreeBSD c web-интерфейсомПоскольку все чаще и чаще необходимые файлы можно обнаружить только в peer-to-peer сетях, решил на одном из ненагруженых серверов установить torrent-клиент, который работал бы круглосуточно. Выбор остановил на transmission, поскольку управление данным torrent-клиентом можно выполнять через веб-интерфейс. Выполним установку из системы портов: # cd /usr/ports/net-p2p/transmission-daemon && make install clean && rehash Внесем необходимые опции запуска в rc.conf: # echo '# Запуск transmission' >> /etc/rc.conf # echo 'transmission_enable="YES"' >> /etc/rc.conf # echo '# Каталог для .torrent-файлов' >> /etc/rc.conf # echo 'transmission_watch_dir="/usr/torrents/.torrents/"' >> /etc/rc.conf # echo '# Каталог для загруженых файлов' >> /etc/rc.conf # echo 'transmission_download_dir="/usr/torrents/downloads/"' >> /etc/rc.conf # echo '# Каталог конфигурационных файлов' >> /etc/rc.conf # echo 'transmission_conf_dir="/usr/torrents/.transmission/"' >> /etc/rc.conf # echo '# Имя пользователя, от имени которого будет работать transmission' >> /etc/rc.conf # echo 'transmission_user="transmission"' >> /etc/rc.conf Если опция запуска transmission_user не указана, то процесс запускается под пользователем transmission, а если задана пустой - тогда под root, что не рекомендуется. Также есть возможность указать дополнительные флаги запуска, воспользовавшись опцией запуска transmission_flags="". Следующий шаг - создание каталогов и установка необходимых прав доступа. В процессе установки будет создан пользователь transmission. Если же хотите использовать другого пользователя - необходимо будет предварительно его создать. # mkdir -p /usr/torrents/.torrents # mkdir /usr/torrents/downloads # mkdir /usr/torrents/.transmission # chown -R transmission:transmission /usr/torrents Пора приступать к созданию конфигурационного файла. Самый простой способ - запуск и останов transmission. В процессе запуска он проверит наличие необходимых файлов и в случае необходимости, создаст их. # sh /usr/local/etc/rc.d/transmission start # sh /usr/local/etc/rc.d/transmission stop После этого приступаем к редактированию конфигурационного файла settings.json, который будет создан в каталоге transmission_conf_dir. Немного подкоректировал дефолтный файл {
"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": "10.227.206.45",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist,
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/usr/torrents/downloads/",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/usr/torrents/.incomplete",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413,
"peer-port-random-high": 59999,
"peer-port-random-low": 50000,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"pidfile": "/var/run/transmission/daemon.pid",
"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": "10.227.206.45",
"rpc-enabled": true,
"rpc-password": "very_hard_pawssword",
"rpc-port": 9095,
"rpc-url": "/transmission/",
"rpc-username": "muff",
"rpc-whitelist": "127.0.0.1,192.168.*.*",
"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": "/usr/torrents/.torrents/",
"watch-dir-enabled": true
}
Значительная часть опций понятна и без комментариев. Рассмотрим некоторых из опций.
Попытаемся запустить transmission: # sh /usr/local/etc/rc.d/transmission start Сервис успешно стартовал. Если же нет - ищем в логах причину ошибки. Также после успешного старта можно обнаружить такие записи в /var/log/messages: ... UDP Failed to set send buffer: No buffer space available ...
... UDP Failed to set receive buffer: No buffer space available ...
Исправить эту ситуацию можно увеличив максимально допустимый размер приемного буфера операционной системы: # echo 'kern.ipc.maxsockbuf=2097152' >> /etc/sysctl.conf # sysctl kern.ipc.maxsockbuf=2097152 Либо же, как вариант, можно в settings.json переменную utp-enabled выставить в значение "falce". ВАЖНО! В случае необходимости внесения изменений в файл конфигурации settings.json, предварительно необходимо остановить transmission. После запуска сервиса можно заходить на веб-интерфейс, используя логин и пароль, указанный в конфигурационном файле. Пройдя авторизацию, нам доступен следующий интерфейс: ![]() Добавим торрент-файл, воспользовавшись иконкой "Open Torrent" в верхнем левом углу интерфейса: ![]() После добавления торрента загрузка будет запущена автоматически: ![]() ![]() С остальными возможностями предоставленного интерфейса разобраться не составит труда. Кстати, transmission дает довольно большое поле для творчества, разрешая запуск внешних скриптов. Доступные переменные:
Например, сделаем так, что по завершению закачки на почту будет приходить уведомление. Для этого напишем скрипт finish.sh следующего содержания: #!/bin/sh
echo $TR_TIME_LOCALTIME - $TR_TORRENT_NAME Downloaded | mail -s "Torrent download successfull" root [at] domain [dot] com (root [at] domain [dot] com)
exit 0;
Остановим transmission и внесем необходимые изменения в settings.json: "script-torrent-done-enabled": true,
"script-torrent-done-filename": "/usr/torrents/finish.sh",
После этого снова запускаем transmission. Материал взят с сайта:Главная > Программы |