Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   стуктура .torrent файлов (https://forum.antichat.xyz/showthread.php?t=92271)

eLWAux 17.11.2008 22:35

стуктура .torrent файлов
 
не знал куда запостить, поетому запостил сюда, так-как в будущем єсть идеи написать perl-анализатор..;)

подскажите, где найти инфо про структуру .torrent файла..
искал-не нашол, плохо искал)

astrologer 17.11.2008 23:01

http://wiki.theory.org/BitTorrentSpecification

mr.The 17.11.2008 23:09

astrologer +1
ТС - на русском можеш неискать. нету. читай что есть. структура имхо очень хитровые...ая. особенно вложеность параметров один в другой. а в остальном всё просто)

eLWAux 17.11.2008 23:26

уже я немножко накатал:
Код:

system('cls');

opendir(TEMPDIR,$dir) or die("[-] Error ($!)..");
@FILES=grep(/\.torrent$/i, readdir TEMPDIR);
closedir(TEMPDIR);

for ($i=0;$i<@FILES;) {
        $res='';
        open(DESC, @FILES[$i]);
        while (<DESC>) {$res.= $_;}
        close(DESC);
        $res =~ /:name\d{0,4}:(.*)12:piece/;
        if (-s $1) {print '[+] ';} else {print '[-] ';}
        print $1."\n";
        $i++;
        }

находит все *.torrent файли в текущей папке и видирает названия файлов и проверяет их существования..

eLWAux 18.11.2008 00:09

уже нашол инфо про строки:
Цитата:

СТРОКИ
<длина строки>:<строка>. Пример: 5:xakep
и сделал ф-цию для чтения строк:
Код:

sub read_str
{
        if ($_[0] =~ /:$_[1](\d{0,4}):/)
        {return substr($_[0], index($_[0],$_[1])+length($_[1])+length($1)+1, $1)}
        else {return '';}
}

пример:
print read_str($res,'announce');

может у кого-то єсть наброски кода?)

Kaimi 18.11.2008 00:18

Цитата:

и сделал ф-цию для чтения строк
эээ? а чо она делает?

eLWAux 18.11.2008 00:37

чтоб читать byte strings из торрента
Цитата:

byte strings

Byte strings are encoded as follows: <string length encoded in base ten ASCII>:<string data>
Note that there is no constant beginning delimiter, and no ending delimiter.

Example: 4:spam represents the string "spam"

astrologer 18.11.2008 00:47

Цитата:

Сообщение от eLWAux
может у кого-то єсть наброски кода?)

Их должно быть немало в сети. Для PHP что-то есть.

eLWAux 18.11.2008 00:52

torrentflux - єто не парсер походу..
4 МБ для парсера замного)
меня интересует только как достать данние..
только что понял что там супер заебистая система, параметри в параметрах под параметрами)..

gisTy 18.11.2008 01:34

Цитата:

Сообщение от eLWAux
torrentflux - єто не парсер походу..
4 МБ для парсера замного)
меня интересует только как достать данние..
только что понял что там супер заебистая система, параметри в параметрах под параметрами)..

torrentflux - это не чистый парсер, это полноценный торрент-клиент.. но ему же как то надо парсить .torrent-файлы... собственно можешь выдернуть парсер оттуда и переделать его на перле


Время: 15:21