Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > TBDev
Reply
  #1  
Old 8th October 2013, 22:05
Dote Dote is offline
Senior Member
 
Join Date: Jul 2013
P2P
Posts: 17
Default 2 problems with uploading
Hi,
I have 2 problems with torrents that I'm uploading.
1. "Peer not found" - this problem occurs sometimes few minutes after the torrent upload.
2. Failure reason: torrent not registered with this tracker CODE 2 - This is happened to a lot of torrent that I'm trying to upload.

Please help if you can.
Thanks!
Reply With Quote
  #2  
Old 8th October 2013, 22:45
DND DND is offline
VIP
 
Join Date: Dec 2008
Posts: 1,241
Default
attention

Attention

state your tbdev version, how should we know how to help ?



Reply With Quote
  #3  
Old 9th October 2013, 17:14
Dote Dote is offline
Senior Member
 
Join Date: Jul 2013
P2P
Posts: 17
Default
Quote:
Originally Posted by DeNeDe View Post
attention

Attention

state your tbdev version, how should we know how to help ?



TBDEV 2009 final.
Reply With Quote
  #4  
Old 9th October 2013, 17:44
DND DND is offline
VIP
 
Join Date: Dec 2008
Posts: 1,241
Default
post the announce.php and u sure u set it good in config.php ?
Reply With Quote
  #5  
Old 11th October 2013, 11:56
Dote Dote is offline
Senior Member
 
Join Date: Jul 2013
P2P
Posts: 17
Default
Quote:
Originally Posted by DeNeDe View Post
post the announce.php and u sure u set it good in config.php ?
Code:
<?php
/*
+------------------------------------------------
|   TBDev.net BitTorrent Tracker PHP
|   =============================================
|   by CoLdFuSiOn
|   (c) 2003 - 2009 TBDev.Net
|   http://www.tbdev.net
|   =============================================
|   svn: http://sourceforge.net/projects/tbdevnet/
|   Licence Info: GPL
+------------------------------------------------
|   $Date$
|   $Revision$
|   $Author$
|   $URL$
+------------------------------------------------
*/
error_reporting(0);
////////////////// GLOBAL VARIABLES ////////////////////////////    
$TBDEV['baseurl'] = 'http://goldshare.me/';
$TBDEV['announce_interval'] = 60 * 30;
$TBDEV['user_ratios'] = 0;
$TBDEV['connectable_check'] = 0;
define ('UC_VIP', 2);
// DB setup
$TBDEV['mysql_host'] = "localhost";

////////////////// GLOBAL VARIABLES ////////////////////////////

// DO NOT EDIT BELOW UNLESS YOU KNOW WHAT YOU'RE DOING!!

$agent = $_SERVER["HTTP_USER_AGENT"];

// Deny access made with a browser...
if (
    ereg("^Mozilla\\/", $agent) || 
    ereg("^Opera\\/", $agent) || 
    ereg("^Links ", $agent) || 
    ereg("^Lynx\\/", $agent) || 
    isset($_SERVER['HTTP_COOKIE']) || 
    isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) || 
    isset($_SERVER['HTTP_ACCEPT_CHARSET'])
    )
    err("torrent not registered with this tracker CODE 1");

/////////////////////// FUNCTION DEFS ///////////////////////////////////
function dbconn()
{
    global $TBDEV;

    if (!@mysql_connect($TBDEV['mysql_host'], $TBDEV['mysql_user'], $TBDEV['mysql_pass']))
    {
      err('Please call back later');
    }
    mysql_select_db($TBDEV['mysql_db']) or err('Please call back later');
}

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" );

    if ( $_SERVER['HTTP_ACCEPT_ENCODING'] == 'gzip' )
    {
        header( "Content-Encoding: gzip" );
        echo gzencode( $x, 9, FORCE_GZIP );
    }
    else
        echo $x ;
}

