Несколько аннонс URL на основе IP адреса

Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 27 сен 2009, 18:16

Начина с версии 2009.09.29 и обновления #22 включено в трекер

Продолжение темы Тест: Несколько аннонс URL, но на основе Ip адреса пользователя

Скачиваем файл http://protoneutron.narod.ru/tmp/rtoi.7z, перемещаем его в директорию /tracker/include/

Открываем файл /download/file.php

после строки (585):

Код: Выделить всё

$dict['value']['announce'] = bdec(benc_str($forum_url.$config['ppkbb_announce_url']."?passkey=$user_passkey"));


добавить:

Код: Выделить всё

      $rtrack=array();
      include($phpbb_root_path."tracker/include/rtrack_on_ip.".$phpEx);


в конец файла, перед:



добавить:

Код: Выделить всё

function benc_rtrack_url($a)
{
   global $user, $config;

   $a_announce=array();

   $a[0]['rtrack_url']=$config['server_protocol'].$config['server_name'].$config['ppkbb_announce_url'];
   $a[0]['rtrack_append']='passkey=%s';
   $a[0]['rtrack_fill']=$user->data['user_passkey'];

   if($a)
   {
      $a=array_reverse($a);
      $a_string = '';
      foreach($a as $i => $a_url)
      {
         $rtrack_url=$a_url['rtrack_url'];
         if($a_url['rtrack_append'])
         {
            $rtrack_url.='?'.sprintf($a_url['rtrack_append'], ($a_url['rtrack_fill']==-1 ? $user->data['user_passkey'] : $a_url['rtrack_fill']));
         }
         $a_announce['value'][$i] = array('type' => 'list', 'value' => array(bdec(benc_str($rtrack_url))), 'strlen' => strlen("l".$rtrack_url."e"), 'string' => "l".$rtrack_url."e");
         $a_string .= benc_str($rtrack_url);
      }

      $a_announce['type'] = 'list';
      $a_announce['string'] = $a_string;
      $a_announce['strlen'] = strlen($a_announce['string']);
   }

   return $a_announce;
}


всё определяется в файле /tracker/include/rtrack_on_ip.php, для примера там уже содержится закомментированный код

например мы имеем какую-то сеть с адресами:
32.200.0.0-32.200.0.10
32.200.0.12-32.200.31.255

для которой нужно добавить трекер:

Код: Выделить всё

http://www.supertorrenttracker.su/announce.php


один адрес (loopback)
127.0.0.2
для которого нужно добавить трекеры:

Код: Выделить всё

http://192.168.1.2/announce
http://www.supertorrenttracker.su/announce.php


и так же нужно определить трекер для всех, вне зависимости от IP адреса:

Код: Выделить всё

http://supertorrenttracker.ru/announce.php


массив $rtrackoi_iplist - определяем диапазоны IP адресов

Код: Выделить всё

$rtrackoi_iplist['all'][]='1.0.0.0-255.255.255.0';//для всех
$rtrackoi_iplist['local'][]='127.0.0.2';//один адрес (loopback)
$rtrackoi_iplist[0][]='32.200.0.0-32.200.0.10';//какая-то сеть
$rtrackoi_iplist[0][]='32.200.0.12-32.200.31.255';//какая-то сеть


массив $rtrackoi_url - определяем аннонс URL трекеров, в скобках уникальный ID (число или строка в кавычках) нельзя использовать 0

Код: Выделить всё

$rtrackoi_url[1] = "http://supertorrenttracker.ru/announce.php";
$rtrackoi_url[2] = "http://www.supertorrenttracker.su/announce.php";
$rtrackoi_url['local'] = "http://192.168.1.2/announce";


массив $rtrackoi_string - определяем строку запроса для аннонс URL, т.е. часть после знака ?

Код: Выделить всё

$rtrackoi_string[1]='';
$rtrackoi_string[2]='key=%s';
$rtrackoi_string['local']='passkey=%s';


массив $rtrackoi_fill - определяем пасскей который подставляется в строку запроса, -1 - текущий пасскей пользователя

Код: Выделить всё

$rtrackoi_fill[1]='';
$rtrackoi_fill[2]='547476567567';
$rtrackoi_fill['local']='liue99638b9669vnn6859';


массив $rtrackoi_append - определяем дополнять аннонс URL строкой запроса или нет

Код: Выделить всё

$rtrackoi_append[1]=0;
$rtrackoi_append[2]=1;
$rtrackoi_append['local']=1;


массив $rtrackoi_ip - определяем аннонс URL для IP зон

Код: Выделить всё

$rtrackoi_ip['all']=array('1');//для IP зоны 'all' будут трекеры с ID 1 - http://supertorrenttracker.ru/announce.php
$rtrackoi_ip[0]=array('2');//для IP зоны '0' будут трекеры с ID 2 - http://www.supertorrenttracker.su/announce.php
$rtrackoi_ip['local']=array('local', '2');//для IP зоны '0' будут трекеры с ID  local и 2 - http://192.168.1.2/announce, http://www.supertorrenttracker.su/announce.php


всё, теперь при скачивании торрент-файла в зависимости от IP адреса пользователя в него добавится соотв. адреса трекеров ..
il
ilyuzhko
Сообщения: 192
Зарегистрирован: 21 июн 2009, 07:46

Сообщение ilyuzhko 20 окт 2009, 16:06

скажите пожалуйста как должен выглядеть файл rtrack_on_ip.php чтобы для всех адресов добавлялся анонс retracker.lockal?
Пробовал делать не получилось.... если можно прямо в код вставьте целиком файл, стоит самое последнее обновление на данный момент
www.pwn3d.me
Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 20 окт 2009, 20:43

После следующего обновления дам файл целиком .. а то там уже с изменения у меня ..
ur
uri
Сообщения: 105
Зарегистрирован: 08 ноя 2009, 16:00

Сообщение uri 08 ноя 2009, 17:01

Не работает мультитрекер!! помогите настроить,у меня щас последняя версия стоит от 2 ноября....Заранее спс!!!
При закачке торрент-файла видит 2 урл анонсера,но вот на раздаче сайта не отображаються все раздающие ,а только я один.Сейчас стоит всё как при первоначальной установке последней версии.
P.S.трекер стоит в сети с которой недоступен инет ..Саратовская файлообменная сеть...по области тока работает...
Последний раз редактировалось uri 08 ноя 2009, 19:18, всего редактировалось 3 раза.
ur
uri
Сообщения: 105
Зарегистрирован: 08 ноя 2009, 16:00

Сообщение uri 08 ноя 2009, 19:10

Если есть решение то помогите кто сможет?!!
Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 09 ноя 2009, 10:19

Что значит, но вот на раздаче сайта не отображаються все раздающие ,а только я один?, в этом коде дополнительные аннонс url добавляются в торрент файл (т.е. сам трекер через этот аннонс не получает пиров) и всех пиров полученных через них можно увидеть только в самом клиенте, а не на трекере ..
ur
uri
Сообщения: 105
Зарегистрирован: 08 ноя 2009, 16:00

Сообщение uri 09 ноя 2009, 10:30

Тогда это не мультитрекерность.Все пиры и сиды должны отображаться по идее,я видел это на одном из трекеров на основе юны,но юна мне не по душе как-то....
У этого торрент трекера в раздачах отображаються все сиды и пиры хоть с 2 хоть с 3 трекеров...
Как этого добиться?
Ведь если отображается 1 сид,то и хапать сегменты клиент будет тока с него...Или я не прав?.....
и ещё: "и всех пиров полученных через них можно увидеть только в самом клиенте, а не на трекере ..",а разве трекер не считывает данные с клиента,с которого раздаётся этот торрент файл?
Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 09 ноя 2009, 11:00

Тогда это не мультитрекерность.


а что это?, Мультитрекер: Основные условия мультитрекерности ;)

Все пиры и сиды должны отображаться по идее,я видел это на одном из трекеров на основе юны,но юна мне не по душе как-то....
У этого торрент трекера в раздачах отображаються все сиды и пиры хоть с 2 хоть с 3 трекеров...
Как этого добиться?
Ведь если отображается 1 сид,то и хапать сегменты клиент будет тока с него...Или я не прав?.....


Это одно и то же, с (не)большой разницей:
1. случай простого добавления дополнительного аннонс url в торрент-файл, при этом пиров по этим аннонс url получает клиент, а не трекер
2. случай когда трекер сам получает пиров через дополнительный аннонс url, кеширует их и выдаёт вместе с пирами полученными через основной url трекера, во этом варианте нет необходимости добавлять дополнительные аннонс url в торрент-файл (в ppkBB3cker используется вариант 1)

и ещё: "и всех пиров полученных через них можно увидеть только в самом клиенте, а не на трекере ..",а разве трекер не считывает данные с клиента,с которого раздаётся этот торрент файл?


Если (см. выше) используется вариант 1 - НЕТ, т.к. о пирах полученных через дополнительные аннонс url знает только клиент (программа)
ur
uri
Сообщения: 105
Зарегистрирован: 08 ноя 2009, 16:00

Сообщение uri 09 ноя 2009, 11:17

Большое спасибо!!!Всё написано на русском и понятном языке,только пользователю ведь не докажешь это,ему надо видеть раздающих,тогда он будет юзать трекер.! (касаемо пункта 1)случай простого добавления дополнительного аннонс url в торрент-файл, при этом пиров по этим аннонс url получает клиент, а не трекер...)
Поэтому то неплохо было б 2 пункт задействовать,не подскажите собственно...?
ur
uri
Сообщения: 105
Зарегистрирован: 08 ноя 2009, 16:00

Сообщение uri 09 ноя 2009, 20:43

Рабочий мультитрекер мало где встретишь,я лично тестил и видел его на torrent pier и kinokpk,ну и на юну уже скрутили с кинокопика.
Тут я встретил почти полноценный мультитрекер,но его немешает довести до ума.Думаю что мультитрекерность только начинает набирать популярность,стоит того однако....

Вернуться в «Готовые моды для трекера»

Кто сейчас на конференции

Сейчас этот форум просматривают: CCBot и 2 гостя