Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Медиа и стриминг

Transmission

Торрент-клиент, который умеет работать службой на сервере: браузер вместо окна, 6 МиБ памяти в простое. Поставили версию 4.1.3 на Fatmetal Cloud Server и разобрали три ошибки, на которых спотыкается почти каждый.

Проверено на версии 4.1.3, 29 сентября 2026 ~11 минут чтения Fatmetal Team
Торрент-демон Лицензия: GPL-2.0+ / GPL-3.0 Статус: запущен у нас, 4.1.3

Вердикт

Подходит
  • вынести закачки с домашнего компьютера на круглосуточную машину
  • раздавать свои большие файлы: образы, датасеты, сборки
  • слабому железу: домашний сервер, роутер, одноплатник
Не подходит
  • под терабайты на приватных трекерах: профильный сидбокс дешевле
  • тем, кому нужны RSS-подписки и метки прямо в интерфейсе
  • если никто не следит за диском: он кончится первым
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU2-RAM4-DISK50 Сложность: medium Время запуска: ~1 минута, если знать про дефект службы Главный риск: пакет из PPA не стартует сам Прод-готовность: с оговорками (прокси + TLS)
Что это

Что это и какую задачу решает

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

Называется она transmission-daemon. Запускается на сервере, слушает порт 9091 и отдает там же веб-интерфейс. Никакой базы данных, никакой очереди - один процесс и каталог с файлами.

Зачем выносить закачки: дома канал узкий, компьютер выключают на ночь, а раздавать надо постоянно. Сервер снимает оба ограничения.

Отличие от соседей по нише - размер. Transmission настолько мал, что его кладут в прошивки роутеров и в NAS. За это платят набором функций: ни RSS-подписок, ни поиска по трекерам, ни меток в интерфейсе нет.

C++libtransmissionsystemdВеб-интерфейсJSON-RPC
Рабочий список Transmission 4.1.3: одна активная закачка на 2 МБ/с и три торрента на паузе
Рабочий экран 4.1.3 на тарифе CPU2-RAM4-DISK50: закачка идет с 46 из 50 пиров
Версии

Какая версия вам на самом деле достанется

Разница между способами установки тут больше, чем принято думать: от нее зависит, получите вы ветку 4.1 или прошлогоднюю.

Самый очевидный путь дает не самую свежую версию. Вот что отдает пакетный менеджер на чистой Ubuntu 24.04 LTS - команда выполнена на нашем сервере:

$ apt-cache policy transmission-daemon
transmission-daemon:
  Installed: (none)
  Candidate: 4.0.5-1build5

Версия 4.0.5 вышла 7 декабря 2023 года, актуальная - 4.1.3 от 30 июня 2026-го. В ветке 4.1 появились программный интерфейс по стандарту JSON-RPC 2.0, последовательная загрузка, поддержка IPv6 у UDP-трекеров и заметно более быстрый протокол uTP.

СпособЧто получитеЗапускается сам
apt из репозитория Ubuntu 24.044.0.5, декабрь 2023да
apt в Debian 134.1.0~beta2да
официальный PPA проекта4.1.3нет, нужна правка
образ linuxserver.io4.1.3да, за 12 секунд

Интереснее всего строка про PPA. Проект держит собственный репозиторий для Ubuntu, и сборка 4.1.3 под 24.04 вышла там 7 июля 2026 - через неделю после релиза. При этом на странице загрузки самого проекта для Ubuntu написано просто apt install transmission, то есть сайт ведет пользователя на 4.0.5.

Установка

Установка на Fatmetal за пять шагов

