Raspberry Pi как торрент-сервер: ставим Transmission с веб-интерфейсом

Пошаговое руководство по настройке автономного торрент-сервера на Raspberry Pi с Transmission. Веб-интерфейс, удалённое управление, экономия энергии. Замените ПК на малинку!
Приветствую всех, кто любит, когда техника работает на них, а не наоборот! Сегодня мы займёмся одной из классических, но оттого не менее полезных, задач для малинки — превратим её в автономный торрент-сервер. Зачем? Чтобы не держать компьютер включённым сутками, экономить электричество и иметь централизованное хранилище для загрузок, доступное с любого устройства в домашней сети.
Я выбрал для этого клиент Transmission — он лёгкий, стабильный, имеет удобный веб-интерфейс и отлично чувствует себя даже на стареньком Raspberry Pi. Всё, что нам нужно, — это сама одноплатка, карта памяти, блок питания и, конечно, немного времени. Поехали!
Что нам понадобится
- Raspberry Pi (подойдёт любая модель, начиная с 2-й, у меня стоит Pi 4 с 2 ГБ ОЗУ).
- Карта microSD (от 8 ГБ) с установленной ОС Raspberry Pi OS (бывший Raspbian). Я использую Lite-версию без графического интерфейса.
- Стабильное питание и подключение к сети (желательно по Ethernet для скорости, но Wi-Fi тоже сработает).
- Внешний жёсткий диск или большой USB-флеш-накопитель для хранения загрузок (опционально, но очень рекомендую).
Подготовка системы и установка Transmission
Первым делом, как всегда, обновляем списки пакетов и саму систему. Подключаемся к Raspberry Pi по SSH.
sudo apt update && sudo apt upgrade -y
Комментарий: update обновляет информацию о доступных пакетах, а upgrade устанавливает их обновления. Ключ -y автоматически соглашается на установку, чтобы не приходилось подтверждать вручную.
Теперь ставим сам торрент-клиент Transmission и его демон (фоновую службу).
sudo apt install transmission-daemon -y
После установки служба автоматически запустится, но нам нужно её сразу остановить, потому что конфигурационный файл блокируется от редактирования при работающем демоне.
sudo systemctl stop transmission-daemon
Настраиваем Transmission под свои нужды
Конфигурационный файл Transmission находится по пути /etc/transmission-daemon/settings.json. Редактируем его с помощью nano (или вашего любимого консольного редактора).
sudo nano /etc/transmission-daemon/settings.json
Перед нами откроется большой JSON-файл. Не пугайтесь, нам нужно изменить лишь несколько ключевых параметров. Я прокомментирую самые важные.
{
// ... много других настроек ...
"download-dir": "/home/pi/Downloads", // Папка для загрузок. Рекомендую изменить на путь к внешнему диску!
"rpc-authentication-required": true, // Включаем авторизацию в веб-интерфейсе (ОБЯЗАТЕЛЬНО!)
"rpc-password": "password", // Пароль. После сохранения файла он будет зашифрован.
"rpc-username": "pi", // Имя пользователя для входа
"rpc-whitelist-enabled": false, // ОТКЛЮЧАЕМ белый список IP, чтобы заходить с любых устройств в локальной сети
// ... остальные настройки ...
}
Важные моменты и типичные ошибки:
- Пароль (
rpc-password). Впишите свой пароль в кавычках. После первого запуска демона Transmission зашифрует его, и в файле появится что-то вроде"{c8c...5f5}". Не редактируйте уже зашифрованный пароль вручную! - Папка загрузок (
download-dir). По умолчанию файлы качаются в домашнюю директорию пользователяpi. Если вы подключаете внешний диск (например, в/mnt/external_hdd/torrents), убедитесь, что пользовательdebian-transmission(от которого работает демон) имеет права на запись в эту папку. Используйтеsudo chmod -R 775 /путь/к/папкеилиsudo chown -R debian-transmission:debian-transmission /путь/к/папке. - Белый список (
rpc-whitelist-enabled). Если оставить его включённым (true), то вы не сможете зайти в интерфейс, пока не добавите IP-адрес своего компьютера или подсеть (например,192.168.1.*). Проще на первых порах отключить для локальной сети.
После внесения изменений нажимаем Ctrl+O для сохранения, затем Enter, и Ctrl+X для выхода из редактора.
Настраиваем доступ к веб-интерфейсу
По умолчанию Transmission слушает порт 9091 только на локальном интерфейсе (127.0.0.1). Чтобы получить доступ с других устройств, нужно "привязать" его к всем сетевым интерфейсам, включая локальную сеть. Это делается через системный файл службы.
Открываем файл юнита systemd:
sudo systemctl edit transmission-daemon
Эта команда создаст или откроет файл переопределения. В открывшийся редактор вставляем следующие строки:
[Service]
Environment="TRANSMISSION_WEB_HOME=/usr/share/transmission-web"
ExecStart=
ExecStart=/usr/bin/transmission-daemon --foreground --config-dir /var/lib/transmission-daemon/info --log-info --bind-address-ipv4 0.0.0.0 --no-auth --rpc-bind-address 0.0.0.0
Комментарий:
* --bind-address-ipv4 0.0.0.0 и --rpc-bind-address 0.0.0.0 — заставляют демон слушать все сетевые интерфейсы.
* --no-auth — отключает аутентификацию для локальных подключений. Внимание! Это не отменяет пароль, который мы задали в settings.json для веб-интерфейса. Он остаётся в силе. Этот параметр нужен для корректной работы некоторых внутренних процессов.
Сохраняем и закрываем редактор (Ctrl+O, Enter, Ctrl+X).
Теперь нужно перезагрузить конфигурацию systemd и запустить службу с новыми параметрами.
sudo systemctl daemon-reload
sudo systemctl start transmission-daemon
Чтобы Transmission запускался автоматически при каждой загрузке Raspberry Pi, выполняем:
sudo systemctl enable transmission-daemon
Проверка результата: тестируем наш торрент-сервер
Всё готово! Давайте проверим, что у нас получилось.
-
Проверяем статус службы. Убедимся, что демон работает без ошибок.
bash sudo systemctl status transmission-daemonВ выводе должна быть зелёная строкаactive (running). Если есть ошибки (красные строки), проверьте логи:sudo journalctl -u transmission-daemon -f. -
Заходим в веб-интерфейс. Открываем браузер на любом устройстве в той же сети, что и Raspberry Pi. В адресной строке вводим:
http://[IP-адрес-вашего-Pi]:9091.- IP-адрес Raspberry Pi можно узнать командой
hostname -Iв терминале. - Например:
http://192.168.1.100:9091.
- IP-адрес Raspberry Pi можно узнать командой
-
Вводим логин и пароль. Должно появиться окно авторизации. Вводим те
rpc-usernameиrpc-password, которые указывали вsettings.json. -
Пробная загрузка. Если интерфейс загрузился, попробуйте добавить тестовый торрент. Например, можно взять
.torrent-файл с раздачей легального дистрибутива Linux (Ubuntu, Debian). Нажмите кнопку "Добавить файл" в интерфейсе, выберите торрент и наблюдайте, как начинается загрузка.
Что делать, если не получается зайти?
* Ошибка соединения: Проверьте, не блокирует ли порт 9091 брандмауэр (например, ufw). Если используете UFW, откройте порт: sudo ufw allow 9091.
* Неверный логин/пароль: Остановите демон (sudo systemctl stop transmission-daemon), проверьте и заново впишите логин и пароль в settings.json, затем запустите демон снова.
* Доступ только с localhost: Вы забыли добавить --rpc-bind-address 0.0.0.0 в конфигурацию службы. Перепроверьте шаг "Настраиваем доступ к веб-интерфейсу".
Заключение и дальнейшие шаги
Поздравляю! Ваш Raspberry Pi теперь — самостоятельный, энергоэффективный торрент-сервер. Вы можете добавлять загрузки из браузера на ноутбуке, телефоне или планшете, а выключенный Pi всё сделает за вас.
Куда можно развивать этот проект дальше?
- Организовать удалённый доступ из интернета через VPN (например, WireGuard на том же Pi) или обратный прокси (с помощью Nginx). Важно: не открывайте порт 9091 напрямую в интернет без надёжного пароля и HTTPS!
- Настроить автоматическую загрузку торрентов из RSS-лент или Watch-папки.
- Интегрировать с медиасервером (например, Plex, Jellyfin или Kodi), чтобы скачанные фильмы и сериалы сразу появлялись в вашей медиатеке. Для этого может пригодиться наш гайд по NanoPi M4V2: Собираем мощный домашний NAS и медиасервер своими руками.
- Если Transmission покажется вам слишком простым, можно посмотреть в сторону более функционального qBittorrent с его веб-интерфейсом.
- Для тех, кто хочет максимально разгрузить систему и выжать из одноплатника всё, рекомендую взглянуть на облегчённую ОС DietPi на одноплатниках: минималистичная ОС для вашего домашнего сервера.
А если вы увлекаетесь домашней автоматизацией, то собранный вами сервер может стать отличной платформой для Home Assistant: надёжный бэкап и восстановление — защищаем настройки умного дома. Ведь стабильная работа умного дома начинается с надёжного железа!
Удачи в настройке и продуктивных загрузок!
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Raspberry Pi в роли VPN-сервера: настраиваем WireGuard для всей домашней сети
Pi-hole на Raspberry Pi: Как я избавил всю домашнюю сеть от рекламы раз и навсегда
Raspberry Pi как домашний сервер: что на нём можно запустить в 2024
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Raspberry Pi Print Server: Делаем общий принтер для всей домашней сети
Nextcloud на Raspberry Pi: строим личное облако вместо Google Drive