Подарочек на Новый Год Думаю суть мода все знают. Можно брать торрент-файлы с чужих трекеров и добавлять к себе на трекер, после чего их могут качать ваши юзеры, подключаясь к чужим пирам.
Мод будет брать статистику о пирах с этих трекеров, и показывать на сайте (смотреть скрин). Ограничений на количествно аннонсеров торрента нет, для каждого своя отдельная статистика.
Это не самая новая, но стабильная версия мода.
Поддерживаются сторонние трекера разных движков, как открытых, так и закрытых сайтов.
Отписывайтесь о моде, маленькие неполадки есть везде. Корректуры, педикюр, маникюр, буду здесь вести отдельно от так сказать коммерческой версии.
Исправление бага с НЕ мультитрекерными раздачами:
Заменяем функцию uploadMTorrent() на эту:
Code
# multitracker-mod by qwertzuiop
function uploadMTorrent($file){
global $EXTTOR_FUNC_DIR, $EXTERNAL_TORRENTS, $TRACKER_ANNOUNCEURLS;
require_once ($EXTTOR_FUNC_DIR . "/BDecode.php");
require_once ($EXTTOR_FUNC_DIR . "/BEncode.php");
if (isset($file["tfile"])){
$f = $file["tfile"];
$GLOBALS["fname"] = unesc($f["name"]);
if ($file["tfile"]["error"] != 4){
$fd = fopen($file["tfile"]["tmp_name"], "rb") or bark("file-upload-error No. 1");
is_uploaded_file($file["tfile"]["tmp_name"]) or bark("file-upload-error No. 2");
$fName = $_FILES["tfile"]["name"]; $fQ = $_FILES["tfile"]["tmp_name"];
$length=filesize($file["tfile"]["tmp_name"]);
if ($length) $alltorrent = fread($fd, $length);
else bark("file-upload-error No. 3");
$array = BDecode($alltorrent);
if (!isset($array) || !$array) bark("parse-error");
$GLOBALS["internal"] = ($array["announce"] == $TRACKER_ANNOUNCEURLS[0] || !isset($array["announce"]) ? true : false);
$GLOBALS["hash"]=$file["tfile"]["name"];
fclose($fd);}
if (isset($array["comment"]))
$info = mysql_escape_string(htmlspecialchars($array["comment"]));
else $info = "";
if (isset($array["info"]) && $array["info"]) $upfile=$array["info"];
else $upfile = 0;
if (isset($upfile["length"]))
$GLOBALS["totallen"] = (float)($upfile["length"]);
else if (isset($upfile["files"])){
$size=0;
foreach ($upfile["files"] as $file)
$GLOBALS["totallen"] += (float)($file["length"]);}
else $size = "0";
$announces = str_replace(array("\r\n","\r","\n"), "", $array["announce"]);
if($array["announce-list"]){
foreach($array["announce-list"] as $ky => $va){
if($va[0] != $announces[0] && preg_replace("/http:\/\//", "", $va[0])) $announce[] = $va[0];}}
if($array["announce"]){
if(preg_replace("/http:\/\//", "", $array["announce"]))
$announce[] = $array["announce"];}
if ((!isset($array["announce"]) || !in_array($announces, $TRACKER_ANNOUNCEURLS)) && $EXTERNAL_TORRENTS == false){
unlink($file["tfile"]["tmp_name"]);
bark("Мультитрекерные раздачи временно запрещены!");}
$GLOBALS["infohash"] = $info["string"];
$GLOBALS["filelist"] = $array["info"]["files"];
if(count($filesArray) > 1) $GLOBALS["type"] = 'multi';
else $GLOBALS["type"] = 'single';
$GLOBALS["announce"] = $announce;
$GLOBALS["infohash"] = sha1(BEncode($array["info"]));
$GLOBALS["array"] = $array;
} else bark("Торрент-файл не загружен!");}
В файле download.php меняем этот кусок
Code
$array["announce"] = $DEFAULTBASEURL."/announce.php?passkey=".$CURUSER["passkey"];
if($row["announce_url"] != "")
{
на этот
Code
$array["announce"] = $TRACKER_ANNOUNCEURLS[0]."?passkey=".$CURUSER["passkey"];
if($row["announce_url"] != "" && $row["external"] == "yes")
{