Содержание

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

systemd

/etc/systemd/system/opentracker.service
[Unit]
After=network.target
Wants=network.target

[Service]
Type=simple

# useradd -s /usr/sbin/nologin -Mr opentracker
User=opentracker
Group=opentracker

ExecStart=/usr/local/bin/opentracker -p 6969 -P 6969

# mkdir /var/log/opentracker && chown opentracker:opentracker /var/log/opentracker
StandardOutput=file:///var/log/opentracker/debug.log
StandardError=file:///var/log/opentracker/error.log

[Install]
WantedBy=multi-user.target

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

Чтобы трекер отдавал хост_пира:порт_пира вместо хост_сервера:порт_пира, OpenTracker должен быть скомпилирован с флагом:

-DWANT_IP_FROM_PROXY

По-умолчанию, OpenTracker отклоняет заголовок X-Forwarded-For с неизвестных хостов. Для добавления IP прокси-сервера в «белый список», необходимо создать файл конфигурации со следующим содержимым:

/path/to/opentracker.conf
# II
#      If opentracker lives behind one or multiple reverse proxies,
#      every http connection appears to come from these proxies. In order to
#      take the X-Forwarded-For address instead, compile opentracker with the
#      WANT_IP_FROM_PROXY option and set your proxy addresses or networkss here.
#
# access.proxy 10.0.1.23
# access.proxy 192.0.0.0/8
#

access.proxy 202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148

Файл конфигурации указывается аргументом -f:

/usr/local/bin/opentracker -i 202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148 -P 6969 -p 3001 \
                           -f /path/to/opentracker.conf

Проверить адреса пиров можно с помощью CLI утилиты btpeer.

Подключение

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

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

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

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

Ссылки