Transmission windows запуск как служба

Transmission-daemon

Содержание

Основное отличие данной программы от Transmission заключается в том, что это демон, а значит работает в фоне и всегда.

Установка

Настройка

Главный минус работы с ненастроенным transmission-daemon- это невозможно им управлять, потому что по умолчанию к нему нельзя подключаться web интерфейсом или сторонними программами. При настройке необходимо помнить, что конфигурационный файл нельзя менять, пока служба transmission-daemon работает, потому что при остановке он восстановит его первоначальное (которое было при запуске) состояние и все ваши старания накроются медным тазом. Поэтому ВСЕГДА перед началом настройки необходимо остановить службу

Смысл описанных ниже телодвижений — заставить службу работать от имени пользователя, а значит и создавать скачиваемые файлы, владельцем которых сразу будет наш пользователь, что убережёт нас от последующих проблем с доступом к файлам.

Переносим папку с основными файлами в домашнюю папку пользователя

И в строке CONFIG_DIR прописываем путь до папки с файлами настройки.

Принуждаем работать службу от нашего пользователя:

если используется init.d

Меняем setuid (NAME) debian-transmission и setgid (USER) debian-transmission на имя своего пользователя.

если используется systemd

Меняем значение переменной User за свое

затем делаем перезагрузку юнитов

Настройка settings.json

Пример файла с настройками

В полях rpc-username и rpc-password задается логин и пароль соответственно, а так же в поле rpc-whitelist дописываем свой внешний IP если есть, чтобы получить доступ к Transmission на сервере. Если у Вас динамический IP, то можно отключить проверку IP. Для этого нужно в поле rpc-whitelist-enabled поставить значение false. По окончании всех настроек запускаем службу

Настройка Transmission daemon: settings.json. Описание всех настроек.

Не всегда возможно установить все конфигурации из графического интерфейса, особенно на Daemon или в веб-интерфейсе. Это руководство попытается дать обзор настроек Transmission.

Перед внесением изменений клиент и демон должен быть закрыт и остановлен, в противном случае параметры будут возвращены в предыдущее состояние.

Поэтому всегда перед изменении настроек в файле необходимо остановить службу transmission-daemon :

В таблице представлены расположения файлов с различными настройками Transmission:

Настройки Где находятся
GTK+/Qt настройки клиента $HOME/.config/transmission
Настройки демона $HOME/.config/transmission-daemon
CLI настройки $HOME/.config/transmission-cli
Папка загрузки по умолчанию $HOME/Downloads

Примерный путь расположения конфигурационного файла settings.json :

В данном файле находится множество настроек:

«alt-speed-down»: 50, скорость альтернативной загрузки KB/s
Нажатие «Черепаха» в gui активирует настройки альтернативной загрузки
«alt-speed-enabled»: false, включена ли альтернативная загрузка да/нет (true/false)
«alt-speed-time-begin»: 540, время начала альтернативной загрузки с 540 минуты с 9:00
«alt-speed-time-day»: 127, по каким дням включать альтернативные настройки: 127-по всем
Воскресенье: 1 (binary: 0000001)
Понедельник: 2 (binary: 0000010)
Вторник: 4 (binary: 0000100)
Среда: 8 (binary: 0001000)
Четверг: 16 (binary: 0010000)
Пятница: 32 (binary: 0100000)
Суббота: 64 (binary: 1000000)
Например:
Рабочие дни: 62 (binary: 0111110)
Выходные: 65 (binary: 1000001)
Все дни: 127 (binary: 1111111)
«alt-speed-time-enabled»: true, включено ли время альтернативной загрузки да/нет (true/false)
«alt-speed-time-end»: 1020 , время окончания альтернативной загрузки до 1020 минуты до 17:00
«alt-speed-up»: 50, скорость альтернативной отдачи KB/s
«bind—address—ipv4″: «0.0.0.0», прослушивается на всех адресах IPv4 и IPv6, доступных в вашей системе
«bind—address—ipv6″: «::», прослушивается на всех адресах IPv4 и IPv6, доступных в вашей системе
«blocklist-enabled»: false, Использовать списки блокировки URL
«blocklist-url»: «http://www.example.com/blocklist», списки блокированных URL
«cache-size-mb»: 4, Размер (по умолчанию = 4), в мегабайтах, для распределения кэша памяти. Кэш используется для совместного использования пакетного ввода-вывода, поэтому увеличение размера кеша может быть использовано для уменьшения количества чтения и записи на диске.
«dht-enabled»: true, Включить распределенную таблицу хэшей(DHT)
«download-dir»: «/home/Ваш_пользователь/Multimedia», директория для скачанных файлов
«download-limit»: 100, ограничение пропускной способности, KB/s
«download-limit-enabled»: false, включение ограничения пропускной способности (по умолчанию = false)
«download-queue-enabled»: true, Очередь. Когда true, transmission будет загружать только download-queue-size незавершенные торренты.
«download-queue-size»: 5, Размер очереди. Количество загружаемых активных торрентов .
«encryption»: 1, (0 = Предпочитают незашифрованные соединения, 1 = Предпочитают зашифрованные соединения, 2 = Требовать шифрованные соединения, по умолчанию = 1) Предпочтение шифрования . Шифрование может помочь обойти некоторую фильтрацию ISP, но ценой немного более высокой загрузки ЦП.
«idle-seeding-limit»: 30, Остановить раздачу после простоя в течение N минут.
«idle-seeding-limit-enabled»: false, Останавливать при простое. По умолчанию = false
«incomplete-dir»: «/home/Ваш_пользователь/Multimedia/.incomplete», путь, где будут распологаться не довершившие закачку торренты. Точка впереди директории говорит что она должна быть скрыта
«incomplete—dir—enabled«: false, хранить ли скачивающиеся файлы в отдельной папке (true/false)
«lpd-enabled»: false, Включить обнаружения локальных BitTorrent-пиров, и, следовательно, сокращения трафика, проходящего через канал Интернет-провайдера и максимального использования пропускной способности
«message-level»: 2, количество информации, выдаваемой в /var/log/syslog, значение можно менять 0 = None, 1 = Error, 2 = Info, 3 = Debug
«peer-congestion-algorithm»: «», Алгоритм управления TCP описано на http://www.pps.jussieu.fr/

jch/software/bittorrent/tcp-congestion-control.html «peer-limit-global»: 240, Используемое количество пиров всего «peer-limit-per-torrent»: 60, Используемое количество пиров на один торрент «peer-port»: 51413, порт входящих соединений. Если вы за NAT’ом то позаботьтесь о пробросе этого порта «peer-port-random-high»: 65535, Верхняя граница портов «peer-port-random-low»: 49152, Нижняя граница портов «peer-port-random-on-start»: false, Менять рандомно порт при старте transmission «peer-socket-tos»: «default», параметр Type-Of-Service (TOS) для исходящих пакетов TCP. Возможные значения: «default», «lowcost», «throughput», «lowdelay» и»reliability». Значение «lowcost» рекомендуется, если вы используете интеллектуальный маршрутизатор «pex-enabled»: true, Включить расширение BitTorrent-протокола для обмена списками участников «port-forwarding-enabled»: false, Включить UPnP или NAT-PMP «preallocation»: 1, Влияет на фрагментацию записанных файлов (0 = Off, 1 = Fast, 2 = Full (медленнее, но уменьшает фрагментацию диска), по умолчанию = 1) «prefetch-enabled»: true, по умолчанию = true «queue-stalled-enabled»: true, Когда true, торренты, не закачивающие данные в течении queue-stalled-minutes , обрабатываются как «застопорены», очередь продвигается дальше. «queue-stalled-minutes»: 30, Время ожидания получения данных при закачке «ratio-limit»: 2, Лимит на отдачу (default = 2) «ratio-limit-enabled»: false, Включить лимит раздачи «rename-partial-files»: true, Менять расширение файла не докаченного файла на «.part» (true/false) «rpc-authentication-required»: false, требовать аутентификацию для удаленного управления «rpc-bind-address»: «0.0.0.0», IP адрес Transmission для входа через веб морду «rpc-enabled»: true, включение удаленного управления. Сюда же относится и управление через web-интерфейс «rpc-password»: «Пароль», Пароль для входа в web-интерфейс transmission-daemon. После сохранения настроик пароль будет зашифрован. «rpc-port»: 9091, порт к web-интерфейсу «rpc-url»: «/transmission/», настройка адреса web-интерфейса «rpc-username»: «Пользователь», Имя пользователя для входа в web-интерфейс transmission-daemon. «rpc-whitelist»: «127.0.0.*,192.168.1.*», список разрешенных ip адресов для доступа к web-интерфейсу «rpc-whitelist-enabled»: true, включение доступа с ip адресов да/нет (true/false) «scrape-paused-torrents-enabled»: true, по умолчанию = true «script-torrent-done-enabled»: false, Запуск сценария при завершении торрента «script-torrent-done-filename»: «», Путь к скрипту «seed-queue-enabled»: false, Когда true. Передача будет обрабатывать только seed-queue-size незастопоренные торренты. «seed-queue-size»: 10, количество «speed-limit-down»: 1500, ограничение скорости обычной загрузки «speed-limit-down-enabled»: false, включение ограничения обычной загрузки да/нет (true/false) «speed-limit-up»: 1000, ограничение скорости обычной отдачи «speed-limit-up-enabled»: false, включение ограничения обычной отдачи да/нет (true/false) «start-added-torrents»: true, Начать торренты, как только они будут добавлены «trash-original-torrent-files»: true, Удалить торренты, добавленные из каталога watch «umask»: 18, Устанавливает маску создания «upload-limit»: 100, Ограничение раздачи, KB/s «upload-limit-enabled»: 0, Включить ограничение (0 или false — нет, 1 или true — да) «upload-slots-per-torrent»: 14, количество раздаваемых торрентов «utp-enabled»: true, Включить протокол микротранспорта ( μTP ) «watch-dir»: «/home/Ваш_пользователь/Torrents», директория с которой подхватывать торрент-файлы для скачивания «watch-dir-enabled»: true включает или отключает сканирование директории с файлами торрент

По окончании всех настроек запускаем службу

Многопользовательская торрент-качалка на transmission

Введение, для тех, кто не знаком с тем, что такое transmission-daemon

Одним из распространенных торрент-демонов является transmission-daemon. Для него есть множество GUI-клиентов для разных платформ, которые работают по http и могут подключаться к качалке удаленно, что очень удобно. Использование такого клиента для пользователя не будет отличатся от обычных торрент-клиентов, при этом если клиент закрыть, скачивание/раздача не прекращается, а продолжается на удаленной машине-сервере. Так же у transmission-daemon есть свой «стандартный» web-интерфейс.

Проблема:

И все было бы хорошо, но transmission-daemon хоть и предусматривает авторизацию, но только для одного пользователя. Поэтому если Вы захотите, что бы вашей торрент-качалкой пользовался кто-то еще кроме Вас, то прийдется делить один аккаунт — вы оба сможете просматривать и управлять закачками друг друга, что не очень удобно.

Способ решения

Самым очевидным простым и элегантным, на мой взгляд, решением является запуск transnmission одновременно от разных пользователей. В данном случае в качестве ОС применяется Ubuntu Server 12.10, поэтому можно создать отдельный Upstart User Job для каждого пользователя. Для других дистрибутивов вместо этого можно просто создать init.d скрипты.

Решение

Подготовим систему:

установим transmission-daemon:
sudo apt-get install transmission-daemon
Разрешим выполнение пользовательских демонов или User Jobs, для этого нужно заменить файл «/etc/dbus-1/system.d/Upstart.conf», предварительно сделав бекап старого.
sudo mv /etc/dbus-1/system.d/Upstart.conf /etc/dbus-1/system.d/Upstart.conf.save
новый файл /etc/dbus-1/system.d/Upstart.conf:

Дальше стоит выключить стандартный demon, который запускается от рута при старте системы:

Настройка конкретного пользователя:
создаем Upstart User Job

Логинимся под очередным юзером, который будет использовать transmission-daemon и выполняем скрипт:

Скрипт создаст файл

/.init/transmissiond-$USER.conf с необходимыми настройками пользовательского демона.
Поле на которое стоит обратить внимание — это «start«. В данном случае Job будет стартовать только в случае, если пользователь залогинился в систему, что вовсе не обязательно. Однако, если установлено шифрование домашнего каталога — необходимо, иначе некуда будет сохранять скачанное. Если директория скачивания доступна и до логина пользователя, то «start on $USER-logged-in» можно заменить на «start on runlevel [2345]» . В таком случае, однако, Job не нужно делать пользовательским, а можно расположить в /etc/init/

Настраиваем env user-demona:

Создаем файл настроек торрент-клиента

Не забудьте заменить pass=»*****» на свой пароль. После первого запуска transmission сам скроет пароль хешем — в открытом виде не хранит.

Каждый торрент-демон будет висеть на своем отдельном порте, как для входящих торрент-соединений, так и для управления-интерфейса. Номер порта (веб интерфейс) конкретного пользователя вычисляется по формуле rpc-port = 9091 + $uid — 1000 Таким образом пользователь с uid 1000 сможет зайти на веб-интерфейс по server:9091 , а пользователь с uid 1010 — по server:9101 . peer-port вычисляется аналогично.
Все недокачанные торренты будут лежать в

/downloads/incomplete, а готовые — в

В том случае, если используется, шифрование домашней директории пользователя, нужно что бы демон стартовал только когда пользователь залогинен, поэтому добавляем в конце .bashrc соответсвующий ивент, что бы Upstart знал, что пора запускать transmission:

и еще, наверное, желательно что бы если юзер сделал логаут — демон продолжал крутиться:
mv «$HOME/.ecryptfs/auto-umount» «$HOME/.ecryptfs/_auto-umount»

По желанию можно также сделать проксирование через nginx/apache что бы разные пользователи могли заходить на интерфейс через разные домены, например.

Читайте также:  Список процессоров совместимых с windows 10
Оцените статью