function benc($obj) {
    if (!is_array($obj) || !isset($obj["type"]) || !isset($obj["value"]))
        return;
    $c = $obj["value"];
    switch ($obj["type"]) {
        case "string":
            return benc_str($c);
        case "integer":
            return benc_int($c);
        case "list":
            return benc_list($c);
        case "dictionary":
            return benc_dict($c);
        default:
            return;
    }
}

function benc_str($s) {
    return strlen($s) . ":$s";
}

function benc_int($i) {
    return "i" . $i . "e";
}

function benc_list($a) {
    $s = "l";
    foreach ($a as $e) {
        $s .= benc($e);
    }
    $s .= "e";
    return $s;
}

function benc_dict($d) {
    $s = "d";
    $keys = array_keys($d);
    sort($keys);
    foreach ($keys as $k) {
        $v = $d[$k];
        $s .= benc_str($k);
        $s .= benc($v);
    }
    $s .= "e";
    return $s;
}

function hash_where($name, $hash) {
    $shhash = preg_replace('/ *$/s', "", $hash);
    return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")";
}

function sqlesc($x) {
    return "'".mysql_real_escape_string($x)."'";
}

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;
}
/////////////////////// FUNCTION DEFS END ///////////////////////////////

$parts = array();
$pattern = '[0-9a-fA-F]{32}';
if( !isset($_GET['passkey']) OR !ereg($pattern, $_GET['passkey'], $parts) ) 
        err("Invalid Passkey");
    else
        $GLOBALS['passkey'] = $parts[0];
        
foreach (array("info_hash","peer_id","event","ip","localip") as $x) 
{
if(isset($_GET["$x"]))
$GLOBALS[$x] = "" . $_GET[$x];
}

foreach (array("port","downloaded","uploaded","left") as $x)
{
$GLOBALS[$x] = 0 + $_GET[$x];
}


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)



unset($x);

$info_hash = bin2hex($info_hash);

$ip = $_SERVER['REMOTE_ADDR'];

$port = 0 + $port;
$downloaded = 0 + $downloaded;
$uploaded = 0 + $uploaded;
$left = 0 + $left;

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


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

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

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

dbconn();


$user_query = mysql_query("SELECT id, uploaded, downloaded, class, enabled FROM users WHERE passkey=".sqlesc($passkey)) or err("Tracker error 2");

if ( mysql_num_rows($user_query) != 1 )

 err("Unknown passkey. Please redownload the torrent from {$TBDEV['baseurl']}.");
 
    $user = mysql_fetch_assoc($user_query);
    if( $user['enabled'] == 'no' ) err('Permission denied, you\'re not enabled');
    
    
$res = mysql_query("SELECT id, banned, seeders + leechers AS numpeers, added AS ts FROM torrents WHERE `info_hash` = " .sqlesc($info_hash));//" . hash_where("info_hash", $info_hash));

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

$torrentid = $torrent["id"];

$fields = "seeder, peer_id, ip, port, uploaded, downloaded, userid";

$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");

//////////////////// START NEW COMPACT MODE/////////////////////////////

if($_GET['compact'] != 1)

{

$resp = "d" . benc_str("interval") . "i" . $TBDEV['announce_interval'] . "e" . benc_str("peers") . "l";

}

else

{

$resp = "d" . benc_str("interval") . "i" . $TBDEV['announce_interval'] ."e" . benc_str("min interval") . "i" . 300 ."e5:"."peers" ;

}

$peer = array();

$peer_num = 0;
while ($row = mysql_fetch_assoc($res))

{

    if($_GET['compact'] != 1)

{



$row["peer_id"] = str_pad($row["peer_id"], 20);



if ($row["peer_id"] === $peer_id)

{

 $self = $row;

 continue;

}



$resp .= "d" .

 benc_str("ip") . benc_str($row["ip"]);

       if (!$_GET['no_peer_id']) {

  $resp .= benc_str("peer id") . benc_str($row["peer_id"]);

 }

 $resp .= benc_str("port") . "i" . $row["port"] . "e" .

 "e";

      }

      else

      {

         $peer_ip = explode('.', $row["ip"]);

$peer_ip = pack("C*", $peer_ip[0], $peer_ip[1], $peer_ip[2], $peer_ip[3]);

$peer_port = pack("n*", (int)$row["port"]);

$time = intval((time() % 7680) / 60);

if($_GET['left'] == 0)

{

$time += 128;

}

$time = pack("C", $time);



   $peer[] = $time . $peer_ip . $peer_port;

$peer_num++;


      }

}



if ($_GET['compact']!=1)

$resp .= "ee";

else

{
$o = "";
for($i=0;$i<$peer_num;$i++)

 {

  $o .= substr($peer[$i], 1, 6);

 }

$resp .= strlen($o) . ':' . $o . 'e';

}

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

///////////////////////////// END NEW COMPACT MODE////////////////////////////////
    $check_it = mysql_query("SELECT * FROM `HNR` WHERE `userid` = '" .$user['id']. "' AND `torrentid` = '" .$torrentid. "'");
    $get_torrent = mysql_fetch_assoc(mysql_query("SELECT * FROM `torrents` WHERE `id` = '" .$torrentid. "' AND `owner` != '" .$user['id']. "'"));
    $get_torrent2 = mysql_fetch_assoc(mysql_query("SELECT * FROM `torrents` WHERE `id` = '" .$torrentid. "'"));
    $get_per = mysql_fetch_assoc($check_it);


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] >= 1 && $seeder == 'no') err("Connection limit exceeded! You may only leech from one location at a time.");

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


    if ($left > 0 && $user['class'] < UC_VIP && $TBDEV['user_ratios'])
    {
        $gigs = $user["uploaded"] / (1024*1024*1024);
        $elapsed = floor((time() - $torrent["ts"]) / 3600);
        $ratio = (($user["downloaded"] > 0) ? ($user["uploaded"] / $user["downloaded"]) : 1);
        if ($ratio < 0.5 || $gigs < 5) $wait = 48;
        elseif ($ratio < 0.65 || $gigs < 6.5) $wait = 24;
        elseif ($ratio < 0.8 || $gigs < 8) $wait = 12;
        elseif ($ratio < 0.95 || $gigs < 9.5) $wait = 6;
        else $wait = 0;
        if ($elapsed < $wait)
                err("Not authorized (" . ($wait - $elapsed) . "h) - READ THE FAQ!");
    }
}
else
{
    $upthis = max(0, $uploaded - $self["uploaded"]);
    $downthis = max(0, $downloaded - $self["downloaded"]);

    if ($upthis > 0 || $downthis > 0) {
        $settings = mysql_fetch_assoc(mysql_query("SELECT * FROM `settings`"));
        if($settings['freeleech'] == "no") {
            if($get_torrent2['isdouble'] == 0 && $settings['freeleech'] == "no") {
                mysql_query("UPDATE users SET uploaded = uploaded + $upthis, downloaded = downloaded + $downthis WHERE id=".$user['id']) or err("Tracker error 3");
            } elseif($get_torrent2['isdouble'] == 1) {
                $upthisnew = $upthis*2;
                mysql_query("UPDATE users SET uploaded = uploaded + $upthisnew, downloaded = downloaded + $downthis WHERE id=".$user['id']) or err("Tracker error 3");
            } elseif($get_torrent2['isdouble'] == 2) {
                mysql_query("UPDATE users SET uploaded = uploaded + $upthis WHERE id=".$user['id']) or err("Tracker error 3");
            } else {
                $upthisnew = $upthis*2;
                mysql_query("UPDATE users SET uploaded = uploaded + $upthisnew WHERE id=".$user['id']) or err("Tracker error 3");
            }
        } else {
            if($get_torrent2['isdouble'] == 0) {
                mysql_query("UPDATE users SET uploaded = uploaded + $upthis WHERE id=".$user['id']) or err("Tracker error 3");
            } elseif($get_torrent2['isdouble'] == 1) {
                $upthisnew = $upthis*2;
                mysql_query("UPDATE users SET uploaded = uploaded + $upthisnew WHERE id=".$user['id']) or err("Tracker error 3");
            } elseif($get_torrent2['isdouble'] == 2) {
                mysql_query("UPDATE users SET uploaded = uploaded + $upthis WHERE id=".$user['id']) or err("Tracker error 3");
            } else {
                $upthisnew = $upthis*2;
                mysql_query("UPDATE users SET uploaded = uploaded + $upthisnew WHERE id=".$user['id']) or err("Tracker error 3");
            }
        }
    }
    if(mysql_num_rows($check_it) == TRUE) {
            $shared = time()-$get_per["started"]+$get_per["shared"];
            $upit = $upit+$get_per["uploaded"];
            mysql_query("UPDATE `HNR` SET `downloaded` = '" .$downthis. "', `uploaded` = '" .$upit. "',`shared` = '" .$shared. "' WHERE `userid` = '" .$user['id']. "' AND `torrentid` = '" .$torrentid. "' AND `active` = '0'");
            mysql_query("UPDATE `HNR` SET `started` = '" .time(). "' WHERE `userid` = '" .$user['id']. "' AND `torrentid` = '" .$torrentid. "' AND `active` = '0'");
        }
            
}

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

