Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> transmission-daemon

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

Автор: urgor.


Введение

Есть в наличии собранная из разного хлама машинка, назначение которой пограничный шлюз доступа из/в домашнюю локалку. Но как там у Маяковского? Говорим интернет — подразумевает торрент, говорим торрент — подразумеваем интернет! :) Как жить в наше время без фильмов, музыки, игрушек и... для кого-то порно =)
Посему было решено водрузить на сию машинку еще и торрент с вебмордой, дабы управлять закачками по человечески, через web (водружать иксы я даже и не думал, ибо нафик там не нужны).

Установка

Т.к. я до этого пользовал transmission-cli (консольный торрент клиент), то и демона с вебмордой решил ставить из этой же серии. Итак, обновим порты и приступим к установке.

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

Создаем конфиг /usr/local/etc/transmission/settings.json примерно такого содержания:

{
    "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": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "dht-enabled": true,
    "download-dir": "\/usr\/home\/transmission\/downloads",
    "encryption": 1,
    "incomplete-dir": "\/usr\/home\/transmission\/incomplete",
    "incomplete-dir-enabled": true,
    "lazy-bitfield-enabled": true,
    "message-level": 2,
    "open-file-limit": 32,
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": 0,
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "proxy": "",
    "proxy-auth-enabled": false,
    "proxy-auth-password": "",
    "proxy-auth-username": "",
    "proxy-enabled": false,
    "proxy-port": 80,
    "proxy-type": 0,
    "ratio-limit": 2.0000,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "192.168.0.248",
    "rpc-enabled": true,
    "rpc-password": "{b743e257d2c7350417225b4c51a8cbcd6e8aabe9Dl3WnTBV",
    "rpc-port": 9091,
    "rpc-username": "urgor",
    "rpc-whitelist": "127.0.0.1,192.168.0.37",
    "rpc-whitelist-enabled": true,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "umask": 18,
    "upload-slots-per-torrent": 14
}

На что стоит обратить внимание:

RPC — Конфигурация для удаленного управления
   * rpc-authentication-required: Нужна ли авторизация для удаленного доступа.
   * rpc-enabled: Включить/выключить удаленный доступ.
   * rpc-username: Пользователь
   * rpc-password: Пароль (строка). После запуска демон его зашифрует.
   * rpc-port: Прослушиваемый порт (default 9091)
   * rpc-whitelist: Список ip через запятую с которых разрешено управление.
                    Например: "127.0.0.*,192.168.*.*", Default: "127.0.0.1"
   * rpc-whitelist-enabled: true — разрешить белый список

Location
   * "incomplete-dir": Папка, где размещаются недокачанные файлы. Заметьте, что слэши должны экранироваться. Наример: "\/usr\/home\/transmission\/incomplete"
   * "incomplete-dir-enabled": true — разрешить.

Scheduling — Планировщик
   * ratio-limit: Лимит на отдачу (default = 2.0)
   * alt-speed-time-enabled: Альтернативные настройки скорости (default = false)
   * alt-speed-time-begin: Время в минутах от полуночи до начала действия правил (default = 540 — 9am)
   * alt-speed-time-end: Время в минутах от полуночи до окончания действия правил (default = 1020 — 5pm)
   * alt-speed-time-day: Битовая маска дней по которым действуют правила (default = 127, all days)
         Sunday: 1 (binary: 0000001)
         Monday: 2 (binary: 0000010)
         Tuesday: 4 (binary: 0000100)
         Wednesday: 8 (binary: 0001000)
         Thursday: 16 (binary: 0010000)
         Friday: 32 (binary: 0100000)
         Saturday: 64 (binary: 1000000)
       Например:
         Рабочие дни: 62 (binary: 0111110)
         Выходные: 65 (binary: 1000001)
         Все дни: 127 (binary: 1111111)

Более подробное описание всех переменных можно посмотреть на сайте самого проекта по адресу http://trac.transmissionbt.com/wiki/EditConfigFiles

Ну, а теперь когда все настроено пробуем запуститься:

/usr/local/etc/rc.d/transmission start
Starting transmission.

И подключиться к нашему торренту http://torrent-host:9091/transmission/web/ Если ругнулось на ограничение доступа (ошибка 403), то смотрим rpc-whitelist в конфиге. Машина с которой пытаемся подключиться должна быть прописана в белом списке. Так же не лишним будет проверить /var/log/messages на предмет отсутствия ругани.
Примечание: Перед тем как вносить изменения в конфиг, остановите демон командой:

/usr/local/etc/rc.d/transmission stop

Для еще большего облегчения себе жизни можно установить Transmission Remote GUI. Тогда интерфейс будет почти неотличим от uTorrent`а.




размещено: 2010-02-04,
последнее обновление: 2010-02-04,
автор: urgor


KIper, 2010-02-04 в 17:18:01

По моему у трансмиссиона не очень функциональная вэб-морда. У проекта ruTorrent веб-морда куда лучше, единственный её минус - нельзя выбрать что качать из торрент файла, всё или какую-то часть, качает всё что перечислено в торрент файле.

cat_ua, 2010-02-04 в 23:26:44

Transmission Remote GUI не уступает rutоrrent хотя это и не вебморда, но так даже намного удобней, как по мне. И там можно качать файлы по отдельности. Единственный недостаток, что не везде он есть, как в случае с вебинтерфейсом, но быстро качнуть можно всегда. Зато установка его(transmission-daemon) намного проще, чем всей связки rutorrent, и веб сервер не нужен в общем то, и ресурсов меньше хавает, и производительность лучше. Кароч, Трансмишн супер!

E-Wind, 2010-02-04 в 23:49:11

+1 http://forum.lissyara.su/viewtopic.php?f=14&t=18569 По-моему трансмиссия не создает стартовый скрипт...

Urgor, 2010-02-05 в 7:53:53

> По-моему трансмиссия не создает стартовый скрипт...

Сейчас в портах есть уже transmission-daemon-1.83, он сам создал стартовый скрипт в /usr/local/etc/rc.d, сам был приятно удивлен. Вебморду отдельно ставит тоже не пришлось, она в зависимостях прописана и ставится сразу с демоном.

Alex, 2010-02-13 в 12:05:56

Использую программу для удаленного управления Transmission http://code.google.com/p/transmission-remote-dotnet/
Хотя для запуска требуется .NET 2.0, который можно загрузить с сайта Microsoft. Интерфейс включает русский язык (выбирается при установке).
Програмка похволяет задавать приоритет для отдельных файлов;устанавливать полосу пропускания для закачки отдельных торрентов; настраивать некоторые другие параметры, недоступные через web-интерфейс.

Alex, 2010-02-13 в 12:24:12

В дополнение к вышесказанному
Из достоинств программы можно отметить реализацию возможностей последних версий Transmission и ряд дополнительных функций:
- подключение к сетевым каталогам SMB (если каталог загрузки Transmission «расшарен» как общий ресурс CIFS/SMB, то загруженный файл можно открыть прямо из transmission-remote-dotnet);
- настройки упрощающие работу через SSH;
- возможность сохранять наборы настроек (профили) для работы с несколькими экземплярами Transmission;
- график, отображающий ход загрузки/раздачи файлов.
Сайт программы [url=http://code.google.com/p/transmission-remote-dotnet/]

Pety, 2010-02-13 в 12:58:07

Интересно также, что  Transmission интегрирован в сетевое хранилище FreeNAS (основанной на ОС FreeBSD)
[/url]

Pety, 2010-02-13 в 13:26:31

Рекомендую попробовать Transmission на FreeNAS. Установить сможет даже новичок + настройка через Web-интерфейс интуитивно понятна.

Yarikello, 2010-02-26 в 16:51:50

с пол оборота поставилось и завелось. Нету только кеша веника, при 10 торентах веник умирает.

zilia, 2010-03-11 в 12:22:20

что есть веник?
PS спасибо автору.

Евгений, 2010-05-07 в 20:41:19

message-level лучше уменьшить до единицы.

0 = no logging
1 = error messages only
2 = info & error messages
3 = debug i.e. all messages

cat_ua, 2010-09-06 в 12:33:39

как можно оптитмизировать веник под трансмишн, что посоветуете для freebsd? что бы он не быстро убивался, какие есть утилиты для проверки? У меня после года работы, терабайтный веник начал умирать, при добавлениии и закачке нового торрента часто начал писать - input/output error, после чего останавливатся закачка..

gonzo111, 2010-10-11 в 11:09:39

спасибо хорошая статейка
transmisson-remote-gui отличная цацка

gonzo111, 2010-10-20 в 10:58:55

дополнение- чтоб писать логи отдельно
syslog.conf
!transmission-daemon
*.*                                     /var/log/transmission.log

newsyslog.conf
/var/log/transmission.log transmission:transmission             640  3     100  *     JCB

gonzo111, 2010-10-20 в 11:30:38

точнее а то с *.* много мусора
*.notice                                        /var/log/transmission.log

gonzo111, 2010-11-21 в 20:56:42

либо еще проще так
transmission_conf_dir="/usr/home/artem/.config/transmission"
transmission_flags="--log-error --logfile=/var/log/transmission.log"

ttys, 2010-11-26 в 18:00:57

а так не пишет???
newsyslog.conf
/var/log/transmission.log     640  3     100  *     JCB
без transmission:transmission ??

Orain, 2011-01-16 в 13:47:57

Автор, у тебя в конфиге ошибка: параметр \"peer-socket-tos\" имеет тип String, а у тебя он Number. Кроме того, твой конфиг сводится к такому:

{
   \"download-dir\": \"\\/usr\\/home\\/transmission\\/downloads\",
   \"incomplete-dir\": \"\\/usr\\/home\\/transmission\\/incomplete\",
   \"incomplete-dir-enabled\": true,
   \"peer-port-random-low\": 49152,
   \"rpc-authentication-required\": true,
   \"rpc-bind-address\": \"192.168.0.248\",
   \"rpc-enabled\": true,
   \"rpc-password\": \"{b743e257d2c7350417225b4c51a8cbcd6e8aabe9Dl3WnTBV\",
   \"rpc-port\": 9091,
   \"rpc-username\": \"urgor\",
   \"rpc-whitelist\": \"127.0.0.1,192.168.0.37\",
}

Зачем было писать много лишнего - непонятно.

Orain, 2011-01-16 в 13:58:04

А, пардон, это сам демон так конфигу перелопачивает :)

Universal_gr, 2011-01-26 в 9:44:49

Товарищи! А не подскажите ли, как одной командой из под консоли (нужно будет прописать в sh скрипт) - выполнить команду Trash data and remove from list определённому торренту?

ttys, 2011-02-09 в 10:15:44

для автодобавления торентов из каталога
/etc/rc.conf:
transmission_watch_dir="/home/transmission/uploads"

в общем тут тоже есть что глянуть =)

Universal_gr, 2011-02-09 в 16:03:52

Ну это не совсем то, что я спрашивал...
Меня очень интересует управление trans..-daemon из под консоли..
Например проверить все закачки или удалить определённую..

И как прикрутить Transmission Remote GUI, что к сожалению не описали в этой статье.

Рома, 2011-02-09 в 16:12:25

transmission-remote -h там всё есть

Рома, 2011-02-09 в 16:18:09

ну а Transmission Remote GUI это ж гуишный клиент, там особо нечего описывать. Скачал, поставил, ввел адресс сервера, логин:пасс, подключился и всё видишь... На оффсайте представлены разные клиенты на разные ОС и девайсы http://www.transmissionbt.com/resources/

Volodya327, 2011-02-21 в 18:45:46

>У проекта ruTorrent веб-морда куда лучше, единственный её минус - нельзя выбрать что качать из торрент файла, всё или какую-то часть, качает всё что перечислено в торрент файле.

Это не совсем так. При старте, действительно, нет такой возможности. Но после добавления закачки, можно зайти в закладку ее свойств и посмотреть содержимое в точности до файла. Напротив ненужных файлов снять "птички" и эти файлы качаться не будут.

lex-mix, 2011-02-26 в 21:57:45

Поставил, настроил, пашет, качает и раздает, только у меня не срабатывает расписание - поставил чтоб качалось с вечера до утра:

   "alt-speed-time-begin": 1050,
   "alt-speed-time-day": 127,
   "alt-speed-time-enabled": false,
   "alt-speed-time-end": 540,

но расписание не срабатывает, кто-нибудь сталкивался? Да, и когда даю команду sockstat мне выдает листинг не только 51413 порта, а куча других 51ххх, как с этим справится?
Прошу особенно не пинать, я чайник во фряшном мире.

VladVons, 2011-02-28 в 23:36:31

Под кодировкой файловой системы KOI8 название скачанных кирилличных файлов сплошные кракозябы.
Transmission работает в UTF8 и судя по переписке с разработчиками поддерживать кроме UTF8 они ничего не собираются.
Кто это поборол без перекомпиляций всяких и ZFS?

Может другой торрент клиент кто порекомендует?
 

ttys, 2011-03-01 в 9:27:50

сделай дефолтную utf-8 и радуйся =)

Рома, 2011-03-01 в 14:14:12

ссылку на хороший мануал (по дефолтной utf-8) в студию пожалуйста :)

Я как временное решение, использую доступ по ftp с перекодировкой, благодаря чему скачиваю с сервака торрент с нормальным кириллическим шрифтом.

2 lex-mix
/>sockstat -c | grep transmission
/>man sockstat
/>man grep

включить
"alt-speed-time-enabled": true,

ttys, 2011-03-01 в 14:29:46

tail /usr/local/etc/pure-ftpd.conf

# IPV6Only                 yes

# Поддержка UTF-8 для имён файлов (RFC 2640)
# Определите кодировку для файловой системы сервера и, опционально,
# дефолтовую кодировку для клиентов, которые не используют UTF-8.
# Работает тока если pure-ftpd скомпилен с '--with-rfc2640'
FileSystemCharset utf-8
#ClientCharset utf-8
ClientCharset cp1251

Рома, 2011-03-01 в 15:00:49

Суппер!Спасибо! Три телодвижения и я читаю по русски через putty. И извиняюсь конечно за наглость, но может есть такая же хорошая ссылочка на то что бы по самба-шаре тоже можно было бы так же читать? :)

urgor, 2011-03-01 в 15:12:45

2рома:

dos charset = cp866
unix charset = UTF8
display charset = UTF8

Рома, 2011-03-01 в 15:17:49

Благодарю товарищи! Всё прекрасно работает!

ttys, 2011-03-01 в 15:17:54

там сверху есть ссылка на обсуждение в форуме
это так на будущее ;)

lex-mix, 2011-03-02 в 18:07:18

2 Рома
Спасибо, удивляюсь как сам не догадался насчет 'true'

Hodman, 2011-04-24 в 0:52:45

[blockquote]ну а Transmission Remote GUI это ж гуишный клиент, там особо нечего описывать. Скачал, поставил, ввел адресс сервера, логин:пасс, подключился и всё видишь...[/blockquote]
Как конкретно поставить? Куда что залить? Как запускать эту оболочку, куда скопировать файлы remote gui? У меня на данный момент стоит оболочка самая простая и совсем не похожа на µTorrent
Заранее спасибо.

darkden, 2011-11-23 в 17:44:31

помогите пожалуйста!
FreeBSD 4.11, обновил порты.
после скачивания процесс установки прерывается сообщением:
===> Extracting for transmission-daemon-2.41
/sbin/sha256: not found
*** Error code 127
что делать?

Univers, 2011-11-28 в 18:10:52

Походу не смог найти нужную прогу "sha256", нужную для extracting архива. Установи sha256

asmm, 2012-02-11 в 23:48:49

2urgor а если в мои планы не входит изменения кодировки в системе? есть ли способ заставить эту пакость например менять все символы, отличные от ASCII на что-нибудь вроде base64?

Dmitry, 2012-09-26 в 19:28:11

asmm, поставить ktorrent.
очень много вопросов сразу снимется. единственное.. такое маааленькое но - прийдется тащить иксы и vnc)

Михайло Іжик, 2012-12-17 в 14:27:01

   А можно сделать тоже самое для нескольких пользователей и с оплатой через вебмани.
  Может есть готовое решение.
 

Дмитрий, 2023-02-03 в 6:56:55

Прошло много лет, но статья актуальна! =)



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0422 секунд
Из них PHP: 32%; SQL: 68%; Число SQL-запросов: 78 шт.
Исходный размер: 57892; Сжатая: 13469