Граббер socks5 с mrThe.name

4 февраля 2010 | Метки: , , ,

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);

    curl_setopt($ch, CURLOPT_HEADER, 0); // тут лучше поставить 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";
}
?>

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

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

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

Популярность: 65%

  1. 5 февраля 2010 в 00:06

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

  2. 5 февраля 2010 в 05:18

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

  3. 6 февраля 2010 в 07:41

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

  4. xo0x
    17 мая 2010 в 23:57

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