$updateset = array();

if ($event == "stopped")
{
    if (isset($self))
    {
        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")
        $updateset[] = "times_completed = times_completed + 1";

    if (isset($self))
    {
        mysql_query("UPDATE peers SET uploaded = $uploaded, downloaded = $downloaded, to_go = $left, last_action = ".time().", seeder = '$seeder'"
            . ($seeder == "yes" && $self["seeder"] != $seeder ? ", finishedat = " . time() : "") . " WHERE $selfwhere");
    
        if(mysql_num_rows($check_it) != TRUE) {
            if((100*$downloaded)/$get_torrent['size'] >= 10) {
                if($user["class"] < UC_EXSTAFF) {
                    mysql_query("INSERT INTO `HNR` (`torrentid`,`downloaded`,`uploaded`,`started`,`shared`,`userid`,`active`,`realstarted`) VALUES ('" .$torrentid. "','" .$downloaded. "','" .$uploaded. "','" .time(). "','0','" .$user['id']. "','0','" .time(). "')");
                }
            }
        }
    
        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 ($event != "started")
            err("Peer not found. ".$passkey." Restart the torrent.");

        if (portblacklisted($port))
        {
            err("Port $port is blacklisted.");
        }
        elseif ( $TBDEV['connectable_check'] )
        {
            $sockres = @fsockopen($ip, $port, $errno, $errstr, 5);
            if (!$sockres)
                $connectable = "no";
            else
            {
                $connectable = "yes";
                @fclose($sockres);
            }
        }
        else
        {
      $connectable = 'yes';
        }

        $ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, agent, passkey) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, ".time().", ".time().", '$seeder', '" .$user['id']. "', " . sqlesc($agent) . "," . 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 = ".time();
}

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

benc_resp_raw($resp);



?>
(I deleted the sql details from the quote)
And yes, the config.php is fine in my previous vps all worked.

Last edited by joeroberts; 11th October 2013 at 13:16.
Reply With Quote
  #6  
Old 11th October 2013, 12:47
firefly007's Avatar
firefly007 firefly007 is offline
SUPPORT GURU
 
Join Date: Jun 2010
P2P
Posts: 721
Default
Try to null this and see what happeneds

PHP Code:
$agent $_SERVER["HTTP_USER_AGENT"];

// Deny access made with a browser...
if (
    
ereg("^Mozilla\\/"$agent) || 
    
ereg("^Opera\\/"$agent) || 
    
ereg("^Links "$agent) || 
    
ereg("^Lynx\\/"$agent) || 
    isset(
$_SERVER['HTTP_COOKIE']) || 
    isset(
$_SERVER['HTTP_ACCEPT_LANGUAGE']) || 
    isset(
$_SERVER['HTTP_ACCEPT_CHARSET'])
    )
    
err("torrent not registered with this tracker CODE 1"); 
__________________




Please Support Majority Report


You can contact me on Skype live:phesadent.elect but please let me know first.


If you are ever need me desperately then please email me at dan.oak44@gmail.com and I will contact u within a week.


Due to free time I'm able to help interested member's with their tracker.

Please Note!
Depending on your requests I will charge you for my assistance for Tracker installs and mods.
All my mods are custom and prices will very depending on the request.
I'm able to install any tracker and mods including themes.

Please PM me

Reply With Quote
  #7  
Old 11th October 2013, 13:56
Dote Dote is offline
Senior Member
 
Join Date: Jul 2013
P2P
Posts: 17
Default
Quote:
Originally Posted by firefly007 View Post
Try to null this and see what happeneds

PHP Code:
$agent $_SERVER["HTTP_USER_AGENT"];

// Deny access made with a browser...
if (
    
ereg("^Mozilla\\/"$agent) || 
    
ereg("^Opera\\/"$agent) || 
    
ereg("^Links "$agent) || 
    
ereg("^Lynx\\/"$agent) || 
    isset(
$_SERVER['HTTP_COOKIE']) || 
    isset(
$_SERVER['HTTP_ACCEPT_LANGUAGE']) || 
    isset(
$_SERVER['HTTP_ACCEPT_CHARSET'])
    )
    
err("torrent not registered with this tracker CODE 1"); 
The error that I get is: "Failure reason: torrent not registered with this tracker CODE 2" and not CODE 1.
I should try to do it anyway?
Reply With Quote
  #8  
Old 11th October 2013, 14:05
DND DND is offline
VIP
 
Join Date: Dec 2008
Posts: 1,241
Default
your problem is here

Code:
$torrent = mysql_fetch_assoc($res);
if (!$torrent)
	err("torrent not registered with this tracker CODE 2");
and the query above this block
Reply With Quote
  #9  
Old 11th October 2013, 14:08
firefly007's Avatar
firefly007 firefly007 is offline
SUPPORT GURU
 
Join Date: Jun 2010
P2P
Posts: 721
Default
No! I mis read it ...

Is the torrent been saved to the torrent table?


PHP Code:

$res 
mysql_query("SELECT id, banned, seeders + leechers AS numpeers, added AS ts FROM torrents WHERE `info_hash` = " .sqlesc($info_hash));//" . hash_where("info_hash", $info_hash));

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




Please Support Majority Report


You can contact me on Skype live:phesadent.elect but please let me know first.


If you are ever need me desperately then please email me at dan.oak44@gmail.com and I will contact u within a week.


Due to free time I'm able to help interested member's with their tracker.

Please Note!
Depending on your requests I will charge you for my assistance for Tracker installs and mods.
All my mods are custom and prices will very depending on the request.
I'm able to install any tracker and mods including themes.

Please PM me

Reply With Quote
  #10  
Old 11th October 2013, 14:20
joeroberts's Avatar
joeroberts joeroberts is offline
BT.Manager Owner
 
Join Date: Jan 2008
United States
Posts: 2,113
Default
remove the trailing slash from
Code:
$TBDEV['baseurl'] = 'http://goldshare.me/';
also did you edit announce.php ?
__________________
Do not ask me to help you work on your site that is not phpMyBitTorrent
Do not ask me to make a mod for any other source
Do not Ask me to setup your site.
I will no longer help you setup your site, there is a setup script if you have trouble with it post in the forum here or in BT.Manager™ forum
My Current Demo is here http://demo.btmanager.org/
Reply With Quote
Reply

Tags
problems , uploading

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 16:00. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.