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(); }
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;