Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
dpi:dpi_components:mediaserver:btrt [2018/02/02 13:09] – создано lexx26 | dpi:dpi_components:mediaserver:btrt [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Опция управления bittorent ====== | ====== Опция управления bittorent ====== | ||
+ | {{indexmenu_n> | ||
+ | ====== BTRT - BitTorrent Proxy Tracker ====== | ||
+ | ===== Описание ===== | ||
+ | BTRT является BitTorrent трекером, | ||
+ | BTRT отвечает на стандартные HTTP запросы BitTorrent клиентов // | ||
+ | |||
+ | |||
+ | |||
+ | ===== Требования к аппаратному обеспечению ===== | ||
+ | Основное требование предъявляется к размеру оперативной памяти. BTRT держит в памяти всю информацию о всех torrent-файлах и пирах, а также пр. Для приблизительного расчета необходимого объема оперативной памяти можно взять за основу 512 байт на один пир. | ||
+ | |||
+ | |||
+ | ===== Требования к программному обеспечению ===== | ||
+ | BTRT работает в среде ОС CentOS 6. Для работы BTRT следующие пакеты должны быть установлены в системе: | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Варианты использования ===== | ||
+ | ==== Локальный ретрекинг ==== | ||
+ | Самый простейший способ использования BTRT - это использование в качестве локального ретрекера. В torrent-файлах существует возможность указать несколько трекеров, | ||
+ | |||
+ | ==== Использование данных " | ||
+ | Локальный ретрекинг позволяет перераспределить трафик только внутри сети оператора и обеспечивает уменьшения объемов трафика во внешние сети только за счет клиентов оператора. Часто у оператора существуют договорные отношения с партнерами, | ||
+ | |||
+ | BTRT при обработке // | ||
+ | |||
+ | ==== Обработка запросов к сторонним трекерам ==== | ||
+ | BTRT обеспечивает обработку // | ||
+ | |||
+ | При обработке // | ||
+ | |||
+ | |||
+ | ===== Установка ===== | ||
+ | Для первоначальной установки приложения необходимо выполнить установку пакета и зависимых модулей при помощи команды: | ||
+ | <code bash> | ||
+ | sudo yum install btrt | ||
+ | </ | ||
+ | |||
+ | BTRT при работе использует БД MySQL. Для выполнения дальнейших действий по установке необходимо запустить сервис **mysqld**: | ||
+ | <code bash> | ||
+ | sudo service mysqld start | ||
+ | </ | ||
+ | |||
+ | Перед первым запуском BTRT необходимо создать пользователя (или использовать существующего) и схему в БД MySQL. | ||
+ | Рекомендуется создавать отдельного пользователя MySQL для работы BTRT. Чтобы сделать это, необходимо подключиться к серверу MySQL c правами суперпользователя: | ||
+ | <code bash> | ||
+ | mysql -hlocalhost -uroot -p | ||
+ | </ | ||
+ | |||
+ | и выполнить команды создания пользователя и схемы, указав пароль пользователя: | ||
+ | <code mysql> | ||
+ | CREATE USER ' | ||
+ | CREATE DATABASE btrt; | ||
+ | GRANT ALL PRIVILEGES ON btrt.* TO ' | ||
+ | </ | ||
+ | |||
+ | После того, как пользователь будет создан, | ||
+ | Создать объекты в схеме данных для BTRT, указав имя и пароль ранее созданного пользователя MySQL: | ||
+ | <code bash> | ||
+ | mysql -hlocalhost -ubtrt -p < / | ||
+ | </ | ||
+ | |||
+ | Перед первым запуском необходимо создать файл конфигурации // | ||
+ | |||
+ | |||
+ | |||
+ | ===== Обновление ===== | ||
+ | Для обновления ранее установленного приложения необходимо в первую очередь остановить сервис трекера: | ||
+ | <code bash> | ||
+ | sudo service btrt stop | ||
+ | </ | ||
+ | |||
+ | установить обновленный пакет: | ||
+ | <code bash> | ||
+ | sudo yum update btrt | ||
+ | </ | ||
+ | |||
+ | При обновлении с версии ниже 2.1 необходимо выполнить обновление структуры БД: | ||
+ | <code bash> | ||
+ | mysql -hlocalhost -ubtrt -p < / | ||
+ | </ | ||
+ | |||
+ | Так как при переходе от версии к версии возможны изменения в [[# | ||
+ | <code bash> | ||
+ | sudo service btrt start | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Конфигурация ===== | ||
+ | Основным файлом конфигурации является файл // | ||
+ | |||
+ | ==== Формат YAML ==== | ||
+ | Базовыми элементами формата [[https:// | ||
+ | * пара " | ||
+ | |||
+ | * последовательность значений, | ||
+ | |||
+ | На основе базовых элементов возможно создавать сложные структуры данных. | ||
+ | |||
+ | Одним из принципов для описания сложных структур заложенных в формат [[https:// | ||
+ | <code bash> | ||
+ | # | ||
+ | # Logging parameters | ||
+ | logging: | ||
+ | path: "/ | ||
+ | level: | ||
+ | # | ||
+ | # default logging level is " | ||
+ | switch_time: | ||
+ | </ | ||
+ | |||
+ | можно трактовать как структуру данных '' | ||
+ | |||
+ | Учитывая выше сказанное, | ||
+ | |||
+ | ==== Основной файл конфигурации / | ||
+ | Основной файл конфигурации содержит описание большинства параметров используемых при работе BTRT. Первоначально при установке пакета создается файл шаблона конфигурации // | ||
+ | |||
+ | Для создания рабочей конфигурации минимально необходимо выполнить модификацию следующих параметров: | ||
+ | |||
+ | Описание подключения к БД MySQL: | ||
+ | <code bash> | ||
+ | database: | ||
+ | url: " | ||
+ | user: " | ||
+ | password: | ||
+ | schema: | ||
+ | </ | ||
+ | |||
+ | Описание групп диапазонов IP адресов: | ||
+ | <code bash> | ||
+ | peer_groups: | ||
+ | # It is useful to have definition for peers in local network. | ||
+ | # It can be used when peer from the local network is registered on non-local tracker (neighbor, forwarded tracker) | ||
+ | - | ||
+ | priority: | ||
+ | cidr_file: | ||
+ | cidr_list: | ||
+ | - | ||
+ | |||
+ | # neighboring peers is used to identifying range of IP-addresses of peers connected to neighboring trackers | ||
+ | - | ||
+ | priority: | ||
+ | cidr_file: | ||
+ | cidr_list: | ||
+ | - | ||
+ | </ | ||
+ | |||
+ | Описание параметров " | ||
+ | <code bash> | ||
+ | neighbors: | ||
+ | - | ||
+ | refresh_interval: | ||
+ | peers_expiry_interval: | ||
+ | announce_request: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Управление ===== | ||
+ | Основной исполняемый файл трекера - ''/ | ||
+ | <code bash> | ||
+ | btrt help | ||
+ | </ | ||
+ | |||
+ | Трекер разработан для работы в качестве сервиса. Для старта сервиса необходимо выполнить следующую команду: | ||
+ | <code bash> | ||
+ | sudo service btrt start | ||
+ | </ | ||
+ | |||
+ | для остановки сервиса: | ||
+ | <code bash> | ||
+ | sudo service btrt stop | ||
+ | </ | ||
+ | |||
+ | При работе трекера создаются журнальные файлы в соответствии с настройками в конфигурационном файле. По умолчанию журнальные файлы создаются в каталоге ''/ | ||
+ | |||
+ | ===== Вопросы и решения ===== | ||
+ | * как часто обновляется hashlist.bin? | ||
+ | crontab -l - настроено обновление hashlist раз в 10 минут | ||
+ | * forwarded запросы скат генерит или он только hashlist.bin забирает и все? | ||
+ | см.выше пункт - использование соседних ретрекеров\\ | ||
+ | в логе статистики скат появился раздел " | ||
+ | Первая цифра - сколько handshake обработано\\ | ||
+ | 2-я - сколько заблокировано в пользу локальных раздач |