Как просматривать медиа с торрентов?
В статье показываю как использовать набор общедоступных технологий, а использовать их или нет и в каком порядке пусть решает каждый для себя самостоятельно.
Будем рассматривать вопрос просмотра торрентов, при этом мы не будем скачивать их полностью на сервер.
.torrent - файл метаданных с расширением .torrent является словарём в bencode-формате — используется в p2p-сети BitTorrent и содержит информацию о файлах, трекерах и др
docker-compose
Создаем папки для хранения данных:
# Создаем папки для хранения данных
mkdir ./torrserver
mkdir ./torrserver/config_torrserver
# Переходим в torrserver и создаем пустой файл docker-compose.yml
cd ./torrserver && touch docker-compose.yml
Редактируем
docker-compose.yml
черезnano docker-compose.yml
и вставляем данные:
services:
torrserver:
image: ghcr.io/yourok/torrserver
container_name: torrserver
network_mode: host
environment:
- TS_PORT=5665
- TS_DONTKILL=1
- TS_HTTPAUTH=0
- TS_CONF_PATH=/opt/ts/config
- TS_TORR_DIR=/opt/ts/torrents
volumes:
- './config_torrserver/CACHE:/opt/ts/torrents'
- './config_torrserver/CONFIG:/opt/ts/config'
restart: unless-stopped
Запускаем docker:
docker-compose up -d
Переходим по пути
http://<ip>:5665
. Внутренний IP можно посмотреть через:hostname -I
. При желании можно сделать сервис доступным из интернета.
Если необходима авторизация, то в docker-compose.yml
изменяем переменную TS_HTTPAUTH
:
environment:
- TS_HTTPAUTH=1
Также создаем файл touch ./config_torrserver/CONFIG/accs.db
и в нем добавляем данные для авторизации (nano ./config_torrserver/CONFIG/accs.db
) :
{
"user": "password"
}
Теперь в UI мы можем заходить с помощью Basic authentication.
Работа с торрентами
В интерфейсе можно добавлять торрент или делать это автоматически через связанные сервисы.
Также можем увидеть и контролировать отдельные детальные настройки работы сервиса: размер кеша, размер предзагрузки и т.д.
В локальной сети можно увидеть устройства с DLNA и просматривать медиа как будто они уже загружены локально. Пример из VLC:
DLNA (англ. Digital Living Network Alliance) — набор стандартов, позволяющих совместимым устройствам передавать и принимать по домашней сети различный медиаконтент (изображения, музыку, видео), а также отображать его в режиме реального времени. То есть — технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в сеть в автоматическом режиме.
Локальная установка на отдельные устройства
Для Android устанавливаем через F-Droid.
На Arch Linux:
# Устанавливаем torrserver
yay -S torrserver-bin
# Запускаем службу
systemctl start torrserver.service
# Проверяем работу
systemctl status torrserver.service
# Включаем автозапуск
sudo systemctl enable torrserver.service
# Проверяем автозапуск, должно быть enabled
sudo systemctl is-enabled
# Прописываем путь к плееру
/usr/bin/vlc
Запуск сервера при этом будет по адресу:
localhost:8090
Ссылки: