baltun
Администратор
- Сообщения
- 12.285
- Реакции
- 3.082
- Баллы
- 1.833
Ретрекер (retracker, также встречается термин псевдотрекер) — bittorrent трекер, как правило, анонимный, работающий внутри адресного пространства локальной сети интернет провайдера. Использование ретрекера позволяет пирам обмениваться трафиком на повышенной скорости, используя внутреннюю адресацию локальной сети провайдера, так как доступ к локальной сети у многих российских интернет провайдеров разрешен на более высокой скорости, нежели доступ в интернет. Кроме того, использование ретрекера снижает нагрузку на магистральные каналы связи за счет того, что абонентам не нужно скачивать по отдельности одни и те же данные.
Устанавливаем необходимые пакеты:
Выкачиваем исходники из svn и собираем их:
Если собралось нормально, то копируем бинарник и конфиг в нужные папки:
Создаём пользователя в mysql и базу для него:
Заливаем дамп базы данных:
Правим конфиг:
Создаём стартовый скрипт:
Сделаем его исполняемым и поставим в автозапуск:
Запускаем:
Проверяем работу пройдя по ссылке
Если всё нормально, продолжаем.
P.S.: На этом этапе у вас должна быть настроена запись retracker.local на ДНС сервере и правильно сконфигурированный веб-сервер (в примере используется Apache 2).
В папке виртуального хоста правим .htaccess:
P.S.: Атрибут P — проксирует запросы. retracker.local можно/нужно заменить на 127.0.0.1
Проверяем как клиенты подхватывают ретрекер.
Устанавливаем необходимые пакеты:
Код:
yum install boost-devel gcc-c++ mysql-devel subversion
Выкачиваем исходники из svn и собираем их:
Код:
svn co https://xbtt.svn.sourceforge.net/svnroot/xbtt/trunk/xbt/misc xbt/misc
svn co https://xbtt.svn.sourceforge.net/svnroot/xbtt/trunk/xbt/Tracker xbt/Tracker
cd xbt/Tracker
./make.sh
Если собралось нормально, то копируем бинарник и конфиг в нужные папки:
Код:
# cp xbt/Tracker/xbt_tracker /usr/local/sbin/xbt_tracker
# cp xbt/Tracker/xbt_tracker.conf.default /etc/xbt_tracker.conf
Создаём пользователя в mysql и базу для него:
Код:
# mysql -u root -p
>CREATE USER 'xbt'@'localhost' IDENTIFIED BY 'YOU_PASSWORD';
>GRANT USAGE ON *.* TO 'xbt'@'localhost' IDENTIFIED BY 'YOU_PASSWORD';
>CREATE DATABASE IF NOT EXISTS `xbt`;
>GRANT ALL PRIVILEGES ON `xbt`.* TO 'xbt'@'localhost';
>exit;
Заливаем дамп базы данных:
Код:
mysql -u xbt -p xbt < xbt_tracker.sql
Правим конфиг:
Код:
# nano /etc/xbt_tracker.conf
mysql_host = 127.0.0.1
mysql_user = xbt
mysql_password = YOU_PASSWORD
mysql_database = xbt
pid_file = /var/run/xbt_tracker.pid
announce_interval = 1800
anonymous_connect = 1
anonymous_announce = 1
anonymous_scrape = 1
auto_register = 1
full_scrape = 0
gzip_debug = 1
gzip_scrape = 1
Создаём стартовый скрипт:
Код:
# nano /etc/init.d/xbt
#!/bin/sh
#
# xbt Start/Stop the xbt daemon.
#
# chkconfig: 2345 99 01
# description: XBT Tracker
# processname: xbt_tracker
# pidfile: /var/run/xbt_tracker.pid
# Source function library.
. /etc/init.d/functions
options='--conf_file /etc/xbt_tracker.conf'
processname='/usr/local/sbin/xbt_tracker'
pidfile='/var/run/xbt_tracker.pid'
user='root'
home=`/bin/grep -E "^$user:" /etc/passwd | /bin/cut -d : -f 6`
start() {
export HOME=$home
echo -n $"Starting $processname: "
if [ -e $pidfile ] && [ -e /proc/`cat $pidfile` ]; then
echo -n $"cannot start $processname: $processname is already running."
failure $"cannot start $processname: $processname already running."
echo
return 1
fi
daemon $processname $options
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && ps ax | grep -w $processname | grep -v grep | awk '{print($1)}' > $pidfile
return $RETVAL
}
stop() {
export HOME=$home
echo -n $"Stopping $processname: "
killproc $processname
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $pidfile
return $RETVAL
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $processname
;;
*)
echo "Usage: $0 start|stop|restart|status"
;;
esac
Сделаем его исполняемым и поставим в автозапуск:
Код:
# chmod +x /etc/init.d/xbt
# chkconfig xbt on
Запускаем:
Код:
# /etc/init.d/xbt start
Проверяем работу пройдя по ссылке
У вас нет разрешения на просмотр ссылки, пожалуйста Вход или Регистрация
Если всё нормально, продолжаем.
P.S.: На этом этапе у вас должна быть настроена запись retracker.local на ДНС сервере и правильно сконфигурированный веб-сервер (в примере используется Apache 2).
В папке виртуального хоста правим .htaccess:
Код:
RewriteEngine On
RewriteBase /
RewriteRule ^st/?$ http://retracker.local:2710/st [P]
RewriteRule ^announce/?$ http://retracker.local:2710/announce [P]
RewriteRule ^scrape/?$ http://retracker.local:2710/scrape [P]
P.S.: Атрибут P — проксирует запросы. retracker.local можно/нужно заменить на 127.0.0.1
Проверяем как клиенты подхватывают ретрекер.
Последнее редактирование: