Продолжение темы Тест: Несколько аннонс 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;
}
например мы имеем какую-то сеть с адресами:
32.200.0.0-32.200.0.10
32.200.0.12-32.200.31.255
для которой нужно добавить трекер:
Код: Выделить всё
http://www.supertorrenttracker.su/announce.php
127.0.0.2
для которого нужно добавить трекеры:
Код: Выделить всё
http://192.168.1.2/announce
http://www.supertorrenttracker.su/announce.php
Код: Выделить всё
http://supertorrenttracker.ru/announce.php
Код: Выделить всё
$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[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[1]='';
$rtrackoi_string[2]='key=%s';
$rtrackoi_string['local']='passkey=%s';
Код: Выделить всё
$rtrackoi_fill[1]='';
$rtrackoi_fill[2]='547476567567';
$rtrackoi_fill['local']='liue99638b9669vnn6859';
Код: Выделить всё
$rtrackoi_append[1]=0;
$rtrackoi_append[2]=1;
$rtrackoi_append['local']=1;
Код: Выделить всё
$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