cd /usr/ports/net-p2p/transmission-daemon
make clean && make install clean
|
Добавляем в /etc/rc.conf параметры запуска:
transmission_enable="YES" # Где лежат конфиги transmission_conf_dir="/usr/local/etc/transmission/" # Куда складывается скаченное transmission_download_dir="/usr/home/transmission/downloads" # Пользователь под которым работает демон. # Если задан пустой, то пускается под root'ом, что не рекомендуется. # Если параметр не задан, то запускается под transmission transmission_user="transmission" # Дополнительные флаги запуска transmission_flags="" |
Не забываем создать нужные папки и выдать на них разрешения.
mkdir /usr/local/etc/transmission chown -R transmission:transmission /usr/local/etc/transmission mkdir -p /usr/home/transmission/downloads chown -R transmission:transmission /usr/home/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
Источник:
https://www.site-motor.ru/docs/freebsd/net-p2p_transmission.html
http://www.lissyara.su/articles/freebsd/programms/transmission/