Шаг третий - не украшение. Без него служба не запустится вообще.

  1. Создать сервер

    Тариф CPU2-RAM4-DISK50, Ubuntu 24.04 LTS. Ничего предустанавливать не нужно.

  2. Подключить репозиторий проекта и поставить пакет

    sudo apt install -y software-properties-common
    sudo add-apt-repository -y ppa:transmissionbt/ppa
    sudo apt install -y transmission-daemon

    Пакеты весят 3 МБ и приезжают за секунду. Последняя команда зависнет на полторы минуты - так и должно быть, объяснение ниже.

  3. Починить запуск службы

    sudo mkdir -p /etc/systemd/system/transmission-daemon.service.d
    printf '[Service]\nType=simple\nExecReload=/bin/kill -s HUP $MAINPID\n' | \
      sudo tee /etc/systemd/system/transmission-daemon.service.d/override.conf
    sudo systemctl daemon-reload
    sudo systemctl reset-failed transmission-daemon
    sudo systemctl start transmission-daemon

    После этой правки служба поднимается за 0.05 секунды и переживает перезагрузку.

  4. Отдать каталог загрузок служебному пользователю

    sudo mkdir -p /srv/torrents
    sudo chown debian-transmission:debian-transmission /srv/torrents

    Пакет создает пользователя debian-transmission, и работает демон именно от него.

  5. Настроить и вернуть службу

    sudo systemctl stop transmission-daemon
    sudo nano /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
    sudo systemctl start transmission-daemon

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

i

Что менять в настройках. rpc-bind-address на 127.0.0.1, свой пароль в rpc-password (демон сам его зашифрует при старте), download-dir на ваш каталог и anti-brute-force-enabled в true.

!

Еще две строки в систему. Демон при каждом старте просит увеличить буферы UDP. Положите в /etc/sysctl.d/99-transmission.conf значения net.core.rmem_max = 4194304 и net.core.wmem_max = 1048576 - предупреждения из журнала уйдут.

Подводные камни

Три ошибки, на которых спотыкаются все

Все три - следствие настроек по умолчанию, а не поломки. И все три выглядят как что угодно, кроме своей причины.

Установка висит, а служба в состоянии failed

systemd[1]: transmission-daemon.service: start operation timed out. Terminating. systemd[1]: Failed to start transmission-daemon.service - Transmission BitTorrent Daemon.

Причина. Файл службы из PPA объявлен типом notify-reload: systemd ждет от программы сигнала «я запустился». Версия 4.1.3 этот сигнал не присылает. Система ждет 90 секунд, потом убивает работающий процесс и помечает службу как упавшую. Пакетный менеджер все это время стоит.

Решение. Тот самый третий шаг установки - тип simple в дополнительном файле настроек. Промежуточный вариант notify дает тот же результат, дело в самой программе. В пакете 4.0.5 из репозитория Ubuntu этого дефекта нет.

!

Самое неприятное тут не ожидание. Демон все полторы минуты работает и отвечает на запросы, а systemctl status показывает failed. Человек видит рабочий продукт и упавшую службу одновременно и решает, что сломалось что-то еще.

Веб-интерфейс отвечает 403: Forbidden

<h1>403: Forbidden</h1>

Причина. В настройках есть список адресов, которым разрешен доступ - rpc-whitelist, и по умолчанию в нем только 127.0.0.1. Заходите с другого адреса - получаете 403. В журнале демона при этом не появляется ни строки, и искать причину негде.

Решение. Не вписывать в список звездочку, как советует половина инструкций. Правильный путь - оставить доступ на 127.0.0.1 и поставить перед демоном обратный прокси с сертификатом.

Страница 403 Forbidden, которую отдает Transmission при запросе с адреса вне списка разрешенных
Вся страница целиком: ни подсказки, ни следа в журнале

Торрент добавился и сразу встал

ERR open-files.cc:192 Couldn't open '/srv/torrents/debian-13.7.0-amd64-netinst.iso.part': Permission denied (13) ERR open-files.cc:192 Too many messages like this! I won't log this message anymore this session.

Причина. Каталог загрузок не принадлежит пользователю debian-transmission. Торрент при этом добавляется без единого возражения, доходит до 0.66% и встает со статусом Stopped.

Решение. Отдать каталог служебному пользователю - четвертый шаг установки. Цифра 13 в скобках это код ошибки доступа, по ней проблему и ищут в поиске.

И третья, которая выглядит как мистика

Правки в settings.json исчезают. Мы поставили ограничение отдачи 777 кБ/с при работающей службе, перезапустили ее - в файле снова прежние 100.

Демон переписывает файл настроек целиком, когда завершает работу. Любая правка на живой службе будет затерта ее же состоянием из памяти. Отсюда и порядок: остановить, править, запустить.

Замеры

Что измерили после запуска

Стенд: CPU2-RAM4-DISK50, Ubuntu 24.04.4, Transmission 4.1.3, 29 сентября 2026.

Официальный минимум RAMне заявлен
Память в простое6.0 МиБ
Память после закачки 792 МБ13.7 МиБ
Память на 51 торренте12.1 МиБ
Потоков у процесса3
Пакеты на диске11.4 МБ
Каталог состояния96 КБ
Отклик интерфейса1.9 мс
Тариф FatmetalCPU2-RAM4-DISK50 - 500 ₽/мес

Память растет от числа торрентов, а не от их объема

Это главный вывод для выбора тарифа. Мы создали на сервере 50 локальных торрентов и добавили их разом, не тронув сеть: расход вырос с 8.2 до 12.1 МиБ.

То есть один торрент стоит примерно 80 КБ памяти. Даже тысяча раздач - около 90 МиБ, и это меньше, чем занимает пустой браузер.

i

Не верьте строке Memory в выводе systemctl. Сразу после закачки она показывала 808 МиБ при настоящих 28.7. Разницу дает страничный кэш только что записанного файла - система отдаст его по первому требованию. Реальную цифру берут из счетчика anon в cgroup.

Скорость

Образ Debian на 792.7 МБ приехал за полторы минуты: пик 37.4 МБ/с, до 99.7% дошло за 45 секунд, последние доли процента тянулись с одного медленного пира еще полминуты. Это обычный хвост BitTorrent, а не дефект.

Проверка контрольных сумм того же файла заняла 6 секунд и 3.2 секунды процессорного времени - около 130 МБ/с. Это единственная операция, где Transmission заметно нагружает процессор.

Карточка торрента в Transmission: размер, число частей, каталог загрузки, хеш и происхождение файла
Карточка торрента: 793 МБ разбиты на 3024 части по 262 кБ

Проверено на версии 4.1.3, сентябрь 2026. На новых версиях результаты могут отличаться.

Безопасность

Пароль, которого нет в инструкциях

Этот раздел стоит прочитать и тем, кто ставил Transmission год назад и давно все забыл.

Пакет для Debian и Ubuntu включает вход по паролю и записывает в настройки пользователя transmission. Сам пароль лежит там зашифрованным, и выглядит это надежно.

Пара transmission / transmission подошла с первой попытки. Полноценный запрос к программному интерфейсу с ней отвечает успехом и отдает настройки сервера.

Рядом вторая половина: в настройках пакета rpc-bind-address равен 0.0.0.0, то есть порт 9091 смотрит наружу. Мы обращались к свежей машине из интернета и получали ту самую 403 - доступ держал только список разрешенных адресов.

Цепочка целиком

Человек видит 403 и не может войти. Находит совет поставить в списке разрешенных звездочку. Ставит - и между интернетом и его сервером остается один пароль, который знают все.

Что сделать сразу после установки: задать свой пароль, прижать rpc-bind-address к 127.0.0.1, включить защиту от перебора и отдавать интерфейс наружу через прокси с сертификатом. Порт раздачи 51413 при этом открытым быть должен - без него вы качаете, но плохо отдаете.

Сетевые настройки Transmission: порт раздачи 51413 и встроенная проверка его доступности
Встроенная проверка порта: IPv4 открыт. Ошибка на IPv6 в нашем случае про сервер - адреса этой версии на нем просто нет
i

Для тех, кто ставит прокси. Интерфейс управления умеет слушать не только TCP-порт, но и файловый сокет - параметр rpc-socket-mode. Тогда снаружи не открыт вообще никакой порт, а прокси ходит к демону через файл.

Экономика

Сколько стоит раздача и где ее уместно держать

Процессор и память тут ни при чем: 6 МиБ в простое не создают нагрузки ни на каком тарифе. Ограничение одно - диск и полоса.

На измеренных 37 МБ/с свободные 45 ГБ тарифа CPU2-RAM4-DISK50 заполняются примерно за двадцать минут непрерывной закачки. Поэтому под библиотеку берут отдельный диск и монтируют его под каталог загрузок: это дешевле, чем платить за ядра тарифа CPU6-RAM16-DISK100 ради места.

Отдача ведет себя неочевидно. За наш сеанс демон скачал 1.51 ГБ и отдал 345 кБ: у образа Debian раздающих много, а желающих мало. На редком файле, где вы один из трех источников, картина будет обратной - канал выберут целиком.

i

Где это уместно. Для личной библиотеки - домашний сервер, NAS или роутер: железа Transmission требует мало, а трафик остается домашним. У сервера в интернете свой сценарий - раздача собственных больших файлов: образов дистрибутивов, датасетов, сборок. BitTorrent снимает с вашего канала пиковую нагрузку, когда файл качают сотни человек.

Если задача - держать терабайты на приватных трекерах, профильный сидбокс с оплатой за трафик выйдет дешевле сервера общего назначения. Мы это говорим прямо, хотя сервер продаем мы.

Рядом

Связь с другими стеками

  • Обратный прокси - Caddy или Nginx: единственный способ отдать интерфейс наружу с сертификатом.
  • Медиасервер - Jellyfin на той же машине покажет скачанное без переноса файлов.
  • Дополнительный диск - под каталог загрузок. Объектное хранилище тут не подходит: клиент пишет файл кусками вразнобой, а такой доступ объектное хранилище не дает.
  • Сторонние интерфейсы - Transmission Web Control вместо встроенного, настольный Transmission Remote GUI. Оба работают через тот же программный интерфейс.
Ограничения

Когда это НЕ ваш выбор

Вам нужен богатый интерфейс

Ни RSS-подписок, ни меток, ни поиска по трекерам тут нет и не планируется. Это осознанный минимализм, за обратным идут к qBittorrent.

Вам нужен русский интерфейс

Веб-клиент 4.1.3 существует только на английском: файлов перевода в нем нет вовсе. От локали браузера меняются лишь единицы измерения.

Вы ждете терабайтов

Сервер общего назначения проигрывает сидбоксу на больших объемах: там платят именно за диск и трафик, а не за процессор.

Нужна коммерческая поддержка

Проект держат три человека, договор с гарантией ответа покупать не у кого. Есть форум, трекер задач и документация в репозитории.

FAQ

Частые вопросы

Какой пароль стоит по умолчанию?

В пакете для Debian и Ubuntu - пара transmission / transmission. Она рабочая, и менять ее надо первым делом.

Почему веб-интерфейс отдает 403?

Ваш адрес не в списке разрешенных: по умолчанию там только localhost. Открывать список звездочкой не надо, поставьте обратный прокси.

Хватит ли 1 ГБ памяти?

Хватит с большим запасом: в простое демон занимает 6 МиБ, на пятидесяти торрентах - 12. Упретесь вы в диск, а не в память.

Правки в settings.json пропадают, это баг?

Нет. Демон переписывает файл при завершении работы, поэтому править его можно только на остановленной службе.

Чем Transmission отличается от qBittorrent?

Он в пять раз легче - 6 МиБ против 31 в наших замерах - и заметно беднее функциями. У qBittorrent есть RSS, метки и поиск, у Transmission нет ничего из этого.

Как обновлять?

Обычным обновлением пакетов: репозиторий проекта выпускает сборку через неделю после релиза. Дополнительный файл настроек службы при этом сохраняется.

Что бэкапить?

Каталог /var/lib/transmission-daemon - у нас это 96 КБ. Там настройки, сами торренты и данные о недокачанном. Копировать его надо на остановленной службе.

Какие ограничения лицензии?

GPL второй или третьей версии на выбор. Коммерческое использование разрешено, платных редакций у проекта нет.

Итог

Transmission 4.1.3 на сервере - это 6 МиБ памяти, один процесс и минута работы до готового интерфейса. Сложность не в установке, а в трех умолчаниях: служба из репозитория проекта не стартует без правки, пароль по умолчанию известен всем, а файл настроек переписывается сам. Если знать про них заранее, вы получаете самый легкий торрент-демон из существующих - и он не заметит ни тысячи торрентов, ни слабого железа.

Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи