ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

многопоточный носко4екер на php ..
  #1  
Старый 18.12.2008, 03:56
Аватар для 159932
159932
Постоянный
Регистрация: 28.09.2007
Сообщений: 820
Провел на форуме:
6722038

Репутация: 1385


По умолчанию многопоточный носко4екер на php ..

PHP код:
<?php
/*######################
многопоточный носко4екер
по мотивам скрипта де-визбла на питоне ..
[ - надеюсь он не в обиде за идейный плагиат - ]

(C) 159932
######################*/
set_time_limit(0);
error_reporting(0);

$cout 10;                    #    кол-во потоков, советую не ставить много, если чек происходит с локала, да и при маленьком канале тем более..
$time 10;                    #    таймаут, чем больше потоков, тем больше таймаут надо ставить .. 
$filn 'sock.txt';            #    файл с носкаме
$good 'good.txt';            #    файл куда писать гут носки после чека
$deli '0';                    #    0 - ничего не делать с файлами;
                                #    1 - удалить файл с носками после чека;    
                                #    2 - удалить старый good.txt 
                                #    3 - удалить файл с носками, и старый good.txt 
                                #    кавычки для понту :D


############################################################################

$file[0] = array_unique(file($filn));
if (
sizeof($file[0]) < $cout$file array_chunk($file[0], $cout);

if (
$deli == 1unlink($filn);
if (
$deli == 2unlink($good);
if (
$deli == 3) { unlink($filn); unlink($good);}
    
$fin fopen($good'a');

foreach (
$file as $ips) {
    
$hren = array();
    
$mh curl_multi_init();
        foreach (
$ips as $ip) {
            
$ip trim($ip);
            if (!
preg_match('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5}#',$ip)) continue;
                
$hren[$ip] = curl_init('http://cmyip.com/');
                
curl_setopt($hren[$ip], CURLOPT_RETURNTRANSFER,     1);
                
curl_setopt($hren[$ip], CURLOPT_TIMEOUT,            $time);
                
curl_setopt($hren[$ip], CURLOPT_PROXY,                 $ip);
                
curl_setopt($hren[$ip], CURLOPT_PROXYTYPE,             CURLPROXY_SOCKS5);
                
curl_multi_add_handle ($mh,$hren[$ip]);
        }
        if (!
sizeof($hren)) continue;

        do {
            
$mrc curl_multi_exec($mh$active);
        } while (
$mrc == CURLM_CALL_MULTI_PERFORM);

        while (
$active and $mrc == CURLM_OK) {
            if (
curl_multi_select($mh) != -1) {
                do {
                    
$mrc curl_multi_exec($mh$active);
                } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
            }
        }

        foreach (
$hren as $i => $ip) {
            
$res[$i]=curl_multi_getcontent($hren[$i]);
            
curl_multi_remove_handle($mh,$hren[$i]);
            
curl_close($hren[$i]);
        }
        
        
curl_multi_close($mh);
        
    foreach (
$res as $ip=>$data) {
        
$ip explode(':',$ip);
        if (
strpos($data$ip[0]) !== falsefwrite($fin$ip[0].':'.$ip[1]."\r\n");
    }
}
fclose($fin);
?>
 
Ответить с цитированием

  #2  
Старый 18.12.2008, 04:08
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

в полезных скриптах место )
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