Retracker.local

Материал из RSU WiKi
Перейти к: навигация, поиск

Ретрекер (retracker, также встречается термин псевдотрекер) — технология оптимизации обмена битторрент (bittorrent) трафиком внутри локальных сетей[1][2]. Ретрекер позволяет установить прямое соединение по протоколу битторрент между абонентами одного оператора (или нескольких операторов, имеющих соглашение об обмене локальным трафиком), каждый из которых использует внутренний (локальный) IP-адрес. Технически ретрекер представляет собой простейший bittorrent трекер, как правило, анонимный, работающий внутри адресного пространства локальной сети интернет-провайдера. Использование ретрекера позволяет пирам обмениваться трафиком на повышенной скорости, используя внутреннюю адресацию локальной сети провайдера, так как доступ к локальной сети у многих российских интернет-провайдеров разрешён на более высокой скорости, нежели доступ в интернет. Кроме того, использование ретрекера снижает нагрузку на магистральные каналы связи за счет того, что абонентам не нужно скачивать по отдельности одни и те же данные.

Важно не путать ретрекеры с обычными локальными трекерами локальных сетей. Ретрекер не ставит задачи обмена торрент-файлами, систематизации торрент-файлов, поиска и так далее. Ретрекер служит исключительно средством повышения скорости обмена данными между пирами[3].

Содержание

Установка

mkdir /usr/local/src/retracker && cd /usr/local/src/retracker
wget http://rutracker.org/retracker.zip
unzip -e retracker.zip
mkdir /srv/www/vhosts/retracker.local
cp /usr/local/src/retracker/* /srv/www/vhosts/retracker.local/

Конфигурационный файл виртуального хоста Nginx:

/etc/nginx/vhosts.d/retracker.local.conf

server {
    listen       80;
    server_name  retracker.local retracker.example.com;

    access_log  /var/log/nginx/retracker.local-access_log;

    root /srv/www/vhosts/retracker.local;

    # Fixing nginx 0day exploit
    # http://forum.nginx.org/read.php?2,88845,page=3
    location ~ \..*/.*\.php$ {
        return 403;
    }

    location ~* ^/announce$ {
        rewrite ^/ /announce.php permanent;
        access_log off;
    }
                    
    location ~ \.php?$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/tmp/php-fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    
    include  inc-awstats.conf;                                                                                     
    include  inc-errors.conf;
}

Помещаем в cron сборщик мусора:

/etc/cron.d/retracker_gc

*/5 * * * * root curl --silent --compressed http://retracker.local/announce.php?run_gc=1 > /dev/null

Создаем в MySQL пользователя retracker и БД, даем доступ и создаем структуру таблиц:

mysql -u retracker -pPASSWORD < /srv/www/vhosts/retracker.local/mysql.sql

В конфигурационном файле /srv/www/vhosts/retracker.local/config.php указываем имя/пароль для доступа к БД.

Cоздаем зону "local" на сервере DNS:

/var/lib/named/master/local

$TTL 2d
@               IN SOA          ns.example.com.  hostmaster.example.com. (
                                2010030103      ; serial
                                3h              ; refresh
                                1h              ; retry
                                1w              ; expiry
                                1d )            ; minimum

local.                  IN NS           ns.example.com.
local.                  IN NS           ns.example.org.

local.                  IN A            192.0.2.131

retracker               IN A            192.0.2.131

/etc/named.conf (выдержка)

# Зона "local" для сервиса retracker.local для уменьшения трафика BitTorrent
zone "local" in {
    file "master/local";
    type master;
    allow-transfer { org-secondary; };
    allow-query { org-nets; };
};

Не забываем прописать ее так же и на вторичном сервере!

Troubleshooting

Ошибка d14:failure reason17:Invalid info_hash12:min intervali1800ee

В php.ini поставьте[4]:

magic_quotes=off

Примечания

  1. http://nag.ru/articles/reviews/15540/odichavshiy-wi-fi.html глава "Торренты. Приручение"
  2. CARMA Based MST Approximation for Multicast Provision in P2P Networks doi:10.1109/ICNS.2010.25 quote:"Recently there have been some advances in the locality awareness for BitTorrent networks. Popular nationwide trackers (torrents.ru, for instance) have introduced so-called “retrackers” - dedicated secondary servers. These servers are optionally connected to primary database but mainly supposed to only return peer list local to specific network scope."
  3. Ретрекер. Материал из Википедии — свободной энциклопедии
  4. retracker.spb.ru и ошибка invalid info hash :: RuTracker.org (ex torrents.ru)

См. также

Ссылки

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты