Нарыл мод на TDBEV
Grabber Торрентов суть мода токова
Описание: Grabber торрентов - скрипт, который в автоматическом режиме, скачивает мультитрекерные торренты с других ресурсов и загружает на ваш.
Работает по следующему принципу, собирает ID торрентов в файл. Потом считывает их, скачивает торрент-файлы, и описание, перерабатывает под мультитрекер.
Доп.Инфа http://bit-torrent.kiev.ua/grabber_orre ... 5%EA%E5%F0
Может кто нароет исходни !
Grabber Торрентов
Сообщение
tsteal.php
Вот что - то в нети видел.) ну незнаю точно ето оно или нет..) я Так понимаю под даний движок даново мода пока нету ?
Grabber Торрентов
tsteal.php
Код: Выделить всё
<?
//ASTEA-S VARIABILILE
$passkey="109a0a4981bc4294c48a8775d14dbbc3";
$url = "http://announce.torrentsmd.com:443/announce.php/";
$rss = "http://torrentsmd.com/rss.xml";
$tdl = "http://www.torrentsmd.com/torrents/";
$verbose = true;
if (isset($_GET['verbose'])) $verbose = true;
########################################################################################################################
########################################################################################################################
//aici incepe codul
include("include/bittorrent.php");
include("include/benc.php");
function torrent_exists($id){
$x = false;
$f = @mysql_fetch_array(@mysql_query("SELECT * FROM torrents WHERE id='".$id."';"));
if ($f && $f != null)
$x = true;
$f = @mysql_fetch_array(@mysql_query("SELECT * FROM torrents WHERE id='".$id."';"));
if ($f && $f != null)
$x = true;
return $x;
}
function utf8_win($s){
$s=str_replace("xD0xB0","Б",$s); $s=str_replace("xD0x90","б",$s);
$s=str_replace("xD0xB1","В",$s); $s=str_replace("xD0x91","в",$s);
$s=str_replace("xD0xB2","Ч",$s); $s=str_replace("xD0x92","ч",$s);
$s=str_replace("xD0xB3","З",$s); $s=str_replace("xD0x93","з",$s);
$s=str_replace("xD0xB4","Д",$s); $s=str_replace("xD0x94","д",$s);
$s=str_replace("xD0xB5","Е",$s); $s=str_replace("xD0x95","е",$s);
$s=str_replace("xD1x91","Ј",$s); $s=str_replace("xD0x81","і",$s);
$s=str_replace("xD0xB6","Ц",$s); $s=str_replace("xD0x96","ц",$s);
$s=str_replace("xD0xB7","Ъ",$s); $s=str_replace("xD0x97","ъ",$s);
$s=str_replace("xD0xB8","Й",$s); $s=str_replace("xD0x98","й",$s);
$s=str_replace("xD0xB9","К",$s); $s=str_replace("xD0x99","к",$s);
$s=str_replace("xD0xBA","Л",$s); $s=str_replace("xD0x9A","л",$s);
$s=str_replace("xD0xBB","М",$s); $s=str_replace("xD0x9B","м",$s);
$s=str_replace("xD0xBC","Н",$s); $s=str_replace("xD0x9C","н",$s);
$s=str_replace("xD0xBD","О",$s); $s=str_replace("xD0x9D","о",$s);
$s=str_replace("xD0xBE","П",$s); $s=str_replace("xD0x9E","п",$s);
$s=str_replace("xD0xBF","Р",$s); $s=str_replace("xD0x9F","р",$s);
$s=str_replace("xD1x80","Т",$s); $s=str_replace("xD0xA0","т",$s);
$s=str_replace("xD1x81","У",$s); $s=str_replace("xD0xA1","у",$s);
$s=str_replace("xD1x82","Ф",$s); $s=str_replace("xD0xA2","ф",$s);
$s=str_replace("xD1x83","Х",$s); $s=str_replace("xD0xA3","х",$s);
$s=str_replace("xD1x84","Ж",$s); $s=str_replace("xD0xA4","ж",$s);
$s=str_replace("xD1x85","И",$s); $s=str_replace("xD0xA5","и",$s);
$s=str_replace("xD1x86","Г",$s); $s=str_replace("xD0xA6","г",$s);
$s=str_replace("xD1x87","Ю",$s); $s=str_replace("xD0xA7","ю",$s);
$s=str_replace("xD1x88","Ы",$s); $s=str_replace("xD0xA8","ы",$s);
$s=str_replace("xD1x89","Э",$s); $s=str_replace("xD0xA9","э",$s);
$s=str_replace("xD1x8A","Я",$s); $s=str_replace("xD0xAA","я",$s);
$s=str_replace("xD1x8B","Щ",$s); $s=str_replace("xD0xAB","щ",$s);
$s=str_replace("xD1x8C","Ш",$s); $s=str_replace("xD0xAC","ш",$s);
$s=str_replace("xD1x8D","Ь",$s); $s=str_replace("xD0xAD","ь",$s);
$s=str_replace("xD1x8E","А",$s); $s=str_replace("xD0xAE","а",$s);
$s=str_replace("xD1x8F","С",$s); $s=str_replace("xD0xAF","с",$s);
return $s;
}
if ($verbose) {print "Downloading RSS...\n"; ob_flush();flush();}
$rss = @fopen($rss,"r") or die("Error downloading RSS.");
$xml = null;
while (!feof($rss)){
$xml .= fgets($rss,4096);
}
fclose($rss);
if ($verbose) {print "Finished downloading RSS...\n"; print "\nParsing RSS...\n"; ob_flush();flush();}
$xml = strstr($xml,"<item>");
$items = str_replace("<item>","",split("</item>\n<item>",$xml));
//$items = array($items[0]);
foreach($items as $torrent){
$torrent=str_replace("\n","",$torrent);
preg_match("/<category>(.*?)<\/category>/i",$torrent,$c);
$x['category'] = $c[1];
preg_match("/<title>(.*?)<\/title>/i",$torrent,$t);
$x['title'] = str_replace("(".$x['category'].")","",$t[1]);
preg_match("/<description>(.*?)<\/description>/i",$torrent,$d);
$x['description'] = $d[1];
preg_match("/<enclosure url=(.*?) type=torrent/>/i",$torrent,$d1);
$x['enclosure'] = $d1[1];
preg_match("/<image><link>(.*?)<\/link><\/image>/i",$torrent,$i);
$x['image'] = $i[1];
preg_match("/<link>(.*?)<\/link>/i",$torrent,$tmp);
preg_match("/id=(.*?)&/i",$tmp[1],$i);
$x['id'] = $i[1];
preg_match("/download.php\/".$x['id']."\/(.*?)\"/i",$torrent,$f);
$x['fname'] = $f[1];
$x = str_replace("<","<",$x);
$x = str_replace(">",">",$x);
if ($verbose) {print "\nFound Torrent #".$x['id']."...\n"; ob_flush();flush();}
if (!torrent_exists($x['id'])){
//aici scot peerurile
$turl = $tdl.$x['id'].".torrent";
$re = null;
$tbody = null;
if ($verbose) {print "Downloading .torrent file...\n"; ob_flush();flush();}
$tfile = @fopen($turl,"r");
if ($tfile)
while (!feof($tfile))
$tbody .= fgets($tfile,1024);
else
continue;
if ($verbose) {print "Finished downloading torrent...\n"; ob_flush();flush();}
$torrent = bdec($tbody);
if ($verbose) {print "Getting hash_info...\n"; ob_flush();flush();}
$hash = pack("H*", sha1($torrent['value']['info']['string']));
$file = @fopen(str_replace("\n","",$url.$passkey."?info_hash=".urlencode($hash)."&peer_id=exbc%009%E0%F9P%CAv%A9%A5%23w%5C%E7%C6%D2%F6&port=17368&uploaded=0&downloaded=0&left=0&numwant=200&compact=1&no_peer_id=1&key=21436&event=stopped"),"r");
if ($verbose) {print "Getting peers info for torrent #".$x['id']."...\n"; ob_flush();flush();}
if($file)
while(!feof($file))
$re .= fgets($file,1024);
fclose($file);
$peers = bdec($re);
$peers = $peers['value']['peers'];
foreach($peers['value'] as $peer){
$y['ip'] = $peer['value']['ip']['value'];
$y['port'] = $peer['value']['port']['value'];
$y['peer id'] = $peer['value']['peer id']['value'];
$tp[] = $y;
}
$x['peers'] = $tp;
if ($verbose) {print "Found ".count($tp)." peers for torrent #".$x['id']."...\n"; print "Downloading image (if any)...\n"; ob_flush();flush();}
if (strlen($x['image'])>5){
$pixels = null;
$img = @fopen($x['image'],"r");
if ($img)
while (!feof($img))
$pixels .= fgets($img,4096);
$x['image'] = base64_encode($pixels);
}
//adaug in array
if ($verbose) {print "Updating torrents array...\n"; ob_flush();flush();}
$torrents[]=array(
'title'=>$x['title'],
'category'=>$x['category'],
'description'=>$x['description'],
'image'=>$x['image'],
'link'=>"http://www.torrentsmd.com/torrents/".$x['id'].".torrent",
'fname'=>$x['fname'],
'peers'=>$x['peers'],
'info_hash'=>$hash,
'torrents_id'=>$x['id'],
'enclosure'=>$x['enclosure'],
);
} else {
if ($verbose) {print "Torrent exists...\n"; ob_flush();flush();}
}
if ($verbose) {print "\nSkipping to next torrent...\n"; ob_flush();flush();}
}
if ($verbose) {print "\nFinished getting data!!!\n\n"; ob_flush();flush();}
if ($torrents)
foreach ($torrents as $torrent){
$torrent = str_replace("\n","",$torrent);
$hash = unpack("H*",$torrent['info_hash']);
$hash = $hash[1];
$sql = "INSERT INTO torrents values(null,'".utf8_win($torrent['title'])."','".$torrent['fname']."','".utf8_win($torrent['description'])."','".$torrent['image']."','".$torrent['link']."','".base64_encode(serialize($torrent['peers']))."','".$hash."','".$torrent['category']."','".$torrent['id']."');";
if ($verbose) {print "Adding ".$torrent['title']." to database...\n"; ob_flush();flush();}
mysql_query($sql) or die(mysql_error()."->\n".$sql);
}
if ($verbose) {print "\nAll jobs finished!...\n"; ob_flush();flush();}
print("$x[category] $x[description] http://www.torrentsmd.com/torrents/$x[id].torrent $x[peers] $x[title] $x[image] $x[enclosure]");
?>
-
lo
Сообщение
Grabber Торрентов
Блин класная идея, где бы достать такой грабер для ppkbb3cker Как я понял в настройках грабера прописываеться адрес трекера и разделы с которого будут грабиться раздачи, и грабиться они будут в определенный раздел твоего трекера, после чего тебе надо будет раскидывать все по соответсвующим разделам своего трекера или как? И еще, картинки с релизов (постеры и скриншоты) грабяться и сохраняються у тебя на сервере или остаються ссылки на те трекеры от куда грабили релиз?
Последний раз редактировалось loganxfi 08 июн 2010, 06:00, всего редактировалось 1 раз.
-
ru
- Откуда: USSR
- Поблагодарили: 4 раза
-
lo
Сообщение
Grabber Торрентов
А что будет в августе? Мего обновление,новая версия трекера?ru3qx писал(а):потерпите до августа
Сообщение
Grabber Торрентов
в авгесте планируетса зделать даний мод или нет ?ru3qx писал(а):потерпите до августа
-
ru
- Откуда: USSR
- Поблагодарили: 4 раза
Сообщение
Grabber Торрентов
вопросы к автору проэкта.levik писал(а):в авгесте планируетса зделать даний мод или нет ?ru3qx писал(а):потерпите до августа
-
Tr
Сообщение
Это от ко-кого движка ?
Grabber Торрентов
levik писал(а):Вот что - то в нети видел.) ну незнаю точно ето оно или нет..) я Так понимаю под даний движок даново мода пока нету ?
tsteal.phpКод: Выделить всё
<? //ASTEA-S VARIABILILE $passkey="109a0a4981bc4294c48a8775d14dbbc3"; $url = "http://announce.torrentsmd.com:443/announce.php/"; $rss = "http://torrentsmd.com/rss.xml"; $tdl = "http://www.torrentsmd.com/torrents/"; $verbose = true; if (isset($_GET['verbose'])) $verbose = true; ######################################################################################################################## ######################################################################################################################## //aici incepe codul include("include/bittorrent.php"); include("include/benc.php"); function torrent_exists($id){ $x = false; $f = @mysql_fetch_array(@mysql_query("SELECT * FROM torrents WHERE id='".$id."';")); if ($f && $f != null) $x = true; $f = @mysql_fetch_array(@mysql_query("SELECT * FROM torrents WHERE id='".$id."';")); if ($f && $f != null) $x = true; return $x; } function utf8_win($s){ $s=str_replace("xD0xB0","Б",$s); $s=str_replace("xD0x90","б",$s); $s=str_replace("xD0xB1","В",$s); $s=str_replace("xD0x91","в",$s); $s=str_replace("xD0xB2","Ч",$s); $s=str_replace("xD0x92","ч",$s); $s=str_replace("xD0xB3","З",$s); $s=str_replace("xD0x93","з",$s); $s=str_replace("xD0xB4","Д",$s); $s=str_replace("xD0x94","д",$s); $s=str_replace("xD0xB5","Е",$s); $s=str_replace("xD0x95","е",$s); $s=str_replace("xD1x91","Ј",$s); $s=str_replace("xD0x81","і",$s); $s=str_replace("xD0xB6","Ц",$s); $s=str_replace("xD0x96","ц",$s); $s=str_replace("xD0xB7","Ъ",$s); $s=str_replace("xD0x97","ъ",$s); $s=str_replace("xD0xB8","Й",$s); $s=str_replace("xD0x98","й",$s); $s=str_replace("xD0xB9","К",$s); $s=str_replace("xD0x99","к",$s); $s=str_replace("xD0xBA","Л",$s); $s=str_replace("xD0x9A","л",$s); $s=str_replace("xD0xBB","М",$s); $s=str_replace("xD0x9B","м",$s); $s=str_replace("xD0xBC","Н",$s); $s=str_replace("xD0x9C","н",$s); $s=str_replace("xD0xBD","О",$s); $s=str_replace("xD0x9D","о",$s); $s=str_replace("xD0xBE","П",$s); $s=str_replace("xD0x9E","п",$s); $s=str_replace("xD0xBF","Р",$s); $s=str_replace("xD0x9F","р",$s); $s=str_replace("xD1x80","Т",$s); $s=str_replace("xD0xA0","т",$s); $s=str_replace("xD1x81","У",$s); $s=str_replace("xD0xA1","у",$s); $s=str_replace("xD1x82","Ф",$s); $s=str_replace("xD0xA2","ф",$s); $s=str_replace("xD1x83","Х",$s); $s=str_replace("xD0xA3","х",$s); $s=str_replace("xD1x84","Ж",$s); $s=str_replace("xD0xA4","ж",$s); $s=str_replace("xD1x85","И",$s); $s=str_replace("xD0xA5","и",$s); $s=str_replace("xD1x86","Г",$s); $s=str_replace("xD0xA6","г",$s); $s=str_replace("xD1x87","Ю",$s); $s=str_replace("xD0xA7","ю",$s); $s=str_replace("xD1x88","Ы",$s); $s=str_replace("xD0xA8","ы",$s); $s=str_replace("xD1x89","Э",$s); $s=str_replace("xD0xA9","э",$s); $s=str_replace("xD1x8A","Я",$s); $s=str_replace("xD0xAA","я",$s); $s=str_replace("xD1x8B","Щ",$s); $s=str_replace("xD0xAB","щ",$s); $s=str_replace("xD1x8C","Ш",$s); $s=str_replace("xD0xAC","ш",$s); $s=str_replace("xD1x8D","Ь",$s); $s=str_replace("xD0xAD","ь",$s); $s=str_replace("xD1x8E","А",$s); $s=str_replace("xD0xAE","а",$s); $s=str_replace("xD1x8F","С",$s); $s=str_replace("xD0xAF","с",$s); return $s; } if ($verbose) {print "Downloading RSS...\n"; ob_flush();flush();} $rss = @fopen($rss,"r") or die("Error downloading RSS."); $xml = null; while (!feof($rss)){ $xml .= fgets($rss,4096); } fclose($rss); if ($verbose) {print "Finished downloading RSS...\n"; print "\nParsing RSS...\n"; ob_flush();flush();} $xml = strstr($xml,"<item>"); $items = str_replace("<item>","",split("</item>\n<item>",$xml)); //$items = array($items[0]); foreach($items as $torrent){ $torrent=str_replace("\n","",$torrent); preg_match("/<category>(.*?)<\/category>/i",$torrent,$c); $x['category'] = $c[1]; preg_match("/<title>(.*?)<\/title>/i",$torrent,$t); $x['title'] = str_replace("(".$x['category'].")","",$t[1]); preg_match("/<description>(.*?)<\/description>/i",$torrent,$d); $x['description'] = $d[1]; preg_match("/<enclosure url=(.*?) type=torrent/>/i",$torrent,$d1); $x['enclosure'] = $d1[1]; preg_match("/<image><link>(.*?)<\/link><\/image>/i",$torrent,$i); $x['image'] = $i[1]; preg_match("/<link>(.*?)<\/link>/i",$torrent,$tmp); preg_match("/id=(.*?)&/i",$tmp[1],$i); $x['id'] = $i[1]; preg_match("/download.php\/".$x['id']."\/(.*?)\"/i",$torrent,$f); $x['fname'] = $f[1]; $x = str_replace("<","<",$x); $x = str_replace(">",">",$x); if ($verbose) {print "\nFound Torrent #".$x['id']."...\n"; ob_flush();flush();} if (!torrent_exists($x['id'])){ //aici scot peerurile $turl = $tdl.$x['id'].".torrent"; $re = null; $tbody = null; if ($verbose) {print "Downloading .torrent file...\n"; ob_flush();flush();} $tfile = @fopen($turl,"r"); if ($tfile) while (!feof($tfile)) $tbody .= fgets($tfile,1024); else continue; if ($verbose) {print "Finished downloading torrent...\n"; ob_flush();flush();} $torrent = bdec($tbody); if ($verbose) {print "Getting hash_info...\n"; ob_flush();flush();} $hash = pack("H*", sha1($torrent['value']['info']['string'])); $file = @fopen(str_replace("\n","",$url.$passkey."?info_hash=".urlencode($hash)."&peer_id=exbc%009%E0%F9P%CAv%A9%A5%23w%5C%E7%C6%D2%F6&port=17368&uploaded=0&downloaded=0&left=0&numwant=200&compact=1&no_peer_id=1&key=21436&event=stopped"),"r"); if ($verbose) {print "Getting peers info for torrent #".$x['id']."...\n"; ob_flush();flush();} if($file) while(!feof($file)) $re .= fgets($file,1024); fclose($file); $peers = bdec($re); $peers = $peers['value']['peers']; foreach($peers['value'] as $peer){ $y['ip'] = $peer['value']['ip']['value']; $y['port'] = $peer['value']['port']['value']; $y['peer id'] = $peer['value']['peer id']['value']; $tp[] = $y; } $x['peers'] = $tp; if ($verbose) {print "Found ".count($tp)." peers for torrent #".$x['id']."...\n"; print "Downloading image (if any)...\n"; ob_flush();flush();} if (strlen($x['image'])>5){ $pixels = null; $img = @fopen($x['image'],"r"); if ($img) while (!feof($img)) $pixels .= fgets($img,4096); $x['image'] = base64_encode($pixels); } //adaug in array if ($verbose) {print "Updating torrents array...\n"; ob_flush();flush();} $torrents[]=array( 'title'=>$x['title'], 'category'=>$x['category'], 'description'=>$x['description'], 'image'=>$x['image'], 'link'=>"http://www.torrentsmd.com/torrents/".$x['id'].".torrent", 'fname'=>$x['fname'], 'peers'=>$x['peers'], 'info_hash'=>$hash, 'torrents_id'=>$x['id'], 'enclosure'=>$x['enclosure'], ); } else { if ($verbose) {print "Torrent exists...\n"; ob_flush();flush();} } if ($verbose) {print "\nSkipping to next torrent...\n"; ob_flush();flush();} } if ($verbose) {print "\nFinished getting data!!!\n\n"; ob_flush();flush();} if ($torrents) foreach ($torrents as $torrent){ $torrent = str_replace("\n","",$torrent); $hash = unpack("H*",$torrent['info_hash']); $hash = $hash[1]; $sql = "INSERT INTO torrents values(null,'".utf8_win($torrent['title'])."','".$torrent['fname']."','".utf8_win($torrent['description'])."','".$torrent['image']."','".$torrent['link']."','".base64_encode(serialize($torrent['peers']))."','".$hash."','".$torrent['category']."','".$torrent['id']."');"; if ($verbose) {print "Adding ".$torrent['title']." to database...\n"; ob_flush();flush();} mysql_query($sql) or die(mysql_error()."->\n".$sql); } if ($verbose) {print "\nAll jobs finished!...\n"; ob_flush();flush();} print("$x[category] $x[description] http://www.torrentsmd.com/torrents/$x[id].torrent $x[peers] $x[title] $x[image] $x[enclosure]"); ?>
Это от ко-кого движка ?
-
Te
Сообщение
Grabber Торрентов
ru3qx
Держаца больше нету сил спросите плиз у автора проекта или скажите (можно в личку) его контактные данные, хочу узнать на какой стадии проект, может нужен донат для ускорения реализацииru3qx писал(а):потерпите до августа
Сообщение
Grabber Торрентов
Проясняю последний раз .. =) а то меня уже и в ЛС замучили, у меня НЕТ и не было и пока нет в планах делать граббер торрентов, здесь
вероятно имелись ввиду внешние аннонс url, которые и были намечены на август.потерпите до августа
Вернуться в «Вопросы, ответы и примеры решений»