Фев 042010
 

Tux6 декабря ’09 года на бложке кавайного лоли-кодера mr.The появилась запись о включении сервиса бесплатных socks proxy на который я как администратор Proxylife не смог не обратить внимания.

Естественно у меня появилось желание грабить эти самые списки довольно быстрых соксов (ботнет барыжит чтоль?). В тот же день после «похвастаней» mr.The мне в асьюку про средства защиты от парсеров у меня то ли желания не было.. то ли ещё что, собственно не стал что либо рассматривать и копаться в коде.

<?php
/**
 * Функция получения страницы с использованием курла
 **/
function get_page($url, $post = '', $ref = '', $cookie = '', $ua = "Opera 9.64 (compatible; MSIE 6.0; Windows NT 5.1; ru)", $proxy = '')
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    curl_setopt($ch, CURLOPT_REFERER, $ref);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);

    if ($post !== '') {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }

    $headers[] = "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1";
    $headers[] = "Accept-Language: ru,en;q=0.9,ru-RU;q=0.8";
    $headers[] = "Connection: close";
    $headers[] = "Cache-Control: no-store, no-cache, must-revalidate";

    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    // тут лучше поставить 0, если куки не нужны
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    @curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 200);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 200);
    $result = curl_exec($ch);
    curl_close($ch);
    if ($result)
        return $result;
    else
        return false;
}

// Логинемся к проксикам с печеньками
$page = get_page("http://mrthe.name/socks/index.php");
// Получаем количество кавайненьких соксов
preg_match_all("|socks proxy: <b>(.*)</b>|U", $page, $all, PREG_SET_ORDER);
// Спешел фор mr.The, ты трололо ^_^
$unique_start = '"+"';
$unique_end = '&#58;"+(';
preg_match_all('/'.preg_quote($unique_start, '/').'(.*)'.preg_quote($unique_end, '/').'/Us', $page, $proxy_ip, PREG_SET_ORDER);
preg_match_all('/'.preg_quote('+(', '/').'(.*)'.preg_quote(')+', '/').'/Us', $page, $proxy_port, PREG_SET_ORDER);
$i = 0;
$m = $all[0][1] - 1;
while ($i <= $m) {
    $n = $i++;
    $r = explode('+', $proxy_port[$n][1]);
    $proxy = str_replace("&#46;", ".", $proxy_ip[$n][1]);
    $port = $r[0] + $r[1];
    echo $proxy.":".$port."<br />\n";
}
?>

Далее с полученным листом прокси можно вытворять всё что душе угодно, главное чтобы по назначению..

Пример функции:

Не тыкать! Пыщ-пыщ!


Комментарии:

  4 комментария to “Граббер socks5 с mrThe.name”

  1. Редиска! T_TЛадно, через пару дней обновлю алгоритм, сейчас некогда))

  2. ИМХО любое шифрование через скрипты подвластна расшифровки, тут дело за временем и умением кодера. «Кому надо, тот всё сграбит».

  3. Время на расшифровку должно значительно превышать время на шифрование. Так-то.

  4. как с тобой связаться? напиши в асику 259-[389]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(требуется)

(требуется)

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.