Поскольку все чаще и чаще необходимые файлы можно обнаружить только в 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 |
Пора приступать к созданию конфигурационного файла. Самый простой способ - запуск и останов 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 выставить в значение "false".
ВАЖНО! В случае необходимости внесения изменений в файл конфигурации 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.
Re: Transmission - торрент-клиент для FreeBSD c web-интерфейсом
falce - пишется по другому - false
Re: Transmission - торрент-клиент для FreeBSD c web-интерфейсом
Дожился...
Спасибо, что указали на опечатку :)
Re: Transmission - торрент-клиент для FreeBSD c web-интерфейсом
Добрый день!
У меня проблема со скачкой торрентов, а именно:
Торрент-программа запускается, я указываю на файл с расширением .torrent, программа его подхватывает, начинается как-бы закачка и сразу останавливается закачка. и дальше ничего не происходит.
Отсюда вопрос - нужно ли где-то настраивать проброс портов вот для этого параметра
Если нужно, то не могли бы вы указать поподробнее что ковырять или какой командой можно проверить, открыт ли порт?
Подключение идет через роутер, но роутере включена функция UPnP. На другом компьютере из-под виндоус сам торрент кfчает через этот роутер...
Огромная просьба, помогите ! =)
Re: Transmission - торрент-клиент для FreeBSD c web-интерфейсом
Попробуйте запустить сервер напрямую, без роутера.
Проверите, будет ли работать Transmission. Если будет - копайте в сторону своего роутера и его настроек.
Re: Transmission - торрент-клиент для FreeBSD c web-интерфейсом
Добрый вечер!
Проблема не в роутере, напрямую тоже не работает.
Понял, что дело не в порте...а в разрешениях на директории....буду копать.
Идея такова, что на FreeNAS я руками ставлю Transmission. Обновляются порты, устанавливаю программу, назначаю папки для закачек, программа открывается, сама подхватывает торент из опредленной папки, начинает скачивать и.....происходит ошибка (нет разрешения на запись). Мне кажется, тут проблема.
Но к сожалению, пока не понимаю, как это исправить. Все мануалы, которые показаны в интернете - немного отличаются от того, что я пытаюсь сделать.
С уважением, Сергей