- Устанавливаем (под root)
# cd /usr/ports/net-p2p/transmission-daemon # make install clean
- Настраиваем
Добавляем строчки в /etc/rc.conf# разрешаем запуск transmission transmission_enable="YES" # директория, в которой будут искаться .torrent-файлы transmission_watch_dir="/home/media/torrents/.torrents/" # директория, куда будут качаться файлы transmission_download_dir="/home/media/torrents/" # директория, где будут жить конфигурационные файлы transmission_conf_dir="/home/media/torrents/.transmission/" # пользователь, под которым будет работать transmission transmission_user="transmission"
- Все директории кроме той, что указана в директиве transmission_conf_dir, нужно создать до первого запуска
- У пользователя, под которым будет работать transmission, должен быть доступ на чтение и запись во все указанные в rc.conf директории
- Пользователь transmission создается при установке программы, если хотите использовать другого пользователя, то создавайте ручками.
Теперь нам нужен конфигурационный файл. Для его создания запускаем и выключаем transmission:# /usr/local/etc/rc.d/transmission start # /usr/local/etc/rc.d/transmission stop
Файл создан! /home/media/torrents/.transmission/settings.json
Что там есть интересного для нас?"bind-address-ipv4": "0.0.0.0",
На каких ip-адресах работает transmission. 0.0.0.0 означает, что используются все доступные ip-адреса. Если необходимо, то можно указать только конкретный ip-адрес."peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152,
На каких портах идет работа. Я решил, что такой диапазон по умолчанию между значениями peer-port-random-low и peer-port-random-high - это слишком жирно и указал"peer-port-random-high": 55560, "peer-port-random-low": 55556,
Внимание! Указанные выше (а также ещё некоторые) порты необходимо разрешить в брандмауэре! Вот образец для стартового скрипта ipfw:# torrent incoming $fw add allow ip from me 55556-55560 to any out $fw add allow ip from any to me 55556-55560 in $fw add allow ip from me 6881-6889 to any out $fw add allow ip from any to me 6881-6889 in # transmission web-interface $fw add allow ip from me 9090 to any out $fw add allow ip from any to me 9090 in # transmission incoming listen $fw add allow ip from me 51413 to any out $fw add allow ip from any to me 51413 in
Далее. Настройки управления через web-интерфейс."rpc-authentication-required": false, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-password": "{0bad0a49bd171d9d225da4e435a91ff6052605723MoqUS1K", "rpc-port": 9091, "rpc-url": "/transmission/", "rpc-username": "", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": true,
rpc-authentication-required - обязательна ли аутентификация того, кто пытается подключиться? Да, поэтому ставим true
rpc-bind-address - на каком ip поднимать интерфейс. Значение 0.0.0.0 - на всех
rpc-enabled - web-интерфейс включен или выключен
rpc-password - пароль для доступа. Запишите его простым текстом вместо существующего, при запуске transmission сам его зашифрует
rpc-port - порт, на котором работает web-интерфейс. Настоятельно рекомендуется поменять на другой, например 9090 и не забыть его разрешить в брандмауере!
rpc-url - пусть останется так как есть
rpc-username - имя пользователя для доступа, имя придумайте сами
rpc-whitelist - с каких ip можно подключаться. Пустая строка у меня не прокатила (0.0.0.0 не пробовал, может прокатит), поэтому я оставил этот параметр в покое
rpc-whitelist-enabled - использовать или нет rpc-whitelist. Я хотел соединяться с любых адресов, поэтому задал false.
- Используем
Запускаем# /usr/local/etc/rc.d/transmission start
Заходим в web-морду. Открываем браузер и в адресной строке пишемhttp://
У нас спрашивают имя пользователя и пароль (которые мы задали в настройках), после чего допускают к управлению./transmission/web/
Добавление торрентов возможно двумя способами
- через web-интерфейс (папка со стрелкой вверх)
- добавлением торрент-файла в директорию, заданную в директиве transmission_watch_dir файла /etc/rc.conf. После успешного добавления, к имени торрент-файла будет приписано .added, такой файл можно удалить.
- Полезности
Чем хорош transmission, так это тем, что на всяческие события можно приделать собственный внешний скрипт-обработчик.
Например, я хотел, чтобы по окончанию скачивания файла, ссылка на него выкладывалась в директорию /home/media/torrents/.finished а также на определенный email приходило письмо о том, что файл скачался. Нет ничего проще.
Создаем файл /home/media/torrents/.transmission/torrent_done.sh со следующим содержимым:#!/bin/sh # create link ln -s /home/media/torrents/$TR_TORRENT_NAME /home/media/torrents/.finished/$TR_TORRENT_NAME # send email echo $TR_TIME_LOCALTIME - $TR_TORRENT_NAME Downloaded | mail -s "Torrent Done" root@server exit 0;
Переменные, которые можно использовать в скрипте:
$TR_APP_VERSION - версия transmission
$TR_TORRENT_ID - id торрента, как оно показывается в remote-GUI
$TR_TORRENT_NAME - имя торрента как оно отображается в интерфейсе
$TR_TORRENT_DIR - директория торрента
$TR_TORRENT_HASH - хэш торрента
$TR_TIME_LOCALTIME - дата и время запуска стрипта
Выключаем transmission и редактируем его конфигурационый файл /home/media/torrents/.transmission/settings.json"script-torrent-done-enabled": true, "script-torrent-done-filename": "/home/media/torrents/.transmission/torrent_done.sh",
Запускаем transmission
Статья опубликована: 2017-08-13 23:03:57
Последние правки: 2017-08-13 23:18:17
На сервере вместо gui-клиента удобней использовать тот, который работает как даемон. Такой торрент-клиент для FreeBSD существует и он называется transmission. Данная программа есть в виде серверной части, которая может управляться через браузер - очень удобно.