Transmission daemon 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 windows что это

Для небольшого домашнего сервера под управление операционной системы Windows 10, на мой взгляд самым удобным торрент-клиентом является Transmission.

Главными удобствами является малая затрата ресурсов и возможность рабобы в виде фоновой службы (с возможностью удалённого доступа).

В моём случае реализация такова:

1. Скачиваем свежий дистрибутив с официального сайта — https://transmissionbt.com/download/

2. Во время установки указываем установить службу

3. После установки — запускаем графическую оболочку Transmission Qt Client и настраиваем «по вкусу» (в том числе параметры удалённого доступа и логин/пароль). Эти настройки сохраняются в файл %LOCALAPPDATA%/transmission/settings.json Но это настройки только для приложения, запущенного от имени данного пользователя.

4. Для настройки службы нужно её остановить (в списке служб — Transmission Daemon) и после этого копируем настроенный файл из предыдущего пункта в папку C:\Windows\ServiceProfiles\LocalService\AppData\Local\transmission-daemon (с заменой). После этого можно запустить службу.

Итог. При запущенном клиентском приложении — выполняются настройки приложения. Когда приложение закрыто — выполняются настройки службы.

В большинстве случаев я пользуюсь только службой, работая с Transmission через удалённый доступ.

Для удалённого доступа можно использовать встроенный WEB-интерфейс, но я предпочитаю приложение Transmission Remote GUI

Настройка 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 включает или отключает сканирование директории с файлами торрент

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

Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE

Приветствую, уважаемые читатели на четвертой части цикла!

Предисловие

По аналогии с предыдущей статьей, мы установим LXC контейнер и в нем установим и настроим “торрент качалку” Transmission
Официальный сайт: transmissionbt.com

Вы спросите: “А чем не устраивает торрент на обычном ПК?”
Так вот тем, что это не удобно при работе с локальным сервером. Да, варианты есть, но если честно… такое себе.
Гораздо удобнее, когда скачивание идет сразу на сервере и более того, я могу подключаться к своей системе не только через Desktop приложение, но и через мобильное приложение.
Т.е. фактически из любого места где есть интернет. А про локальную сеть я уже молчу )
Также в моей топологии сети, при этом, не задействуется Wi-Fi, все скачивание и раздача идет по кабельному каналу. (У меня тариф 500 Мбит/сек)

Это значит, что я также расскажу, как использовать приложение Transmission GUI на ПК и Transmission Remote на Android.
Ну и как бонус покажу немного автоматизации обработки торрентов. Мы ведь не хотим сами создавать все эти папки согласно иерархии хранения? 🙂
Кому стало интересно, приятного чтения .

Be careful! Много текста и работы с терминалом!

Установка и настройка Torrent сервиса Transmission-daemon

Процесс установки контейнера я опущу т.к. он разбирался в статье: Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
Принцип аналогичен, разве что параметры контейнера можно немного изменить:
Memory – 2.00 GiB
DNS – 192.168.88.7, 192.168.88.1 (помним, что мы запустили свой DNS)

Самый важный момент!
Нам необходимо сохранять файлы на RAID массив, который мы создали в процессе установки и настройки основной хост системы.

Но перед этим необходимо определиться со структурой хранения данных.
Для себя я определил следующую структуру:

Далее будем следовать данной структуре.

Как можно видеть, я создал специальную папку media для хранения всей мультимедиа информации.

И пока мы не запустили наш контейнер вопрос: “Как подключить массив к контейнеру?”
Делается это достаточно просто. Переходим в консоль основного сервера pve1
Основная консоль сервера PVE1

Настройки LXC контейнеров лежат по пути:
/etc/pve/lxc/

А там уже файлы конфигураций согласно номеру контейнера 100.conf, 101.conf и т.д.
Открываем файл настроек нашего контейнера:

Номер 100.conf это наш контейнер под DNS, а новый созданный это 101.conf

Добавляем в него такую строку:

Т.е. у нас будет доступ из контейнера в файловую систему хостовой машины через точку монтирования(mp = Mount Point), при этом нам самим не нужно ничего монтировать, система сама обо всем позаботится.
В контейнере файлы мы будем сохранять по пути /mnt/data
Вы можете указать свой путь, как вам нравится.
Я же, создал базовую папку /rpoolz/data в которой будут храниться мои файлы

Запустим контейнер и перейдем к установке и настройке Transmission уже непосредственно внутри контейнера

Проверим смонтированную папку

Создадим базовые папки

Обновим контейнер и установим transmission-daemon

Остановим сервис, для изменения настроек

Производим настройки transmission-daemon
Открываем файл настроек:

Файл настроек представлен в формате JSON, необходимо поправить ряд параметров:

  • “cache-size-mb”: 100
  • “download-dir”: “/mnt/data/download” – директория, куда будут сохраняться загружаемые файлы
  • “download-queue-enabled”: true
  • “download-queue-size”: 5
  • “incomplete-dir”: “/mnt/data/download/incomplete” – директория, где будут располагаться скачанные файлы не завершенных торрентов
  • “incomplete-dir-enabled”: true
  • “peer-port”: 13003
  • “preallocation”: 2
  • “ratio-limit”: 2
  • “ratio-limit-enabled”: true
  • “rpc-password”: “123456” – пароль для программ удаленного доступа
  • “script-torrent-done-enabled”: true
  • “script-torrent-done-filename”: “/etc/transmission-daemon/torrentdone.sh” – для чего это нужно читайте в отдельном разделе ниже Скрипты обработки торрентов для Transmission-daemon
  • “seed-queue-enabled”: true
  • “seed-queue-size”: 5
  • “umask”: 0 – Файлы будут сохраняться с маской 777, т.е. будут доступны для всех (чтение, удаление). Это важно!

Сохраняем настройки и запускаем transmission-daemon

Если видим в ответе netstat слова “transmission“, значит сервис точно запущен и работает.

На этом настройку можно считать завершенной.

Дополнительная настройка nginx для Transmission

Стандартно ставим nginx

Удаляем базовый сайт

После этого можно обращаться к transmission и rpc по доменному имени.

Теперь перейдем к средствам удаленного управления.

Удаленное управление Transmission

Transmission удобен тем, что работает на сервере в виде службы и потребляет минимум ресурсов. Также основной ПК освобождается от торрента и хранимых медиа файлов )
Для управления можно использовать утилиту для Windows x86, Windows x64, Linux x86, Linux x64, Linux на ARM6L, Linux на ARM7L, MacOS (.dmg пакет)
Для Android и iOS также существуют приложения разработанные сторонними разработчиками
Даже на мощных роутерах таких компаний как Asus иногда можно встретить Torrent качалку на базе Transmission.

Т.е. это говорит о высокой интеграции данного сервиса во все известные системы и эта кроссплатформенность дает нужное удобство.
Рассмотрим приложения на базе Windows и Android. С остальными системами полагаю будет аналогично.

Применение Transmission Remote GUI

Что такое Transmission Remote GUI?
Transmission Remote GUI на Windows 10 Transmission Remote GUI – это многофункциональный кроссплатформенный интерфейс для удаленного управления демоном Transmission через его протокол RPC. Он быстрее и обладает большей функциональностью, чем встроенный веб-интерфейс Transmission.
Transmission Remote GUI разработан с использованием Lazarus RAD и компилятора Free Pascal.
Обладает интерфейсом почти как у uTorrent (uTorrent-like interface)
Transmission Remote GUI можно скачать на гитхабе в разделе с релизами:
github.com/transmission-remote-gui/transgui/releases
По той же ссылке располагаются варианты для других систем, они там все скопом.

Установка и настройка выполняется как с обычной программой.
Я скачиваю exe файл, устанавливаю, запускаю и иду в настройки приложения.
Путь к настройкам приложения Настройки для transmission с настроенным nginx Далее вы уже можете производить индивидуальные настройки аналогично обычному торрент клиенту по типу того же uTorrent.
И еще, как вы могли заметить программа поддерживает Русский язык, что конечно радует 🙂

Теперь перейдем к мобильной части…

Применение приложения на Android, iOS

Я опишу одно приложение, которым пользуюсь сам и т.к. у меня телефон на дройде, то прошу владельцев iOS не переживать. Полагаю для яблочных систем должно быть аналогично.
Оно так и называется Transmission Remote.
Чтобы не ошибиться, вот ссылка на приложение: Transmission Remote
Вот немного скриншотов

Мне достаточно зайти на нужный сайт, скачать торрент файл и запустить его выбрав это приложение. Сервер далее уже сам все сделает.
Можно спокойно закрыть приложение, по окончании скачивания придет push уведомление об окончании.
За время скачивания можно налить чаю, устроиться поудобнее и запустить кино/сериал на просмотр 🙂

Скрипты обработки торрентов для Transmission-daemon

А теперь настала пора автоматизации.
Скажите, вам ведь не хочется самостоятельно раскладывать каждый файл фильма или сериала по папкам? Если не хочется, то вы можете либо свалить все в кучу и тогда в один прекрасный день будет такая же история, как у многих с музыкой в начале 2000х 🙂
Было бы здорово, чтобы фильмы хранились с определенной иерархией. В начале статьи мы определили иерархию для хранения фильмов в 2D, в 3D и сериалов, но как заставить Transmission самостоятельно их переносить в нужные папки сразу после окончания и при этом не переставать раздавать в самой программе?
Как заставить торренты удаляться после наступления определенных условий, скажем рейтинг скачал/отдал был бы равен 2, а если рейтинг никогда не доберется до значения 2, то удалить торрент через 7 дней после добавления?

Как видим задач для автоматизации не много. Приступить к созданию автоматической обработки торрентов меня подтолкнула строка в настройках transmission-daemon
“script-torrent-done-filename”: “”
Тут мы можем указать путь к файлу, который transmission-daemon исполнит по окончании загрузки торрента, при этом он передаст скрипту некоторые переменные, чтобы в скрипте ими можно было пользоваться.

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

Я загрузил файлы на Github. Там вы можете скачать последние версии данных файлов.
Вот ссылка: https://github.com/GregoryGost/Transmission

Кратко опишу, какой файл, что делает:

Скрипт torrentdone.sh

Данный скрипт необходимо поместить в папку /etc/transmission-daemon

После скачивания разрешаем файл на выполнение.

Скрипт определяет, что мы скачиваем, файл или папку с файлами и переносит файл(файлы) по месту их хранения.

Из определений, есть определение сериал это или фильм. И для фильмов есть разделение 2D или 3D фильм.
Скрипт также создает все необходимые пути согласно принятой мной системе хранения.

Замечательно, фильмы и сериалы сами складываются в нужные папки, скачивание идет, мы можем удаленно управлять всем этим.
Осталось сделать так, чтобы торренты сами еще и удалялись, но конечно без удаления самого скачанного файла!
Для этого мы используем старый добрый Cron

Скрипт torrentclear

Файл необходимо положить в папку Cron /etc/cron.hourly, где он будет выполняться каждый час.

После скачивания разрешаем файл на выполнение.

Проверка каждого торрента проводится с помощью консольной утилиты transmission-remote

Вот мы и закончили с автоматизацией обработки торрентов.
Теперь торренты будут удаляться автоматически и у нас не будет болеть голова об этом. Просто добавили и все.

Ротация логов logrotate.d/transmission

Дополнительно можно автоматизировать обработку создаваемых лог файлов. Т.е. обеспечить их ротацию.
Скачиваем файл с настройками

logrotate будет следить за тем, чтобы лог файл не превышал размер 10 Mb. А если и превысит, то он создаст отдельный файл со старым логом.
А еще позже будет уже сжимать совсем старые логи в архивы.

Заключение

Что хотелось бы сказать в заключении – а сказать особо и нечего, я все постарался описать в самой статье.
С помощью функционала Proxmox я реализовал торрент качалку в LXC контейнере, в которую можно добавлять торренты по дороге домой с работы, чтобы вечером с женой/детьми/родственниками/друзьями сесть за хороший фильм или сериал.
Такое решение сильно упрощает управление скачиванием и сохранением медиа файлов. Она работает автоматически в том числе на распределение файлов по нужным папкам, чистит торренты, чтобы они не занимали ресурсы системы.
В общем и целом я считаю, что своей цели в этой статье я достиг. Буду ждать от вас интересных идей для развития данной системы, в особенности скриптов по автоматизации 😉

Ну и конечно делитесь своими фишками, хаками, способами использования Transmission в комментариях!

Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉

UPD 21.03.2020:
Изменен раздел “Скрипты обработки торрентов для Transmission-daemon” т.к. были обновлены скрипты.

Читайте также:  Закрытие крышки ноутбука без выключения linux
Оцените статью