Магазин
Правила Ответы на вопросы Конфиденциальность
Магазин
Правила Ответы на вопросы Конфиденциальность
  • Быстрые действия Ярлыки
    Общие действия
    Связаться с администрацией
    • Бот

       

Вопросы, ответы и примеры решений

  • Список форумов
  • Форумы по phpBB 3.0
  • Мод трекера ppkBB3cker
  • Вопросы, ответы и примеры решений

Grabber Торрентов

10 сообщений
 • Страница 1 из 1
Просмотры: 2246 • 
  • TraFF1c Сообщение 07.06.2010
    Нарыл мод на TDBEV
    Grabber Торрентов суть мода токова
    Описание: Grabber торрентов - скрипт, который в автоматическом режиме, скачивает мультитрекерные торренты с других ресурсов и загружает на ваш.
    Работает по следующему принципу, собирает ID торрентов в файл. Потом считывает их, скачивает торрент-файлы, и описание, перерабатывает под мультитрекер.
    Доп.Инфа http://bit-torrent.kiev.ua/grabber_orre ... 5%EA%E5%F0

    Может кто нароет исходни !
TraFF1c
  • levik Сообщение 07.06.2010

    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]");
    ?>
    
    
    
    Вот что - то в нети видел.) ну незнаю точно ето оно или нет..) я Так понимаю под даний движок даново мода пока нету ?
levik
  • loganxfi Сообщение 08.06.2010
    Блин класная идея, где бы достать такой грабер для ppkbb3cker :) Как я понял в настройках грабера прописываеться адрес трекера и разделы с которого будут грабиться раздачи, и грабиться они будут в определенный раздел твоего трекера, после чего тебе надо будет раскидывать все по соответсвующим разделам своего трекера или как? И еще, картинки с релизов (постеры и скриншоты) грабяться и сохраняються у тебя на сервере или остаються ссылки на те трекеры от куда грабили релиз?
    Последний раз редактировалось loganxfi 08 июн 2010, 06:00, всего редактировалось 1 раз.
loganxfi
  • ru3qx Сообщение 08.06.2010
    потерпите до августа
ru3qx
  • loganxfi Сообщение 09.06.2010
    ru3qx писал(а):потерпите до августа
    А что будет в августе? Мего обновление,новая версия трекера?
loganxfi
  • levik Сообщение 28.06.2010
    ru3qx писал(а):потерпите до августа
    в авгесте планируетса зделать даний мод или нет ?
levik
  • ru3qx Сообщение 30.06.2010
    levik писал(а):
    ru3qx писал(а):потерпите до августа
    в авгесте планируетса зделать даний мод или нет ?
    вопросы к автору проэкта.
ru3qx
  • TraFF1c Сообщение 08.09.2010
    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]");
    ?>
    
    
    
    Вот что - то в нети видел.) ну незнаю точно ето оно или нет..) я Так понимаю под даний движок даново мода пока нету ?

    Это от ко-кого движка ?
TraFF1c
  • Tetrix Сообщение 10.09.2010
    ru3qx
    ru3qx писал(а):потерпите до августа
    Держаца больше нету сил :D спросите плиз у автора проекта или скажите (можно в личку) его контактные данные, хочу узнать на какой стадии проект, может нужен донат для ускорения реализации ;)
Tetrix
  • Аватара пользователя
    PPK Сообщение 10.09.2010
    Проясняю последний раз .. =) а то меня уже и в ЛС замучили, у меня НЕТ и не было и пока нет в планах делать граббер торрентов, здесь
      потерпите до августа
    вероятно имелись ввиду внешние аннонс url, которые и были намечены на август.
PPK
10 сообщений
 • Страница 1 из 1

Вернуться в «Вопросы, ответы и примеры решений»

Time: 0.000s | Queries: 0 | Peak Memory Usage: 0.00 МБ | GZIP: Unknown | SQL Explain
  • Список форумов
2018, made with by ThemeKita Создано на основе phpBB® Forum Software © phpBB Limited Русская поддержка phpBB (C) 2009-2026 @ PPK
  • Часовой пояс: UTC+04:00
Участники темы
Список форумов Участники темы
Перейти
Сайт ↳   Новости по сайту ↳   Новости обновлений ↳   Вопросы по сайту ↳   Non-russian speakers forum Форумы по phpBB 3.1-3.3 ↳   Расширения для phpBB 3.1-3.3 ↳   Бета-версии и расширения в разработке ↳   База расширений ↳   Поиск и запросы расширений ↳   Расширения для phpBB 3.1-3.3 для донаторов ↳   Условно-бесплатные расширения ↳   Платные расширения ↳   Расширения для подписчиков ↳   Запросы расширений, функционала и переводов для подписчиков ↳   Переводы расширений для phpBB3.1-3.3 ↳   Стили для phpBB 3.1-3.3 ↳   Вопросы по phpBB 3.1-3.3 Форумы по phpBB 3.0 ↳   Мод трекера ppkBB3cker ↳   Новости по трекеру и обновлениям ↳   Ошибки, проблемы, недочёты ↳   Предложения по новым функциям и возможностям ↳   Вопросы, ответы и примеры решений ↳   Моды и стили для трекера ↳   Готовые стили для трекера ↳   Запросы стилей для трекера ↳   Стили в разработке ↳   Готовые моды для трекера ↳   Запросы модов для трекера ↳   Моды в разработке ↳   Остальное ↳   Часто задаваемые вопросы ↳   Ваши трекеры ↳   Мод трекера xbtBB3cker ↳   Новости по трекеру и обновлениям ↳   Вопросы, ответы, ошибки и обсуждение ↳   Другие моды для phpBB 3.0 ↳   Минимоды и хаки для phpBB3 ↳   phpBB 3.0 ppkBB3cker Edition ↳   Платные услуги, моды, стили для phpBB 3.0 ↳   BB2Spoiler/BB3Spoiler ↳   BB3Topics ↳   BB3Sape ↳   BB3UserAgentInfo ↳   Вопросы по phpBB 3.0 ↳   Вне тематики форума