1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cc12655-OpenTracker

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

OpenTracker


После сборки у вас будет исполняемый файл opentracker и отладочная версия opentracker.debug.

Некоторые переменные в Makefile opentracker контролируют функции и поведение opentracker:

-DWANT_V6 делает opentracker трекером только для IPv6. Подробнее в разделе v6 ниже. opentracker может доставлять сжатые с помощью gzip полные скрепы. Включите эту опцию с помощью -DWANT_COMPRESSION_GZIP. Обычно opentracker отслеживает любой торрент, объявленный ему. Вы можете изменить это поведение, включив ОДНУ из опций -DWANT_ACCESSLIST_BLACK или -DWANT_ACCESSLIST_WHITE. Обратите внимание, что в последнем случае вы должны предоставить белый список файлов, чтобы opentracker что-либо делал. Подробнее в разделе закрытый режим ниже. opentracker может работать в кластере. Включите это поведение с помощью опции -DWANT_SYNC_LIVE. Обратите внимание, что перед использованием opentracker при включённой этой опции необходимо настроить кластер. Некоторые статистические данные, которые может предоставить opentracker, являются конфиденциальными. Вы можете ограничить доступ к этим данным, включив -DWANT_RESTRICT_STATS. Подробнее см. раздел статистика. Fullscrapes — это способ BitTorrent запросить у трекера все отслеживаемые торренты. Поскольку он является стандартным, он включён по умолчанию. Отключите его, закомментировав -DWANT_FULLSCRAPE. По умолчанию opentracker будет разрешать объявление только IP-адреса подключающегося клиента. Стандарт BitTorrent позволяет клиентам предоставлять IP-адрес в строке запроса. Вы можете заставить opentracker использовать этот IP-адрес, включив опцию -DWANT_IP_FROM_QUERY_STRING. Некоторые экспериментальные или устаревшие функции можно включить с помощью переключателей -DWANT_LOG_NETWORKS, -DWANT_SYNC_SCRAPE или -DWANT_IP_FROM_PROXY. В настоящее время существует несколько пакетов для некоторых дистрибутивов Linux и OpenBSD, но некоторые из них исправляют Makefile и конфигурацию по умолчанию, чтобы сделать opentracker закрытым по умолчанию. Я явно не одобряю эти пакеты и не буду оказывать поддержку в решении проблем, связанных с этими неправильными конфигурациями.


Запуск opentracker можно запустить, просто набрав ./opentracker. Это заставит opentracker привязаться к 0.0.0.0:6969 и с радостью обслуживать все представленные ему торренты. Если запустить от имени root, opentracker немедленно chroot в . (или любой каталог, указанный с опцией -d) и сбросит все привилегии после привязки к любым запрошенным портам TCP или UDP.

Когда опций было мало, opentracker принимал их все из командной строки. Хотя это всё ещё возможно для большинства опций, использовать их довольно неудобно: пример вызова будет выглядеть так: ./opentracker -i 23.23.23.7 -p 80 -P 80 -p 6969 -i 23.23.23.8 -p 80 -r http://www.mytorrentsite.com/ -d /usr/local/etc/opentracker -w mytorrents.list -A 127.0.0.1.

Теперь opentracker использует файл конфигурации, который вы можете указать с помощью переключателя -f.


Файл конфигурации Файл конфигурации opentracker очень прост, и хорошо документированный пример конфигурации можно найти в файле opentracker.conf.sample.


Закрытый режим Хотя лично мне нравится, когда мой трекер открыт, я понимаю, что есть люди, которые хотят контролировать, какие торренты отслеживать, а какие нет. Если вы скомпилировали opentracker с одной из опций списка доступа (см. инструкции по сборке выше), вы можете контролировать, какие торренты отслеживаются, предоставив файл, содержащий список удобочитаемых info_hashes. Пример файла белого списка будет выглядеть следующим образом:

0123456789abcdef0123456789abcdef01234567 890123456789abcdef0123456789abcdef012345 Чтобы заставить opentracker перезагрузить свой белый/чёрный список, отправьте сигнал SIGHUP unix.


