Полная копия The Pirate Bay размером 90 МБ

Discussion in 'Мировые новости. Обсуждения.' started by Rebit, 10 Feb 2012.

  1. Rebit

    Rebit Elder - Старейшина

    Joined:
    7 Aug 2007
    Messages:
    85
    Likes Received:
    214
    Reputations:
    2
    До конца текущего месяца известный торрент-трекер The Pirate Bay перестанет поддерживать файлы .torrent и полностью перейдёт на magnet-ссылки.

    Magnet-ссылки идентифицируют файлы не по их расположению или имени, а по хеш-коду. Поэтому их можно считать разновидностью URN, а не URI. Стандарт был создан в 2002 году, отчасти как обобщение URI-схем ed2k и freenet.

    Одним из преимуществ magnet-ссылок является их компактность и простота копирования. Таким образом, перейдя на новый компактный формат, The Pirate Bay сможет много сэкономить на хостинге, ему будет проще работать через прокси-серверы и его будет труднее заблокировать в определённых странах.

    Более того, каталог раздач станет настолько компактным, что каждый без труда сможет сделать его копию в качестве персонального бэкапа. Это можно попробовать уже сейчас, ведь magnet-ссылки уже присутствуют на сайте. С помощью этого скрипта вы можете скомпилировать файл с наименованиями всех раздач, ID, размером файла, списком сидеров и личеров, magnet-ссылкой для всех 1 643 194 торрентов, которые сейчас хостятся на The Pirate Bay.

    Code:
    use warnings;
    use strict;
    use Parallel::ForkManager;
    use 5.010;
    my $pm=new Parallel::ForkManager(50);
    
    use Fcntl qw(:flock SEEK_END);
    
    $pm->run_on_finish(sub{
        my (undef, undef, undef, undef, undef, $res_ref) = @_;
        my ($res, $line) = @$res_ref;
        if ($res == 1) {
                open my $outf, ">>", "outf";
                flock($outf, LOCK_EX) or next;
                seek($outf, 0, SEEK_END);
                say $outf $line;
                say $line;
                flock($outf, LOCK_UN);
        }
    });
    
    my $i = 1;
    while (1) {
        $i++;
        $pm->start and next;
        my $res;
        my $page="";
    
        $page = `curl -s http://thepiratebay.se/torrent/$i -m 120` 
            while ($page !~ /<!DOCTYPE html/);
        my $line = "";
        if ($page =~ m{<title>Not Found}) {
            $res = 0;
        } else {
            $res = 1;
            my ($title) = $page =~ /<div id="title">\s*(.*?)\s*<\/div>/s;
            my ($size) = $page =~ /<dt>Size:<\/dt>\s*<dd>.*?\((\d*)&nbsp;Bytes\)<\/dd>/s;
            my ($seeders) = $page =~ /<dt>Seeders:<\/dt>\s*<dd>(\d*)<\/dd>/;
            my ($leechers) = $page =~ /<dt>Leechers:<\/dt>\s*<dd>(\d*)<\/dd>/;
            my ($magnet) = $page =~ /magnet:\?xt=urn:btih:(.*?)(&|")/;
            $line =
            $i."|".$title."|".$size."|".$seeders."|".$leechers."|".$magnet;
        }
        $pm->finish(0,[$res, $line]);
    }
    
    Получится архив размером всего 90 МБ (164 МБ в разархивированном виде).

    Вот ссылка на этот архив, который является полной копией The Pirate Bay на момент работы скрипта:


    торрент
    HTML:
    https://torrents.thepiratebay.se/7016365/The_whole_Pirate_Bay_magnet_archive.7016365.TPB.torrent
    magnet-ссылка на торрент
    HTML:
    magnet:?xt=urn:btih:938802790a385c49307f34cca4c30f80b03df59c&dn=The+whole+Pirate+Bay+magnet+archive&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80
    [​IMG]

    Сделать архив на всякий случай — хорошая идея для тех, кто пользуется этим торрент-трекером, потому что его могут закрыть в любой момент. Впрочем, этого не следует бояться, потому что сразу же появятся зеркала и бэкапы.

    Удивительно, что один из главных пиратских сайтов интернета, тот сайт, в котором медиакопрорации видят смертельную угрозу и который так хотят закрыть — это всего лишь 164 мегабайта текста.

    P.S. В качестве бонуса можете скачать 17 миллионов торрентов от Bitsnoop.com, распределённые по категориям: всего 535 МБ.

    via TorrentFreak


    Дата: 10.02.2012
    Источник : http://www.xakep.ru/post/58268/​