Bravo List

Bravo List (http://www.bvlist.com/index.php)
-   TBDev (http://www.bvlist.com/forumdisplay.php?f=20)
-   -   I will pay 25$ for help. (http://www.bvlist.com/showthread.php?t=11173)

EdeNeT 18th July 2017 17:50

I will pay 25$ for help.
 
I will pay 25$ to the man who fix my problam,
i have "torrent is not vaild bencoding".

tbdev 2009

this is benc.php :
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$ 
+------------------------------------------------ 
*/ 

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 
bdec_file($f$ms) { 
    
$fp fopen($f"rb"); 
    if (!
$fp
        return; 
    
$e fread($fp$ms); 
    
fclose($fp); 
    return 
bdec($e); 


function 
bdec($s) { 
    if (
preg_match('/^(\d+):/'$s$m)) { 
        
$l $m[1]; 
        
$pl strlen($l) + 1
        
$v substr($s$pl$l); 
        
$ss substr($s0$pl $l); 
        if (
strlen($v) != $l
            return; 
        return array(
"type" => "string""value" => $v"strlen" => strlen($ss), "string" => $ss); 
    } 
    if (
preg_match('/^i(-{0,1}\d+)e/'$s$m)) {   
        
$v $m[1]; 
        
$ss "i" $v "e"
        if (
$v === "-0"
            return; 
        if (
$v[0] == "0" && strlen($v) != 1
            return; 
        return array(
"type" => "integer""value" => $v"strlen" => strlen($ss), "string" => $ss); 
    } 
    switch (
$s[0]) { 
        case 
"l"
            return 
bdec_list($s); 
        case 
"d"
            return 
bdec_dict($s); 
        default: 
            return; 
    } 


function 
bdec_list($s) { 
    if (
$s[0] != "l"
        return; 
    
$sl strlen($s); 
    
$i 1
    
$v = array(); 
    
$ss "l"
    for (;;) { 
        if (
$i >= $sl
            return; 
        if (
$s[$i] == "e"
            break; 
        
$ret bdec(substr($s$i)); 
        if (!isset(
$ret) || !is_array($ret)) 
            return; 
        
$v[] = $ret
        
$i += $ret["strlen"]; 
        
$ss .= $ret["string"]; 
    } 
    
$ss .= "e"
    return array(
"type" => "list""value" => $v"strlen" => strlen($ss), "string" => $ss); 


function 
bdec_dict($s) { 
    if (
$s[0] != "d"
        return; 
    
$sl strlen($s); 
    
$i 1
    
$v = array(); 
    
$ss "d"
    for (;;) { 
        if (
$i >= $sl
            return; 
        if (
$s[$i] == "e"
            break; 
        
$ret bdec(substr($s$i)); 
        if (!isset(
$ret) || !is_array($ret) || $ret["type"] != "string"
            return; 
        
$k $ret["value"]; 
        
$i += $ret["strlen"]; 
        
$ss .= $ret["string"]; 
        if (
$i >= $sl
            return; 
        
$ret bdec(substr($s$i)); 
        if (!isset(
$ret) || !is_array($ret)) 
            return; 
        
$v[$k] = $ret
        
$i += $ret["strlen"]; 
        
$ss .= $ret["string"]; 
    } 
    
$ss .= "e"
    return array(
"type" => "dictionary""value" => $v"strlen" => strlen($ss), "string" => $ss); 


?>

it is appear when im uploading a torrent with utorrent 3.X+

LeeHowarth 18th July 2017 20:13

Do not trust this guy he his a scammer, he will get you to work and will have no intention in paying.

Code:


try
{
    $iterator = new RecursiveDirectoryIterator( '.' );
    $iterator = new RecursiveIteratorIterator( $iterator );
    $updates  = 0;
    foreach ( $iterator as $item )
    {
        $filepath  = $item->getPathName();
        $extension = pathinfo( $filepath, PATHINFO_EXTENSION );
        if ( 0 === strcmp( $extension, 'php' ) )
        {
            $contents = file_get_contents( $filepath );
            if ( $contents === false )
            {
                  continue;
            }
   
            if ( 0 === strpos( $contents, "\xEF\xBB\xBF" ) )
            {
                  $contents = str_replace( "\xEF\xBB\xBF", null, $contents );
                  $found = 1;
            }
            else
            {
                  $found = 0;
            }

            if ( $found === 1 )
            {
                  file_put_contents( $filepath, $contents );
                  $updates++;
            }
        }
    }

    print( "Updated $updates files.\n" );
}
catch ( Exception $e )
{
    printf( "An error occurred: %s\n", $e->getMessage() );
}

will fix the problem if others encounter this issue, it's due to using an editor such as notepad which embeds the UTF-8 byte order mark.

DND 18th July 2017 20:41

the problem is at the preg_match variable :coffee:

Extremlym 18th July 2017 21:38

new benc
 
Code:

//// https://extremlymtorrents.ws
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 hash_where_arr($name, $hash_arr) {
        $new_hash_arr = Array();
        foreach ($hash_arr as $hash) {
                $new_hash_arr[] = sqlesc((urldecode($hash)));
        }
        return $name." IN ( ".implode(", ",$new_hash_arr)." )";
}

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 bdec_file($f, $ms) {
    $fp = fopen($f, "rb");
    if (!$fp)
        return;
    $e = fread($fp, $ms);
    fclose($fp);
    return bdec($e);
}

function bdec($s) {
    if (preg_match('/^(\d+):/', $s, $m)) {
        $l = $m[1];
        $pl = strlen($l) + 1;
        $v = substr($s, $pl, $l);
        $ss = substr($s, 0, $pl + $l);
        if (strlen($v) != $l)
            return;
        return array(type => "string", value => $v, strlen => strlen($ss), string => $ss);
    }
    if (preg_match('/^i(-{0,1}\d+)e/', $s, $m)) {
        $v = $m[1];
        $ss = "i" . $v . "e";
        if ($v === "-0")
            return;
        if ($v[0] == "0" && strlen($v) != 1)
            return;
        return array(type => "integer", value => $v, strlen => strlen($ss), string => $ss);
    }
    switch ($s[0]) {
        case "l":
            return bdec_list($s);
        case "d":
            return bdec_dict($s);
        default:
            return;
    }
}

function bdec_list($s) {
    if ($s[0] != "l")
        return;
    $sl = strlen($s);
    $i = 1;
    $v = array();
    $ss = "l";
    for (;;) {
        if ($i >= $sl)
            return;
        if ($s[$i] == "e")
            break;
        $ret = bdec(substr($s, $i));
        if (!isset($ret) || !is_array($ret))
            return;
        $v[] = $ret;
        $i += $ret["strlen"];
        $ss .= $ret["string"];
    }
    $ss .= "e";
    return array(type => "list", value => $v, strlen => strlen($ss), string => $ss);
}

function bdec_dict($s) {
    if ($s[0] != "d")
        return;
    $sl = strlen($s);
    $i = 1;
    $v = array();
    $ss = "d";
    for (;;) {
        if ($i >= $sl)
            return;
        if ($s[$i] == "e")
            break;
        $ret = bdec(substr($s, $i));
        if (!isset($ret) || !is_array($ret) || $ret["type"] != "string")
            return;
        $k = $ret["value"];
        $i += $ret["strlen"];
        $ss .= $ret["string"];
        if ($i >= $sl)
            return;
        $ret = bdec(substr($s, $i));
        if (!isset($ret) || !is_array($ret))
            return;
        $v[$k] = $ret;
        $i += $ret["strlen"];
        $ss .= $ret["string"];
    }
    $ss .= "e";
    return array(type => "dictionary", value => $v, strlen => strlen($ss), string => $ss);
}

?>


order 24th July 2017 20:51

That new its tbev lol bans


All times are GMT +2. The time now is 15:28.

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