VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker

VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker (http://www.vbtt.org/index.php)
-   VBTT v.2.0 (http://www.vbtt.org/forumdisplay.php?f=2)
-   -   Вновь про retracker.local (http://www.vbtt.org/showthread.php?t=206)

qaqaqa 09.03.2011 06:16

Должны пихаться в анонс-лист

Skald 13.03.2011 19:54

Добавить к словам qaqaqa больше нечего.
Cyberdaemon, разберитесь со структурой и вообще с форматом данных внутри метафайлов формата торрент. Тогда и не будет проблем.
Пытаться генерировать торрент в обход benc.php можно только если 100% понимать как кодируются в торренте все данные.

Cyberdaemon 13.03.2011 21:49

Skald, А собственно про "в обход" никто и не говорил, я исправно генерю торрент в своём парсере (http://www.vbtt.org/showthread.php?t=205) используя другую реализацию парсинга торрент файла, с этой ну в упор не понимаю с какого боку подходить это раз. А второе - на benc.php свет клином не сошёлся - он на php написан, а не на сверхъестественном каком то космическом языке, и при таком раскладе "в обход" сделать тоже вполне реально (будем называть вещи своими именами - benc.php это парсер торрент файла написанный на php и то, что в нём возможно чего то не хватает - не показатель того что это нехватающее нельзя ткнуть прямо в хук).

P.S. И не надо тыкать меня носом как младенца, далеко уже не в том возрасте. Может ещё порассуждаем о 100%ном знании PHP того же, или о том, как бороздят космические корабли просторы большого театра? Бьюсь об заклад - на этом форуме не найдётся ни 1го человека 100% знающего того же PHP, так не будем же строить из себя мега супер одарённых спецов.
P.P.S. А проблем собственно и нет никаких - лично мне ретрекер не нужен (была когда то мысль прикрутить - переболел), человек спрашивал, я попытался вникнуть......да прописывается в announce-list поле, ну и никаких проблем прописать дополнительный анонс в такое поле нет, остаются мелкие ньюансы - но это мелочи, а времени у меня на эти мелочи нет ибо нет надобности. Вас же, уважаемый, просили о помощи - Вы ответили времени нема, все поняли и заткнулись......тут такая же история.

Возможно слишком резко написал, но по принципу Галки Галкиной - "каков вопрос - таков ответ".

Добавлено через 41 минуту
Вот, пожалуйста, безо всяких bencode, и прекрасно работает, точно таким же макаром можно затолкать и ещё хоть 1000 адресов анонсеров (а если ещё и не полениться и настройку добавить в продукт, то вообще удобно будет).

PHP код:

if ($extension == 'torrent' AND !in_array($foruminfo['forumid'], explode(',',$vbulletin->options['vbtt_forums']))) eval(standard_error(fetch_error('vbtt_disabled_forum')));

if (
$extension == 'torrent' AND $vbulletin->userinfo['userid'] AND strlen($vbulletin->userinfo['torrent_pass']) == 32 AND $attachmentinfo['info_hash']!='') {

$torrent $vbulletin->options['attachfile'] ? fread($fp2097152) : $attachmentinfo['filedata'];
    if (!
$comment=strpos($torrent,'4:infod6:lengthi')) 
        
$comment=strpos($torrent,'4:infod5:filesld6:lengthi');
    if (
$comment
        
$torrentstring=substr($torrent,$comment+6,-1);
    if (
pack('H*'sha1($torrentstring))!= $attachmentinfo['info_hash']) {
        require_once(
DIR '/includes/benc.php');
        
$torrent bdec($torrent);
        
$torrentstring $torrent['value']['info']['string'];
    }
    unset(
$torrent);
    
$announce_local 'http://retracker.local/announce';
    
$announce_url construct_phrase($vbulletin->options['vbtt_primary_announce'],$vbulletin->userinfo['torrent_pass']);

    
$comment=$vbulletin->options['bburl'].'/showthread.php?p='.$attachmentinfo['postid'];
    
$attachmentinfo['filedata'] = sprintf('d8:announce%d:%s13:announce-listll%d:%sel%d:%see7:comment%d:%s13:creation datei%de4:info%se'strlen($announce_url), $announce_urlstrlen($announce_url), $announce_urlstrlen($announce_local), $announce_localstrlen($comment), $comment$attachmentinfo['dateline'], $torrentstring);

    unset(
$torrentstring,$announce_url,$announce_local,$comment);
    
$attachmentinfo['filesize'] = strlen($attachmentinfo['filedata']);
    
$vbulletin->options['attachfile'] = false;


И как говорится "и не надо лохматить бабушку"!

qaqaqa 13.03.2011 21:56

Cyberdaemon, не кипятись, дискуссия есть дискуссия.

Итак, проблема решена благодаря Cyberdaemon. Собственно всё (ну разве что вывести в админку, но это уже не никакой проблемы не представляет).

Cyberdaemon 13.03.2011 22:05

qaqaqa, Господи, ну неужели даже это править надо?

Злой был - наспех писал. Удали строку - $announce_local = $announce_local."e";

P.S. Из предыдущего поста удалил в коде.
P.P.S. Так и хочется сказать - "ну что, съели? И нефиг про benc.php рассуждать!" РРРРРрррррразозлили блин.

qaqaqa 13.03.2011 22:52

Cyberdaemon, кстати - по-хорошему адрес трекера в списке в торренте должен быть первым, а уж потом ретрекер, иначе торрент-клиент Deluge будет брать только ретрекер (он не умеет с мультитрекерами работать и берёт первый в списке).

По поводу "неужели править надо?" - я же написал, что нашёл где и что, и уже у себя всё поправил. Просто не глядя взял код и вставил себе.

Cyberdaemon 15.03.2011 12:45

qaqaqa, А он разве не первым в списке стоит? Вообще при использовании ретрекера надо использовать клиенты типа uTorrent, которые поддерживают мультитрекерность.

qaqaqa 15.03.2011 14:10

1) ретрекер стоит первым, а нужно его последним.
2) именно поэтому и нужно его ставить последним, чтобы клиенты без поддержки мультитрекерности не обламывались, потому что они берут первый из списка. а первым стоит ретрекер - и это не правильно.

Cyberdaemon 15.03.2011 14:35

1. объясняю на пальцах - стоит первым, структура такая - [главный_анонсер] [анонс_лист_[главный анонсер]_[локальный анонсер]] - что не так то?
Код:

d8:announce74:http://estorrent.org/announce.php?passkey=hghghghghghghghghghghgh13:announce-listll74:http://estorrent.org/announce.php?passkey=hghghghghghghghghghghghel31:http://retracker.local/announce
При запуске торрента в том же uTorrent первой строкой идёт основной анонсер, через строку локальный.
http://img651.imageshack.us/img651/4577/98454350.jpg
Иными словами у меня именно так, как хочешь ты.........что я делаю не так?

2. Я в курсе относительно данной особенности.

qaqaqa 15.03.2011 15:02

Вот блин. А у меня он стоит ПЕРВЫМ, т.к. урл главного анонсера начинается на t.
Видимо клиент по алфавитному порядку выстраивает.
Ну значит тогда всё в порядке.


Итак тему ретрекера можно считать закрытой. Спасибо тебе, ты сделал нехилый вклад в развитие трекера на vbtt )))


Часовой пояс GMT +3, время: 09:02.

vBulletin® 3.8.1. ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot