Установка торрента transmission c web-мордой

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/

Довольны?
[Оценок: 0 средняя: 0]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *