Exemple #1
0
function error_exit($msg = '')
{
    if (DBG_LOG) {
        dbg_log(' ', '!err-' . clean_filename($msg));
    }
    silent_exit();
    echo bencode(array('failure reason' => str_compact($msg)));
    tracker_exit();
}
Exemple #2
0
define('IN_TRACKER', true);
define('BB_ROOT', './../');
require BB_ROOT . 'common.php';
if (!$tr_cfg['scrape']) {
    msg_die('Please disable SCRAPE!');
}
// Recover info_hash
if (isset($_GET['?info_hash']) && !isset($_GET['info_hash'])) {
    $_GET['info_hash'] = $_GET['?info_hash'];
}
if (!isset($_GET['info_hash']) || strlen($_GET['info_hash']) != 20) {
    msg_die('Invalid info_hash');
}
$info_hash = $_GET['info_hash'];
function msg_die($msg)
{
    if (DBG_LOG) {
        dbg_log(' ', '!die-' . clean_filename($msg));
    }
    $output = bencode(array('min interval' => (int) 1800, 'failure reason' => (string) $msg, 'warning message' => (string) $msg));
    die($output);
}
define('TR_ROOT', './');
require TR_ROOT . 'includes/init_tr.php';
$info_hash_sql = rtrim(DB()->escape($info_hash), ' ');
$row = DB()->fetch_row("\n\t\tSELECT tor.complete_count, snap.seeders, snap.leechers\n\t\tFROM " . BB_BT_TORRENTS . " tor\n\t\tLEFT JOIN " . BB_BT_TRACKER_SNAP . " snap ON (snap.topic_id = tor.topic_id)\n\t\tWHERE tor.info_hash = '{$info_hash_sql}'\n\t\tLIMIT 1\n");
$output['files'][$info_hash] = array('complete' => (int) $row['seeders'], 'downloaded' => (int) $row['complete_count'], 'incomplete' => (int) $row['leechers']);
echo bencode($output);
tracker_exit();
exit;