Полное руководство по установке TorrServer на удалённый VPS: от выбора сервера до защищённого подключения Lampa.
Как работает TorrServer на VPS
TorrServer получает части файла из BitTorrent-сети, держит буфер в оперативной памяти и отдаёт видеопоток клиенту по HTTP или HTTPS. После переноса на VPS пиринговый трафик идёт через сервер, но домашний интернет всё равно используется для получения готового видеопотока.
Преимущества такого варианта:
- доступ с телевизора, телефона и ноутбука вне домашней сети;
- круглосуточная работа без включённого домашнего компьютера;
- быстрый канал дата-центра и независимость от исходящей скорости домашнего подключения;
- единый сервер для нескольких личных устройств.
При этом появляются расходы на VPS, исходящий трафик и необходимость правильно защитить сервис.
Что понадобится
Требования к VPS
Это ориентиры, а не жёсткие системные требования: фактическая нагрузка зависит от битрейта, числа зрителей, размера кэша и использования транскодирования.
| Параметр | Для старта | Комфортный вариант |
|---|---|---|
| CPU | 1 vCPU для обычного проксирования | 2+ vCPU; больше для GStreamer-транскодирования |
| RAM | 1 ГБ | 2 ГБ для крупного кэша или нескольких потоков |
| Диск | 5 ГБ | 10 ГБ с запасом под ОС, логи и метаданные |
| Сеть | битрейт видео + 30–50% запаса | порт 200 Мбит/с и выше |
| ОС | современный glibc-based Linux | Ubuntu 22.04/24.04 или Debian 12/13 |
Основной стриминговый кэш TorrServer находится в RAM, поэтому выделять 10–20 ГБ диска именно «под кэш» не требуется. Старые дистрибутивы и системы на musl могут быть несовместимы с актуальным бинарником: официальный инсталлятор проверяет архитектуру, ОС и версию glibc.
Фиксированного требования «100 Мбит/с для любого 4K» нет. Обычный 1080p может занимать 10–40 Мбит/с, а пиковый битрейт тяжёлого 4K-remux способен превысить 100 Мбит/с. Ориентируйтесь на реальный битрейт файла и оставляйте запас.
Выбор VPS-провайдера
Тарифы меняются, поэтому перед оплатой проверяйте текущую цену, скорость порта, лимит исходящего трафика и допустимость BitTorrent в правилах провайдера.
| Провайдер | Что проверить | Ссылка |
|---|---|---|
| Aéza | доступные локации, тип тарифа и правила трафика | aeza.net |
| Xorek Cloud | скорость порта, лимит трафика и выбранную локацию | xorek.cloud |
Для обычной сборки без транскодирования важнее сеть и RAM. Для -gst-сборки с GStreamer, которая умеет remux и транскодирование, производительность CPU тоже имеет значение.
SSH-клиент
В примерах используется Termius , но подойдёт любой SSH-клиент. Бесплатный тариф Termius включает SSH, SFTP и автодополнение; облачная синхронизация между мобильными и настольными устройствами относится к Pro-тарифу.
Шаг 1: подготовка сервера
Закажите VPS с Ubuntu 22.04/24.04 или Debian 12/13. После создания сервера провайдер выдаст IP-адрес, пользователя, пароль или SSH-ключ.
При первом подключении сравните fingerprint SSH-ключа с данными в панели провайдера, если они доступны. Не подтверждайте неизвестный fingerprint автоматически.
Подключитесь к серверу и обновите систему:
apt update && apt upgrade -y
apt install -y curl ca-certificates
Если вы вошли не как root, добавляйте sudo перед административными командами.
Шаг 2: установка TorrServer
Рекомендуемый вариант: официальный инсталлятор
Скачайте скрипт отдельно, просмотрите его при желании и запустите интерактивно:
curl -fsSL https://raw.githubusercontent.com/YouROK/TorrServer/master/installTorrServerLinux.sh \
-o installTorrServerLinux.sh
chmod 755 installTorrServerLinux.sh
sudo bash ./installTorrServerLinux.sh
В меню выберите установку последней версии. Стандартная сборка подходит для прямого стриминга. -gst-сборка нужна только для функций GStreamer и может потребовать больше CPU.
Инсталлятор:
- определяет архитектуру и совместимость glibc;
- устанавливает бинарник в
/opt/torrserver; - создаёт отдельного пользователя
torrserver; - создаёт и включает systemd-сервис
torrserver.service; - умеет настроить логирование и HTTP Basic Auth;
- поддерживает последующие обновления и перенастройку.
Во время установки включите HTTP-аутентификацию и задайте уникальные логин и длинный пароль. Учётные данные сохраняются в /opt/torrserver/accs.db, а флаг --httpauth включает их проверку.
Проверьте сервис:
systemctl status torrserver --no-pager
journalctl -u torrserver -n 50 --no-pager
Управление сервисом:
systemctl restart torrserver
systemctl stop torrserver
systemctl start torrserver
Как устроена авторизация
TorrServer не принимает логин и пароль в аргументе -a. Параметр -a или --httpauth — это только переключатель. Пользователи хранятся в accs.db рядом с config.db:
{
"admin": "ЗАМЕНИТЕ_НА_ДЛИННЫЙ_УНИКАЛЬНЫЙ_ПАРОЛЬ"
}
Не существует отдельного надёжного способа создать эти учётные данные через обычные настройки веб-интерфейса. Для изменения авторизации снова запустите официальный скрипт:
sudo bash ./installTorrServerLinux.sh --reconfigure
Шаг 3: безопасная проверка
Не открывайте 8090/tcp всему интернету только ради проверки. Создайте SSH-туннель с вашего компьютера:
ssh -L 8090:127.0.0.1:8090 root@IP_СЕРВЕРА
Пока SSH-сессия открыта, перейдите в браузере на http://127.0.0.1:8090. Введите логин и пароль TorrServer.
Basic Auth кодирует, но не шифрует пароль. Поэтому публичный доступ по обычному http://IP:8090 небезопасен даже с авторизацией. Для постоянного удалённого доступа используйте HTTPS или приватную VPN-сеть.
Шаг 4: файрвол
Сначала разрешите реальный SSH-порт. Если сервер использует стандартный OpenSSH на порту 22:
apt install -y ufw
ufw allow OpenSSH
ufw enable
ufw status verbose
Если SSH работает на другом порту, разрешите именно его до включения UFW.
Для рекомендуемой схемы с Nginx не добавляйте публичное правило для 8090. Порты HTTP/HTTPS откроем после установки Nginx, когда появится профиль Nginx Full.
Если нужно временно проверить прямое подключение, ограничьте его текущим публичным IP вашего устройства:
ufw allow from ВАШ_ПУБЛИЧНЫЙ_IP to any port 8090 proto tcp
После проверки удалите это правило командой ufw status numbered, затем ufw delete НОМЕР.
Шаг 5: HTTPS с Nginx
Для этого шага нужен домен с A/AAAA-записью, направленной на VPS.
Установите Nginx и Certbot:
apt install -y nginx certbot python3-certbot-nginx
ufw allow 'Nginx Full'
ufw status verbose
Создайте конфигурацию:
nano /etc/nginx/sites-available/torrserver
server {
listen 80;
listen [::]:80;
server_name torr.example.com;
location / {
proxy_pass http://127.0.0.1:8090;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization $http_authorization;
proxy_buffering off;
proxy_request_buffering off;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
Замените torr.example.com своим доменом, активируйте сайт и проверьте синтаксис:
ln -s /etc/nginx/sites-available/torrserver /etc/nginx/sites-enabled/torrserver
nginx -t
systemctl reload nginx
certbot --nginx -d torr.example.com
После выпуска сертификата используйте https://torr.example.com. Убедитесь, что порт 8090 не открыт в UFW или в облачном файрволе провайдера.
Если домена нет, безопаснее подключить VPS и устройства через WireGuard, Tailscale или другую приватную VPN-сеть, чем публиковать TorrServer по HTTP.
Шаг 6: подключение Lampa
Пункт меню зависит от версии клиента, но обычно находится в Настройки → TorrServer.
- Откройте настройки TorrServer в Lampa.
- Укажите защищённый адрес, например
https://torr.example.com. - Сохраните настройки и выполните проверку соединения.
- Для теста используйте торрент с контентом, который вы имеете право смотреть.
Поддержка Basic Auth различается между сборками Lampa. Если ваш клиент предоставляет отдельные поля логина и пароля, используйте их. Не рассчитывайте, что URL вида https://user:password@torr.example.com обязательно заработает: веб-версии часто блокируют встроенные учётные данные или запросы к небезопасному HTTP-ресурсу. В таком случае используйте VPN либо клиент/плагин с явной поддержкой авторизации — не отключайте защиту сервера.
Альтернатива: Docker
Установите Docker по официальной инструкции . Пример ниже предполагает Nginx на том же VPS и поэтому публикует порт только на loopback-интерфейсе.
Подготовьте каталог и файл авторизации:
install -d -m 700 /var/lib/torrserver/config
nano /var/lib/torrserver/config/accs.db
chmod 600 /var/lib/torrserver/config/accs.db
Содержимое accs.db:
{
"admin": "ЗАМЕНИТЕ_НА_ДЛИННЫЙ_УНИКАЛЬНЫЙ_ПАРОЛЬ"
}
Запустите контейнер:
docker run -d \
--name torrserver \
--restart unless-stopped \
-p 127.0.0.1:8090:8090 \
-e TS_HTTPAUTH=1 \
-v /var/lib/torrserver:/opt/ts \
ghcr.io/yourok/torrserver:latest
Каталог постоянных данных внутри официального контейнера — /opt/ts, а не /data. Файл авторизации при стандартном TS_CONF_PATH должен лежать в /opt/ts/config/accs.db.
Полезные команды:
docker logs -f torrserver
docker restart torrserver
docker stop torrserver
docker start torrserver
Для обновления загрузите новый образ, пересоздайте контейнер той же командой и не удаляйте /var/lib/torrserver:
docker pull ghcr.io/yourok/torrserver:latest
docker rm -f torrserver
# Повторите команду docker run из примера выше.
Настройки производительности
Текущие значения TorrServer по умолчанию — безопасная отправная точка. Меняйте их после проверки на реальном файле.
| Параметр | По умолчанию | Ориентир для VPS с 1–2 ГБ RAM |
|---|---|---|
| Cache size | 64 МБ | 128–256 МБ, если хватает RAM |
| Preload cache | 50% | 50–75% для нестабильных раздач |
| Connections limit | 25 | 25–50 |
| Upload rate limit | 0 — без ограничения | ограничивать только при лимитном трафике |
Upload rate в настройках задаётся в KiB/s: 1024 — примерно 1 MiB/s, 5120 — примерно 5 MiB/s. Слишком низкий upload может ухудшить участие в раздаче. Сначала изучите правила и тарификацию исходящего трафика у провайдера.
Решение проблем
Сервис не запускается
systemctl status torrserver --no-pager
journalctl -u torrserver -n 100 --no-pager
Проверьте права на /opt/torrserver, корректность JSON в accs.db и совместимость бинарника с архитектурой VPS.
Nginx возвращает 502 Bad Gateway
ss -tlnp | grep 8090
curl -I http://127.0.0.1:8090
nginx -t
journalctl -u nginx -n 50 --no-pager
При использовании reverse proxy адрес 127.0.0.1:8090 — нормальный и безопасный. Слушать 0.0.0.0:8090 для этой схемы необязательно.
Lampa не подключается
- Откройте адрес TorrServer в браузере с того же устройства.
- Проверьте сертификат и используйте
https://, если настроили Certbot. - Убедитесь, что Basic Auth поддерживается вашей сборкой Lampa.
- Для веб-клиента проверьте ошибки mixed content и CORS в консоли браузера.
- Посмотрите логи:
journalctl -u torrserver -fилиdocker logs -f torrserver.
Поток буферизуется
- Сравните битрейт файла со скоростью VPS и домашнего подключения.
- Выберите раздачу с достаточным числом доступных пиров.
- Увеличивайте кэш постепенно и следите за RAM через
free -h. - Проверьте потери и маршрут между устройством и VPS.
- Если включено транскодирование, проверьте загрузку CPU через
top.
Обновление TorrServer
Не используйте скрипт, который останавливает сервис до успешной загрузки нового бинарника. Официальный инсталлятор уже поддерживает безопасное обновление:
curl -fsSL https://raw.githubusercontent.com/YouROK/TorrServer/master/installTorrServerLinux.sh \
-o installTorrServerLinux.sh
chmod 755 installTorrServerLinux.sh
sudo bash ./installTorrServerLinux.sh --update --silent
После обновления проверьте сервис и путь к запущенному бинарнику:
systemctl status torrserver --no-pager
systemctl show torrserver -p ExecStart --no-pager
Имя бинарника зависит от архитектуры и выбранной standard/-gst-сборки. Установленные файлы можно посмотреть командой ls -1 /opt/torrserver/TorrServer-*.
Плюсы и минусы
| Плюсы | Минусы |
|---|---|
| Доступ с личных устройств вне дома | Ежемесячная оплата VPS |
| Работа 24/7 | Нужно поддерживать обновления и безопасность |
| Быстрый канал дата-центра | Домашний downlink всё равно используется для просмотра |
| Пиринговый трафик переносится на VPS | Возможны лимиты или запрет BitTorrent у провайдера |
| Не нужен постоянно включённый домашний ПК | Несколько одновременных потоков требуют больше ресурсов |
Заключение
TorrServer на VPS удобен, когда нужен личный сервер для нескольких устройств и доступ вне домашней сети. Для стандартного проксирования обычно достаточно недорогого VPS с 1–2 ГБ RAM, но тариф следует выбирать по реальному битрейту, лимиту исходящего трафика и правилам провайдера.
Главное — не публиковать порт 8090 без защиты. Используйте отдельного системного пользователя, встроенную авторизацию, HTTPS или приватную VPN и официальный механизм обновления.
Полезные ссылки
| Ресурс | Ссылка |
|---|---|
| TorrServer — репозиторий и документация | github.com/YouROK/TorrServer |
| TorrServer releases | github.com/YouROK/TorrServer/releases |
| Lampa | github.com/lampa-app/LAMPA |
| Docker Engine | docs.docker.com/engine/install |
| Termius | termius.com |
| Предыдущая статья о Lampa | 0x69.ru |