Статистика Учитывая его очень сетевой подход, общение с opentracker через HTTP происходит очень естественно. Помимо путей /announce и /scrape, есть третий путь, по которому вы можете получить доступ к трекеру: /stats. Этот запрос принимает параметры, для быстрого обзора просто запросите /stats?mode=everything`.

Статистика со временем выросла и сейчас не очень упорядочена. Большинство режимов были написаны для сброса блоков в стиле устаревшего SNMP, которые можно легко отслеживать с помощью MRTG. Эти режимы: peer, conn, scrp, udp4, tcp4, busy, torr, fscr, completed. Синксы. Я не буду объяснять их здесь.

Режим statedump сбрасывает несоздаваемые состояния трекера, чтобы вы могли позже восстановить сеанс opentracker с опцией -l. Это бета-версия и она плохо документирована.

Вы можете узнать версию opentracker (то есть версии CVS всех его объектов), используя режим version.

Centos 6.9 x64 инструкция по установке

yum -y install unzip wget gcc zlib-devel make
wget https://github.com/1265578519/OpenTracker/archive/master.zip -O /root/OpenTracker.zip
unzip OpenTracker.zip
mv OpenTracker-master /home
cd /home
cd OpenTracker-master
cd libowfat
make
cd /home/OpenTracker-master
cd opentracker
make

Запустите программу и слушайте tcp и udp порты 8080, а также автоматически запускайте в фоновом режиме:

./opentracker -f opentracker.conf.sample -p 8080 -P 8080 &

Рекомендуется использовать порт 8080. В основном он не требует регистрации и CloudFlare также поддерживает использование CDN для скрытия IP.

Можно добавить несколько портов:

./opentracker -f opentracker.conf.sample -p 8080 -P 8080 -p 6961 -P 6961 -p 2710 -P 2710 &

Добавьте запуск при загрузке, выполните один раз, иначе будет запущено несколько процессов. Можно сочетать с планировщиком задач для автоматического перезапуска процесса. Если centos 7 не имеет команды killall, можно установить её с помощью yum -y install psmisc. Centos 7 должен предоставить файлу запуска права на выполнение chmod +x /etc/rc.d/rc.local;ll /etc/rc.d/rc.local

echo "cd /home/OpenTracker-master;cd opentracker;./opentracker -f opentracker.conf.sample -p 8080 -P 8080 -p 6961 -P 6961 -p 2710 -P 2710 &" >> /etc/rc.d/rc.local

Введите следующую команду, чтобы проверить, работает ли процесс:

top -b -n 1 |grep opentracker

Проверьте количество текущих одновременных подключений:

netstat -apn|grep opentracker |wc -l

Просмотрите текущую сетевую ситуацию системы:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

Доступ к статистике программы через браузер:

http://ip:8080/stats
http://ip:8080/stats?mode=everything
http://ip:8080/stats?mode=top100
http://ip:8080/scrape

На сервере можно использовать:

curl http://localhost:8080/stats

Используйте crontab -e для автоматического перезапуска процесса с помощью планировщика задач. Ниже указано, что каждый день в 0:00, 6:00, 12:00 и 18:00 процесс будет автоматически перезапущен.

0 0,6,12,18 * * * killall -9 opentracker;sleep 3;cd /home/OpenTracker-master;cd opentracker;./opentracker -f opentracker.conf.sample -p 8080 -P 8080 -p 6961 -P 6961 -p 2710 -P 2710 &

Способ второй: используйте планировщик задач для автоматического мониторинга процесса и перезапуска при необходимости, без периодического перезапуска.

* * * * * /sbin/pidof opentracker||{ cd /home/OpenTracker-master;cd opentracker;./opentracker -f opentracker.conf.sample -p 8080 -P 8080 -p 6961 -P 6961 -p 2710 -P 2710 &}

Третий способ: рекомендуется заменить второй способ и может заменить предыдущее решение pidof для обнаружения нехватки памяти и перезапуска процесса, поскольку из-за нехватки памяти за несколько минут до этого невозможно создать новое TCP-соединение, и ssh не может подключиться (контролировать 512M памяти 75% — это 125000, 1G памяти 75% — 250000, избегать превышения 80%).

* * * * * [ $(awk '/MemFree/ {free=$2} /Buffers/ {buffers=$2} /^Cached/ {cached=$2} END {print free + buffers + cached}' /proc/meminfo) -lt 125000 ] && { killall -9 opentracker;sleep 3;cd /home/OpenTracker-master;cd opentracker;./opentracker -f opentracker.conf.sample -p 8080 -P 8080 -p 6961 -P 6961 -p 2710 -P 2710 &}

Помощь по программному обеспечению:

Usage: ./opentracker [-i ip] [-p port] [-P port] [-r redirect] [-d dir] [-u user] [-A ip] [-f config] [-s livesyncport]
    -f config include and execute the config file
    -i ip     specify ip to bind to (default: *, you may specify more than one)
    -p port   specify tcp port to bind to (default: 6969, you may specify more than one)
    -P port   specify udp port to bind to (default: 6969, you may specify more than one)
    -r redirecturlspecify url where / should be redirected to (default none)
    -d dir    specify directory to try to chroot to (default: ".")
    -u user   specify user under whose priviliges opentracker should run (default: "nobody")
    -A ip     bless an ip address as admin address (e.g. to allow syncs from this address)

Example:   ./opentracker -i 127.0.0.1 -p 6969 -P 6969 -f ./opentracker.conf -i 10.1.1.23 -p 2710 -p 80

Интервал можно изменить перед компиляцией, по умолчанию я изменил его на 2 часа, чтобы снизить расходы на широкополосный доступ к серверу.

trackerlogic.h:#define OT_CLIENT_TIMEOUT_SEND (60*15)#(60*30),客户端最小间隔请求时间,客户端可能不会遵守
trackerlogic.h:#define OT_CLIENT_REQUEST_INTERVAL (60*30)#(60*120),客户端默认间隔请求时间
trackerlogic.h:#define OT_CLIENT_REQUEST_VARIATION (60*6),服务端下发随机客户端间隔请求时间调整,提高性能,默认允许误差随机6分钟内,保持默认无修改
trackerlogic.h:#define OT_PEER_TIMEOUT 45#180,服务端删除peer时间,单位分钟
``` **推荐 Tracker 服务器 购买 优惠 注册地址:**

