Фрагменты видео проходят через прозрачный буфер и сливаются в ленту с горным пейзажем.

TorrServer: просмотр торрентов без полной загрузки файла

Программы и сервисы
Алексей Чугунов5 мин чтения

TorrServer получает данные из торрент-раздачи, помещает их в кэш и передаёт проигрывателю по HTTP. Просмотр можно начать до получения всего файла. Сервер запускают на том же компьютере, где смотрят видео, на отдельном домашнем устройстве или на удалённой машине.

Что означает «без загрузки»

Данные всё равно скачиваются и расходуют трафик. Ждать сохранения всего фильма перед просмотром не нужно. В настройках есть дисковый кэш UseDisk, поэтому объём записей на накопитель зависит от конфигурации. Настройки и логи также могут сохраняться на диск.

Для первого запуска рекомендуем локальную установку: так проще проверить раздачу и плеер. Удалённый сервер имеет смысл, если его нужно держать включённым независимо от домашнего компьютера. При этом видео всё равно проходит через домашнее интернет-соединение.

Локальная установка: Windows и Linux

В Windows откройте раздел Releases официального репозитория YouROK/TorrServer. Для компьютера с Windows x64 скачайте TorrServer-windows-amd64.exe и запустите его. Во время просмотра оставляйте процесс работающим.

В Linux с systemd можно использовать официальный установщик. Потребуются bash, curl и права sudo. Сначала скачайте скрипт:

curl -fsSL https://raw.githubusercontent.com/YouROK/TorrServer/master/installTorrServerLinux.sh -o installTorrServerLinux.sh

Просмотрите скачанный файл в текстовом редакторе, затем запустите установку:

sudo bash ./installTorrServerLinux.sh --install

Выберите обычную сборку, оставьте порт 8090. Включите авторизацию и задайте логин с паролем. Установщик создаёт службу torrserver и включает её автозапуск. Проверить состояние службы можно командой:

systemctl status torrserver --no-pager

На компьютере с сервером откройте http://127.0.0.1:8090. Если включена авторизация, введите заданные учётные данные. Для подключения с другого домашнего устройства используйте адрес компьютера в локальной сети, например http://192.168.1.10:8090. Здесь IP приведён для примера; правило брандмауэра должно разрешать доступ к порту только из доверенной сети.

Как начать просмотр

  • Добавьте в веб-интерфейсе magnet-ссылку или файл .torrent. Дождитесь получения сведений о раздаче.
  • Откройте список файлов и выберите нужное видео, особенно если в раздаче несколько серий.
  • Скопируйте ссылку воспроизведения и откройте её как сетевой поток в VLC или другом совместимом плеере. Дождитесь наполнения начального буфера.

Плееру нужен доступ к адресу в ссылке. Адрес 127.0.0.1 указывает на само устройство: ссылка с таким адресом, скопированная с компьютера на телевизор, не приведёт к серверу на компьютере.

Удалённый сервер: Docker и SSH-туннель

Ниже приведён вариант для просмотра на компьютере через SSH-туннель. На удалённой машине с Linux должны быть установлены Docker Engine 28 или новее и настроен доступ по SSH. На компьютере для просмотра нужен SSH-клиент. До аренды сервера проверьте условия использования BitTorrent и лимиты трафика у провайдера.

Подключитесь к серверу по SSH. Если TorrServer там ещё не установлен, выполните:

sudo docker run -d --name torrserver --restart unless-stopped --pull always -p 127.0.0.1:8090:8090 -v torrserver-data:/opt/ts ghcr.io/yourok/torrserver:latest

Контейнер работает в фоне. Том torrserver-data хранит настройки вне контейнера. Порт 8090 опубликован на адресе 127.0.0.1 сервера; открывать его в интернет для этой схемы не требуется.

Теперь на компьютере для просмотра откройте отдельный терминал. Замените USER на имя пользователя SSH, а SERVER — на IP-адрес или домен сервера:

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:18090:127.0.0.1:8090 USER@SERVER

Оставьте терминал открытым и перейдите в браузере на http://127.0.0.1:18090. Добавьте торрент и откройте ссылку воспроизведения в плеере на этом же компьютере. Соединение между компьютером и сервером проходит внутри зашифрованного SSH-туннеля. После его закрытия доступ прервётся.

Этот туннель доступен только на компьютере, где запущена команда SSH. Для телевизора или нескольких устройств потребуется отдельная настройка доступа, например через VPN. Переносить на них ссылку с адресом 127.0.0.1 недостаточно.

Если воспроизведение останавливается

  • Проверьте доступность раздачи и скорость получения данных. Практический ориентир: устойчивая скорость должна превышать битрейт видео, с запасом на его колебания.
  • Меняйте размер кэша постепенно, учитывая свободную память. Больший буфер помогает пережить короткие просадки; постоянно медленное соединение он не исправит.
  • При удалённой установке проверьте оба участка: получение торрента сервером и передачу видео с сервера домой. Учитывайте исходящий трафик VPS.
  • Если поток поступает, но нет изображения или звука, проверьте поддержку формата и кодеков в плеере. Попробуйте открыть ту же ссылку в VLC.
Обновлено: 38 просмотров · 5 мин

Обсудить похожую задачу