Появилась необходимость поднять Tracker. Выбор пал на net-p2p/bittorrent, с запуском которого возникло несколько проблем, которые опишу ниже.
Ставим пакет bittorrent (версия: 5.2.2):
emerge net-p2p/bittorrent
Вносим изменения файл конфигурации /etc/conf.d/bittorrent-tracker .
Меняем значение PORT с 8082 на 6969 или 80. Без этого изменения у меня не работала регистрация торрентов трэкере.
Стандартным скриптом в /etc/init.d/bittorrent-tracker стартовать трэкер не удалось т.к. отрабатывало исключение при использовании параметра -logfile = <путь к файлу лога>, который используется в скрипте запуска демона. Проблему удалось решить путем исправлений в коде bittorrent.
После успешного запуска трэкера появилась еще одна проблема. При обработке запроса клиента трекером появлялась ошибка. В результате чего клиенты видели только свою раздачу. Исправить данную проблему также удалось путем исправления в коде bittorrent.
Патч , исправляющий вышеописанные проблемы перенесен в оверлей (/var/lib/layman/calculate/profiles/patches/net-p2p/bittorrent-5.2.2-unicode.patch)
Стартуем трэкер:
/etc/init.d/bittorrent-tracker start
Трэкер готов к работе.
torrent - файлы создавал с помощью maketorrent-console:
maketorrent-console http://<хост трэкера>:<порт трэкера>/announce <путь к файлу для раздачи>
Для организации раздачи с сервера трэкера использовал консольный торрент-клиент net-p2p/btpd. Выбрал его т.к. он работает режиме демона и прост в использовании.
emerge net-p2p/btpd
Правим конфиг /etc/conf.d/btpd. В конфиге нужно раскомментировать BTPDUSER и вписать пользователя от имени которого запускается демон и BTPDEXTRARGS с указанием порта на котором поднимется клиент.
Стартуем демона
/etc/init.d/btpd
Основная команда для управления очередью - это btcli.
Добавить торрент-файл в очередь:
btcli add -d <путь к директории закачки/раздачи> <путь к торрент-файлу>
Удалить торрент-файл из очереди:
btcli del <номер торрента в очереди|путь к торрент-файлу>
Посмотреть очередь:
btcli list
Посмотреть статистику:
btcli stat
Активировать очередь/торрент:
btcli start [номер торрента в очереди]
Деактивировать очередь/торрент:
btcli start [номер торрента в очереди]
Остановить btpd:
btcli kill