https://www.vultr.com/?ref=6813695

https://justhost.ru/services/vps/tariffs/13?ref=75001

**Примечание:** версия обновлена 27 февраля 2024 года.

CentOS 6 поддерживает только libowfat 0.31, CentOS 7 поддерживает только libowfat 0.32. Пожалуйста, используйте соответствующую версию для компиляции OpenTracker. Текущая версия — libowfat 0.32.

Для CentOS 6:

* Перейдите в каталог с помощью команды cd libowfat.
* Замените файл libowfat-0.31 на libowfat с помощью команды mv libowfat-0.31 libowfat.

**Оптимизация параметров ядра Linux**

1. **Открытие файла:**

ulimit -n 1048576 echo "* soft nofile 1048576" >> /etc/security/limits.conf echo "* hard nofile 1048576" >> /etc/security/limits.conf


2. **Оптимизация ksoftirqd для ядра процессора:**

На CentOS 7 отключите брандмауэр и убедитесь, что модуль nf не загружен с помощью lsmod. Для других систем используйте поиск в интернете.

yum -y install iptables-services;service ip6tables stop;chkconfig ip6tables off;service iptables stop;chkconfig iptables off;systemctl stop firewalld;systemctl disable firewalld


После отключения брандмауэра проверьте загрузку модулей с помощью lsmod и убедитесь, что нет модулей, начинающихся с «nf».

3. **Если используется IPv6 сеть**, установите максимальное количество подключений:

echo "net.ipv6.route.max_size = 2147483647" >> /etc/sysctl.conf


Затем выполните команду /sbin/sysctl -p, чтобы активировать параметры.

4. **Увеличение количества портов сокетов**:

По умолчанию установлено значение 4096. Если у вас 1 ГБ памяти, рекомендуется установить значение 100 000. Это не сильно влияет на доступ, поэтому можно оставить значение по умолчанию.

echo "net.ipv4.tcp_max_orphans = 100000" >> /etc/sysctl.conf


Затем выполните /sbin/sysctl -p для активации параметров.

Наиболее важными являются открытие файлов и отключение брандмауэра с отключением модуля nf. Предоставлена информация о том, как проверить успешность установки максимального количества открытых файлов.

Чтобы убедиться, что изменения в максимальном количестве открытых файлов вступили в силу, можно использовать следующие команды:

* **Проверка количества открытых файлов для конкретного процесса**:

Установите пакет lsof с помощью yum -y install lsof. Затем выполните команду lsof -n | awk '{ print $2; }' | uniq -c | sort -rn | head, чтобы увидеть количество открытых файлов каждым процессом.

* **Просмотр ограничений для конкретного PID**:

Используйте команду cat /proc/28492/limits | grep files, чтобы просмотреть ограничения для конкретного PID.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cc12655-OpenTracker.git
git@api.gitlife.ru:oschina-mirror/cc12655-OpenTracker.git
oschina-mirror
cc12655-OpenTracker
cc12655-OpenTracker
master