Transmission - популярный бесплатный торрент-клиент с открытым исходным кодом. В этой подробной инструкции для начинающих мы рассмотрим, как установить, настроить и использовать transmission daemon на Ubuntu сервере для автоматической загрузки торрентов.
Установка Transmission daemon
Transmission daemon - это версия популярного торрент-клиента, которая работает как фоновая служба на сервере. В отличие от графической версии, daemon не имеет пользовательского интерфейса и управляется через командную строку или веб-интерфейс.
Основные преимущества использования transmission daemon:
- Работает в фоновом режиме без графического интерфейса
- Позволяет автоматизировать загрузку торрентов на сервере
- Имеет веб-интерфейс для удаленного управления с любого устройства
- Расходует меньше ресурсов по сравнению с GUI версиями
Установка осуществляется стандартными средствами из репозитория Ubuntu. Для этого выполняем команду от root пользователя:
sudo apt install transmission-daemon
После установки transmission daemon запускается автоматически как служба systemd.
Основные конфигурационные файлы daemon располагаются в следующих директориях:
- /etc/init.d/transmission-daemon - запуск демона
- /etc/default/transmission-daemon - основные настройки
- /etc/transmission-daemon/ - параметры по умолчанию
Настройка пользователей и прав доступа
По умолчанию transmission daemon запускается и работает от имени системного пользователя debian-transmission
. Это сделано в целях безопасности, чтобы ограничить доступ transmission к файловой системе.
Однако такой подход создает неудобства при работе, так как загружаемые торренты будут доступны только этому пользователю.
Поэтому рекомендуется создать отдельного пользователя для запуска transmission daemon:
sudo adduser torrents-user
Далее нужно добавить его в группу debian-transmission
:
sudo usermod -a -G debian-transmission torrents-user
В группу debian-transmission
также рекомендуется включить других пользователей, которым необходим доступ к загружаемым торрентам.
Затем создаем общую директорию для хранения торрентов и загрузок с нужными правами доступа:
sudo mkdir /mnt/torrents sudo chown -R torrents-user:debian-transmission /mnt/torrents
Конфигурирование transmission daemon
Основные параметры запуска transmission daemon хранятся в конфигурационном файле /etc/default/transmission-daemon
.
В нем можно изменить, например, размер лог-файла, задать дополнительные опции запуска и т.д.
Для оптимизации производительности рекомендуется увеличить буфер сокетов ядра. Это можно сделать командой:
sudo sysctl -w net.core.rmem_max=4194304 sudo sysctl -w net.core.wmem_max=1048576
Это позволит уменьшить ошибки, связанные с размером сетевого буфера.
Переопределение пользователя запуска
Чтобы daemon запускался от имени нужного пользователя, а не по умолчанию, можно переопределить это поведение.
Для этого создадим дропин файл для службы transmission:
sudo systemctl edit transmission-daemon.service
И укажем в нем параметр User
с нужным именем пользователя, например:
[Service] User=torrents-user
Настройка файла settings.json
Основные параметры работы transmission daemon хранятся в конфигурационном файле settings.json
.
Перед внесением изменений в settings.json необходимо остановить службу transmission-daemon
В этом файле необходимо указать:
- Путь к директории для скачивания торрентов
- Путь к директории для хранения торрентов
- Параметры веб-интерфейса и удаленного доступа
- Ограничения скорости и др. дополнительные опции
Работа с веб-интерфейсом
После настройки settings.json
можно запустить службу transmission-daemon
и подключиться к веб-интерфейсу.
Для этого в адресной строке браузера нужно ввести:
http://IP-адрес-сервера:порт/transmission/
Где порт по умолчанию - 9091
.
Веб-интерфейс позволяет выполнять различные действия:
- Добавлять и удалять торренты
- Проверять статус и скорость закачки
- Изменять папки для загрузок
- Устанавливать ограничения скорости и пропускной способности
Расширенные возможности
Помимо веб-интерфейса, существует ряд расширенных возможностей для работы с transmission daemon:
- Автоматическая загрузка торрентов из указанной директории
- Командная строка и API для автоматизации задач
- Webhook для взаимодействия со сторонними сервисами
Например, можно настроить автозагрузку торрентов из папки командой:
transmission-daemon -w /path/to/watch/
Это позволит сканировать указанную директорию и автоматически загружать размещенные там торренты.
Диагностика ошибок
При запуске transmission daemon могут возникать различные ошибки, например связанные с настройкой сети или буфером ядра.
Для диагностики проблем рекомендуется:
- Проверить журнал ошибок с помощью команды:
journalctl -xe
- Увеличить debug логирование в файле
settings.json
- Проверить текущий статус службы командой:
systemctl status transmission-daemon
Интеграция со сторонними сервисами
Transmission поддерживает вебхуки, которые позволяют интегрировать его с другими сервисами и приложениями.
Например, можно настроить автоматическую отправку уведомлений в Telegram о статусе загрузок. Или запуск скрипта после завершения скачивания торрента.
Для этого в файле settings.json
нужно указать параметр script-torrent-done-enabled
и путь к исполняемому скрипту.
"script-torrent-done-enabled": true, "script-torrent-done-filename": "/path/to/script.sh",
Пример скрипта
Вот пример скрипта на bash для отправки уведомлений в Telegram при завершении загрузки:
#!/bin/bash torrent=$1 chat_id=123456789 bot_token=00000000:XXXXXXXXXXXXXXXXXXXXXXX curl -s -X POST https://api.telegram.org/bot$bot_token/sendMessage -d chat_id=$chat_id -d text="Загрузка $torrent завершена"
Резервное копирование данных
Рекомендуется настроить резервное копирование загруженных торрентов и соответствующих папок.
Это можно сделать с помощью стандартных инструментов Linux, таких как rsync или rclone.
Пример команды rsync
rsync -avP /mnt/torrents /mnt/backup
Выполнять резервное копирование можно периодически с помощью crontab.
Миграция на другой сервер
При необходимости переноса данных и настроек transmission на новый сервер, достаточно скопировать две основные папки:
- Папку с загруженными торрентами
- Папку с настройками пользователя (обычно
.config/transmission/
)
После копирования этих папок и установки transmission daemon на новый сервер, достаточно перезапустить службу с нужными параметрами - все загруженные данные и настройки сохранятся.
Дополнительные клиенты
Помимо официальных версий, существуют различные клиенты и библиотеки для работы с transmission демоном.
Например, Transmission Remote GUI - это cross-platform GUI клиент, который может подключатся к удаленному демону.
Также есть библиотеки для языков программирования Python, Java, JavaScript и других - для автоматизации загрузки и управления через скрипты.