
26th November 2013, 18:39
|
 |
Member
|
|
Join Date: Jan 2010
Posts: 12
|
|
Mega Scrape
PHP Code:
<?php // Mega Scrape // Version 2.x // Authors: FLASH & TorrentialStorm // Last Updated: 06/Jan/2011 @ 04:49 by TorrentialStorm
require_once("backend/functions.php"); require_once("backend/BDecode.php"); require_once("backend/parse.php"); dbconn(false);
set_time_limit(0);
$interval = 100; // Rescrape torrents every x seconds. (Default: 2 days)
$ts = gmtime() - $interval; $res = mysql_query("SELECT id, info_hash FROM torrents WHERE external = 'yes' AND last_action <= FROM_UNIXTIME($ts) ORDER BY last_action DESC LIMIT 3"); $count = get_row_count("torrents", "WHERE external = 'yes' AND last_action <= FROM_UNIXTIME($ts)");
while ($row = mysql_fetch_array($res)) { echo "<B>ID: $row[id]</B><BR>"; $tres = mysql_query("SELECT `url` FROM `announce` WHERE `torrent` = $row[id]"); $annlist = array(); while ($trow = mysql_fetch_array($tres)) { $annlist[] = $trow["url"]; } $seeders = $leechers = $downloaded = null; echo "Info_Hash: $row[info_hash]<BR>"; foreach ($annlist as $ann) { $tracker = explode("/", $ann); $path = array_pop($tracker); $oldpath = $path; $path = preg_replace("/^announce/", "scrape", $path); $tracker = implode("/", $tracker)."/".$path; if ($oldpath == $path) { echo "<BR><B>$ann</B>: Scrape not supported.<BR>"; continue; }
$stats = torrent_scrape_url($tracker, $row["info_hash"]); if ($stats['seeds'] != -1) { $seeders += $stats['seeds']; $leechers += $stats['peers']; $downloaded += $stats['downloaded']; echo "<BR><B>$ann</B><BR>"; echo "Seeders: $stats[seeds]<BR>"; echo "Leechers: $stats[peers]<BR>"; echo "Downloaded: $stats[downloaded]<BR>"; mysql_query("UPDATE `announce` SET `online` = 'yes', `seeders` = $stats[seeds], `leechers` = $stats[peers], `times_completed` = $stats[downloaded] WHERE `url` = ".sqlesc($ann)." AND `torrent` = $row[id]"); } else { echo "<BR><B>$ann</B>: Tracker timeout.<BR>"; mysql_query("UPDATE `announce` SET `online` = 'no' WHERE `url` = ".sqlesc($ann)." AND `torrent` = $row[id]"); } }
if ($seeders !== null){ echo "<BR><B>Totals:</B><BR>"; echo "Seeders: $seeders<BR>"; echo"Leechers: $leechers<BR>"; echo "Completed: $downloaded<BR><BR>";
mysql_query("UPDATE torrents SET leechers='".$leechers."', seeders='".$seeders."',times_completed='".$downloaded."',last_action= '".get_date_time()."',visible='yes' WHERE id='".$row['id']."'"); }else{ echo "All trackers timed out.<BR>"; mysql_query("UPDATE torrents SET last_action= '".get_date_time()."' WHERE id='".$row['id']."'"); } } ?>
<script language="JavaScript">
//Refresh page script- By Brett Taylor ([email protected]) //Modified by Dynamic Drive for NS4, NS6+ //Visit http://www.dynamicdrive.com for this script
//configure refresh interval (in seconds) <? if ($count) echo "var countDownInterval=6;"; else echo "var countDownInterval=900;"; // No torrents to scrape, refresh in 15mins ?> //configure width of displayed text, in px (applicable only in NS4) var c_reloadwidth=200
</script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2" width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1; function countDown(){ countDownTime--; if (countDownTime <=0){ countDownTime=countDownInterval; clearTimeout(counter) window.location.reload() return } if (document.all) //if IE 4+ document.all.countDownText.innerText = countDownTime+" "; else if (document.getElementById) //else if NS6+ document.getElementById("countDownText").innerHTML=countDownTime+" " else if (document.layers){ //CHANGE TEXT BELOW TO YOUR OWN document.c_reload.document.c_reload2.document.write('Next <a href="javascript:window.location.reload()">refresh</a> in <b id="countDownText">'+countDownTime+' </b> seconds') document.c_reload.document.c_reload2.document.close() } counter=setTimeout("countDown()", 1000); }
function startit(){ if (document.all||document.getElementById) //CHANGE TEXT BELOW TO YOUR OWN document.write('Next <a href="javascript:window.location.reload()">refresh</a> in <b id="countDownText">'+countDownTime+' </b> seconds') countDown() }
if (document.all||document.getElementById) startit() else window.onload=startit
</script>
|