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 )