Для организации трекера в сети 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 клиент.
Обсуждение
Transmission раздает на закрытом порту, но qBittorrent отказывается, пока порт не открыть, UPnP/NAT-PMP включен..
Спасибо!
Поэтому, включен UPnP или нет, условием является открытие порта локально. Все что между локальным пиром А и Б не имеет значения кроме прямого соединения или моста public peer.
Вероятно проблема 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