Torrent patcher для e107 |
Здравствуйте, гость ( Вход | Регистрация )
Torrent patcher для e107 |
19.10.2009, 18:07
Сообщение
#1
|
|
Активный участник Группа: Пользователи Сообщений: 30 Регистрация: 6.10.2009 Пользователь №: 2 900 |
прошу помощи... не могу понять где косяк, не добавляет анонс http://retracker.local/, точнее добавляет, но торрент клиент не видит О_о
вот файлы, которые используются для ракадирования/кодирования и выдачи файлов юзверям
Прикрепленные файлы
|
|
|
23.10.2009, 16:40
Сообщение
#2
|
|
Активный участник Группа: Пользователи Сообщений: 30 Регистрация: 6.10.2009 Пользователь №: 2 900 |
разобрался, можно делать
в bencode.php изменил функцию encodeList Код function encodeList($array, &$fd){ $fd .= "l"; // The empty list is defined as array(); if (empty($array)){ $fd .= "e"; return; } for ($i = 0; isset($array[$i]); $i++){ if (preg_match('{(?:(\w+://)|www\.)[\w-]+(\.[\w-]+)*\S*(?:(?<! [[:punct:]] ) | (?<= [-/&+*] ))}xis',$array[$i])){ $fd .= "l"; $this->decideEncode($array[$i], $fd); $fd .= "e"; }else $this->decideEncode($array[$i], $fd); } $fd .= "e"; return; } и чуть изменил download.php Код $torrA = BDecode($torrdata);
if($ulevel > -1){ $torrA["announce"] = $announce."?pk=".$passkey; $torrA["announce-list"][0] = "http://retracker.local/announce"; $torrA["announce-list"][1] = $torrA["announce"]; }else{ $torrA["announce"] = $announce; $torrA["announce-list"][0] = "http://retracker.local/announce"; $torrA["announce-list"][1] = $torrA["announce"]; } //if(isset($torrA["announce-list"])) unset($torrA["announce-list"]); |
|
|
23.10.2009, 20:51
Сообщение
#3
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
разобрался, можно делать в bencode.php изменил функцию encodeList Т.к. ещё не смотрел то не буду комментировать... и чуть изменил download.php А вот здесь лучше сделать таким образом: Код $torrA = BDecode($torrdata); $torrA["announce-list"] = array(); if($ulevel > -1){ $torrA["announce"] = $announce."?pk=".$passkey; $torrA["announce-list"][] = array("http://retracker.local/announce"); $torrA["announce-list"][] = array($torrA["announce"]); }else{ $torrA["announce"] = $announce; $torrA["announce-list"][] = array("http://retracker.local/announce"); $torrA["announce-list"][] = array($torrA["announce"]); } //if(isset($torrA["announce-list"])) unset($torrA["announce-list"]); В таком случае трекеры будут перебираться клиентом последовательно - т.е. сначала retracker.local, а затем тот, что в $torrA["announce"]. В вашем же варианте формат announce-list предполагал случайный выбор трекера их предложенных, тоже работает, но идея как я понял была именно сначала попробовать retracker.local, а потом уже основной. -------------------- |
|
|
Текстовая версия | Сейчас: 23.9.2024, 16:44 |