Bravo List

Bravo List (http://www.bvlist.com/index.php)
-   Community Cafe (http://www.bvlist.com/forumdisplay.php?f=18)
-   -   shite (http://www.bvlist.com/showthread.php?t=1181)

wMan 16th October 2008 12:58

shite
 
this code ive got is crap users can download but it doesnt move in their clients
ive removed some code from details banned clients etc but they have latest utorrent
still doesnt move any ideas pls

also no 1 can get connectable at all im connectable on every other site

Fynnon 16th October 2008 13:04

gonna tell us what code is that or you wanna keep it secret ? :P

Subzero 16th October 2008 13:16

:lol: Is it nickys?

wMan 16th October 2008 13:36

yep aint a clue what hes added but no fecker can get connectable
also when they download thats fine but in their clients the torrent just wont move

and cant promote or demote users says error function modtask2.php :(

this is the announce.php ive took out banned clients by petrified

PHP Code:

<?

/*ob_start("ob_gzhandler");*/

require_once("include/bittorrent.php");
require_once(
"include/benc.php");

if (isset(
$_SERVER['HTTP_COOKIE']) || isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) || isset($_SERVER['HTTP_ACCEPT_CHARSET']))
{if (isset(
$_GET['info_hash']) || isset($_GET['uploaded']) || isset($_GET['downloaded']) || isset($_GET['event']))
die(
"Anti-Cheater= You cannot use this agent!");
};

function 
err($msg)
{
benc_resp(array("failure reason" => array(type => "string"value => $msg)));
exit();
}

function 
benc_resp($d)
{
benc_resp_raw(benc(array(type => "dictionary"value => $d)));
}

function 
benc_resp_raw($x)
{
header("Content-Type: text/plain");
header("Pragma: no-cache");
print(
$x);
}

foreach (array(
"passkey","info_hash","peer_id","ip","event") as $x)

if (
ini_get('magic_quotes_gpc') == 0)
$GLOBALS[$x] = $_GET[$x];
else
$GLOBALS[$x] = stripslashes($_GET[$x]);

foreach (array(
"port","downloaded","uploaded","left") as $x)

$GLOBALS[$x] = $_GET[$x];
if (
strpos($passkey"?")) {

$tmp substr($passkeystrpos($passkey"?"));

$passkey substr($passkey0strpos($passkey"?"));

$tmpname substr($tmp1strpos($tmp"=")-1);

$tmpvalue substr($tmpstrpos($tmp"=")+1);

$GLOBALS[$tmpname] = $tmpvalue;

}

foreach (array(
"passkey","info_hash","peer_id","port","downloaded","uploaded","left") as $x)

if (!isset(
$x)) err("Missing key: $x");

foreach (array(
"info_hash","peer_id") as $x)

if (
strlen($GLOBALS[$x]) != 20err("Invalid $x (" strlen($GLOBALS[$x]) . " - " urlencode($GLOBALS[$x]) . ")");

if (
strlen($passkey) != 32err("Invalid passkey (" strlen($passkey) . " - $passkey)");

//if (empty($ip) || !preg_match('/^(d{1,3}.){3}d{1,3}$/s', $ip))

$ip getip();

$rsize 50;
foreach(array(
"num want""numwant""num_want") as $k)
{
if (isset(
$_GET[$k]))
{
$rsize $_GET[$k];
break;
}
}

$agent $_SERVER["HTTP_USER_AGENT"];

// Deny access made with a browser...
if (ereg("^Mozilla\\/"$agent) || ereg("^Opera\\/"$agent) || ereg("^Links "$agent) || ereg("^Lynx\\/"$agent))
err("torrent not registered with this tracker");

if (!
$port || $port 0xffff)
err("invalid port");

if (!isset(
$event))
$event "";

$seeder = ($left == 0) ? "yes" "no";

// Banned Clients - By Petr1fied
$filename "include/banned_clients.txt";
if (
filesize($filename)==|| !file_exists($filename))
$banned_clients=array();
else
{
$handle fopen($filename"r");
$banned_clients unserialize(fread($handlefilesize($filename)));
fclose($handle);
}

foreach(
$banned_clients as $k => $v)
{
if(
substr(bin2hex($peer_id), 016) == $v["peer_id"] || substr(bin2hex($peer_id), 06) == $v["peer_id"])
{
$client_ban=array($v["client_name"], $v["reason"]);
}
}
if(
$client_ban)
err("I'm sorry, $client_ban[0] is banned from this tracker (".stripslashes($client_ban[1]).")");
// Banned Clients - By Petr1fied

dbconn(false);
$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM users WHERE passkey=" sqlesc($passkey)));

if (
$valid[0] != 1err("Invalid passkey! Re-download the .torrent from $BASEURL");


$res mysql_query("SELECT id, name, category, banned, free, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents WHERE " hash_where("info_hash"$info_hash));

$torrent mysql_fetch_assoc($res);
if (!
$torrent)
err("torrent not registered with this tracker");

$torrentid $torrent["id"];
$torrentname $torrent["name"];
$torrentcategory $torrent["category"];

$fields "seeder, last_action, peer_id, ip, port, uploaded, downloaded, userid, UNIX_TIMESTAMP(last_action) AS ts";

$numpeers $torrent["numpeers"];
$limit "";
if (
$numpeers $rsize)
$limit "ORDER BY RAND() LIMIT $rsize";
$res mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid AND connectable = 'yes' $limit");

$resp "d" benc_str("interval") . "i" $announce_interval "e" benc_str("peers") . "l";
unset(
$self);
while (
$row mysql_fetch_assoc($res))
{
$row["peer_id"] = hash_pad($row["peer_id"]);

if (
$row["peer_id"] === $peer_id)
{
$userid $row["userid"];
$self $row;
continue;
}

$resp .= "d" .
benc_str("ip") . benc_str($row["ip"]) .
benc_str("peer id") . benc_str($row["peer_id"]) .
benc_str("port") . "i" $row["port"] . "e" .
"e";
}

$resp .= "ee";

$selfwhere "torrent = $torrentid AND " hash_where("peer_id"$peer_id);

if (!isset(
$self))
{
$res mysql_query("SELECT $fields FROM peers WHERE $selfwhere");
$row mysql_fetch_assoc($res);
if (
$row)
{
$userid $row["userid"];
$self $row;
}
}

//// Up/down stats ////////////////////////////////////////////////////////////

if (!isset($self))

{

$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM peers WHERE torrent=$torrentid AND passkey=" sqlesc($passkey)));

if (
$valid[0] >= && $seeder == 'no'err("Connection limit exceeded! You may only leech from one location at a time.");

if (
$valid[0] >= && $seeder == 'yes'err("Connection limit exceeded!");

$rz mysql_query("SELECT id, uploaded, downloaded, class, parked FROM users WHERE passkey=".sqlesc($passkey)." AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1") or err("Tracker error 2");

if (
$MEMBERSONLY && mysql_num_rows($rz) == 0)

err("Unknown passkey. Please redownload the torrent from $BASEURL.");
$az mysql_fetch_assoc($rz);
$userid $az["id"];

//    if ($left > 0 && $az["class"] < UC_VIP)
if ($az["class"] < UC_USER)
{
$gigs $az["uploaded"] / (1024*1024*1024);
$elapsed floor((gmtime() - $torrent["ts"]) / 3600);
$ratio = (($az["downloaded"] > 0) ? ($az["uploaded"] / $az["downloaded"]) : 1);
if (
$ratio 0.5 || $gigs 5$wait 0;
elseif (
$ratio 0.65 || $gigs 6.5$wait 0;
elseif (
$ratio 0.8 || $gigs 8$wait 0;
elseif (
$ratio 0.95 || $gigs 9.5$wait 0;
else 
$wait 0;
if (
$elapsed $wait)
err("Not authorized (" . ($wait $elapsed) . "h) - READ THE FAQ!");
}
}
else
{
$start $self["ts"];  //last_action
$end time();  //now time
if ($end $start 30)  //~30 sec for local connection, ~60 sec for internet connection
err("Sorry, minimum announce interval = 30 sec.");
// Get the last uploaded amount from user account for reference and store it in $last_up
$rst mysql_query("SELECT class, uploaded FROM users WHERE id = $userid") or err("Tracker error 5");
$art mysql_fetch_array($rst);
$last_up $art["uploaded"];
$class $art["class"];
$upthis max(0$uploaded $self["uploaded"]);
$downthis max(0$downloaded $self["downloaded"]);

if (
$upthis || $downthis 0)
// Initial sanity check xMB/s for 1 second
if($upthis 2097152)
{
//Work out time difference
$endtime time();
$starttime $self['ts'];
$diff = ($endtime $starttime);
//Normalise to prevent divide by zero.
$rate = ($upthis / ($diff 1));
//Currently 2MB/s. Increase to 5MB/s once finished testing.
if ($rate 2097152)
{
if (
$class UC_MODERATOR)
{
$rate mksize($rate);
$client $agent;
$userip getip();

auto_enter_cheater($userid$rate$upthis$diff$torrentid$client$userip$last_up);
}
}
}
mysql_query("UPDATE users SET uploaded = uploaded + $upthis". ($torrent['free']=='no'?", downloaded = downloaded + $downthis ":' '). "WHERE id=$userid") or err("Tracker error 3");
}

///////////////////////////////////////////////////////////////////////////////

$dt gmtime() - 180;
$dt sqlesc(get_date_time($dt));
if (
"text/html, */*" == $_SERVER["HTTP_ACCEPT"] || "Close" == $_SERVER["HTTP_CONNECTION"] && "gzip, deflate" != $_SERVER["HTTP_ACCEPT_ENCODING"])
{
$u mysql_fetch_assoc(mysql_query("SELECT id, username FROM users WHERE id=".$userid));
$subject sqlesc("Cheat - ".$u["username"]."");
$body sqlesc("".$u["username"]." used RatioMaker.\n UserAgent: ".$agent."\n PeerID: ".substr($peer_id,0,7));

auto_post$subject $body );
benc_resp_raw("You have been logged for trying to cheat!");
}
function 
portblacklisted($port)
{
// direct connect
if ($port >= 411 && $port <= 413) return true;

// bittorrent
if ($port >= 6881 && $port <= 6889) return true;

// kazaa
if ($port == 1214) return true;

// gnutella
if ($port >= 6346 && $port <= 6347) return true;

// emule
if ($port == 4662) return true;

// winmx
if ($port == 6699) return true;

return 
false;
}

$updateset = array();

if (
$event == "stopped")
{
if (isset(
$self))
{
mysql_query("UPDATE snatched SET seeder = 'no', connectable='no' WHERE torrent = $torrentid AND userid = $userid");
mysql_query("DELETE FROM peers WHERE $selfwhere");
if (
mysql_affected_rows())
{
if (
$self["seeder"] == "yes")
$updateset[] = "seeders = seeders - 1";
else
$updateset[] = "leechers = leechers - 1";
}
}
}
else
{
if (
$event == "completed")
{    
mysql_query("UPDATE snatched SET  finished  = 'yes', completedat = $dt WHERE torrent = $torrentid AND userid = $userid");
$updateset[] = "times_completed = times_completed + 1";

}
if (isset(
$self))
{
$res=mysql_query("SELECT uploaded, downloaded FROM snatched WHERE torrent = $torrentid AND userid = $userid");
$row mysql_fetch_array($res);
$sockres = @fsockopen($ip$port$errno$errstr5);
if (!
$sockres)
$connectable "no";
else
{
$connectable "yes";
@
fclose($sockres);
}
$downloaded2=$downloaded $self["downloaded"];
$uploaded2=$uploaded $self["uploaded"];
mysql_query("UPDATE snatched SET uploaded = uploaded+$uploaded2, downloaded = downloaded+$downloaded2, port = $port, connectable = '$connectable', agent= " sqlesc($agent) . ", to_go = $left, last_action = $dt, seeder = '$seeder' WHERE torrent = $torrentid AND userid = $userid");
mysql_query("UPDATE peers SET uploaded = $uploaded, downloaded = $downloaded, to_go = $left, last_action = NOW(), seeder = '$seeder'"
. ($seeder == "yes" && $self["seeder"] != $seeder ", finishedat = " time() : "") . " WHERE $selfwhere");
if (
mysql_affected_rows() && $self["seeder"] != $seeder)
{
if (
$seeder == "yes")
{
$updateset[] = "seeders = seeders + 1";
$updateset[] = "leechers = leechers - 1";
}
else
{
$updateset[] = "seeders = seeders - 1";
$updateset[] = "leechers = leechers + 1";
}
}
}
else
{
if (
$az["parked"] == "yes")
err("Error, your account is parked!");
if (
portblacklisted($port))
err("Port $port is blacklisted.");
else
{
$sockres = @fsockopen($ip$port$errno$errstr5);
if (!
$sockres)
$connectable "no";
else
{
$connectable "yes";
@
fclose($sockres);
}
}

$res mysql_query("SELECT torrent, userid FROM snatched WHERE torrent = $torrentid AND userid = $userid");
$check mysql_fetch_assoc($res);
if (!
$check)

mysql_query("INSERT INTO snatched (torrent, torrentid, userid, port, startdat, last_action, agent, torrent_name, torrent_category) VALUES ($torrentid$torrentid$userid$port$dt$dt, " sqlesc($agent) . ", " sqlesc($torrentname) . ", $torrentcategory)");

$ret mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, agent, uploadoffset, downloadoffset, passkey) VALUES ('$connectable', $torrentid, " sqlesc($peer_id) . ", " sqlesc($ip) . ", $port$uploaded$downloaded$left, NOW(), NOW(), '$seeder', $userid, " sqlesc($agent) . ", $uploaded$downloaded, " sqlesc($passkey) . ")");
if (
$ret)
{
if (
$seeder == "yes")
$updateset[] = "seeders = seeders + 1";
else
$updateset[] = "leechers = leechers + 1";
}
}
}

if (
$seeder == "yes")
{
if (
$torrent["banned"] != "yes")
$updateset[] = "visible = 'yes'";
$updateset[] = "last_action = NOW()";
}

if (
count($updateset))
mysql_query("UPDATE torrents SET " join(","$updateset) . " WHERE id = $torrentid");

benc_resp_raw($resp);


?>


joeroberts 16th October 2008 14:46

what is the tracker responce to the client??


All times are GMT +2. The time now is 18:39.

Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.