Opentracker

Для организации трекера в сети Yggdrasil, подойдет любой сервер, с поддержкой IPv6, одним из таких является Opentracker - сервер с открытым исходным кодом, написанный на языке C.

Opentracker не требует базы данных, так как вся информация о пирах хранится в оперативной памяти.

Установка

Выполняем официальную инструкцию, предварительно раскомментировав строку -DWANT_V6 в файле Makefile, таким образом сервер будет оперировать исключительно IPv6

cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co libowfat  
cd libowfat  
make
cd ..
# LEGACY: cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co opentracker
git clone git://erdgeist.org/opentracker
cd opentracker
make

Настройки доступа

Opentracker работает на порту 6969, поэтому для входящих подключений добавим правило в iptables с помощью утилиты ufw

ufw allow 6969

В случае, если хотим обслуживать соединения исключительно в сети yggdrasil

ufw allow from 0200::/7 to any port 6969

Автозапуск

Добавляем запуск сервера при старте системы, я использовал crontab

@reboot /path/opentracker -p 6969 -P 6969

Проксирование

Для корректного приема подключений, opentracker должен быть скомпилирован с флагом:

-DWANT_IP_FROM_PROXY

При этом, прокси-сервер должен передавать серверу opentracker клиентский IP, иначе в качестве сидов будет передан локальный IP.

О настройке проксирования трафика посредством nginx для различных нужд, например организации кластеров, можно почитать в разделе ссылки.

Подключение

Для тестирования раздачи, а также приёма подключений в сети Yggdrasil, торрент-клиент необходимо настроить для прослушивания локального интерфейса или адреса, иначе пир будет идентифицирован по IP сети по-умолчанию (Интернет) и передавать этот адрес трекеру.

На примере qBittorrent, сделать это можно в Preferences - Advanced - Network interface или Optional IP address to bind to

При наличии фаервол, условием для проверки сидирования данных в сети Yggdrasil является открытие порта, определенного случайно или заданного явно в настройках BitTorrent клиента.

Также, при смене параметров интернет-подключения (VPN или proxy), важно перезапустить BitTorrent клиент.

Ссылки

Обсуждение

d4708, 2023/09/04 22:47
Как происходит раздача файлов без открытых портов на обычных треккерах? И почему нужно открывать клиентский порт в сети yggdrasil - иначе сидирование не работает

newbie, 2023/09/04 22:56
UPnP. Вероятно, не все приложения поддерживают этот протокол с IPv6.
d4708, 2023/09/04 23:23
Для удобства использую Transmission для интернет раздач и qBittorrent для Yggdrasil - так удобно балансировать ограничения трафика для разных сетей/интерфейсов.

Transmission раздает на закрытом порту, но qBittorrent отказывается, пока порт не открыть, UPnP/NAT-PMP включен..

newbie, 2023/09/04 23:30
Может, с этим связано: https://github.com/qbittorrent/qBittorrent/issues/11501
d4708, 2023/09/04 23:44, 2023/09/04 23:47
Возможно действительно проблема в клиенте, нужно еще проверить на Deluge (т.к. Transmission UI из коробки нет опции выбора интерфейса)

Спасибо!

d4708, 2023/09/05 20:46, 2023/09/05 20:49
Могу ошибаться, но опция UPnP в контексте сети Yggdrasil не имеет смысла, так как данные поступают на локальный интерфейс туннелированием и уже локально этот порт адресуется сервису (что собственно и есть способом обхода ограничений NAT и shared-IP). Единственным препятствием для пакета является локальный фаервол, если он работает в режиме запретить все что не разрешено явно.

Поэтому, включен UPnP или нет, условием является открытие порта локально. Все что между локальным пиром А и Б не имеет значения кроме прямого соединения или моста public peer.

d4708, 2023/09/04 22:54, 2023/09/04 23:45
Кто то может проверить настройки подключения клиента к opentracker через HTTP прокси посредством yggdrasil:

Вероятно проблема libtorrent или opentracker, так как оба сервера возвращают ошибку 'Address family not supported'

http://[200:1e2f:e608:eb3a:2bf:1e62:87ba:e2f7]/announce
http://[201:23b4:991a:634d:8359:4521:5576:15b7]:2023/announce

Только авторизованные участники могут оставлять комментарии.
yggdrasil/bittorrent/opentracker.txt · Последнее изменение: 2023/10/20 19:29 — d4708
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki