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

Нужен скрипт чекания HTTP прокси
  #1  
Старый 18.06.2009, 19:49
Аватар для Stingers
Stingers
Познающий
Регистрация: 28.08.2007
Сообщений: 85
Провел на форуме:
313221

Репутация: 14
По умолчанию Нужен скрипт чекания HTTP прокси

Сабж нужен чекер который будет разделять на анонимные и не анонимные и одновременно чекать (многопоточно)

нужен бесплатно - т.к. хачу сделать простенький сайт для людей которые ищут проксики

у меня они (прокси) есть каждый час около 6000 штук но их нужно чекать и чтобы разделялись!

Буду признателен тем кто сделает
 
Ответить с цитированием

  #2  
Старый 18.06.2009, 20:42
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

пошарьте в теме "Полезные скрипты", там какие-то чекеры выкладывались
 
Ответить с цитированием

  #3  
Старый 18.06.2009, 22:57
Аватар для Gaus
Gaus
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме:
1420275

Репутация: 127
По умолчанию

Цитата:
Сообщение от Stingers  
Сабж нужен чекер который будет разделять на анонимные и не анонимные и одновременно чекать (многопоточно)

нужен бесплатно - т.к. хачу сделать простенький сайт для людей которые ищут проксики

у меня они (прокси) есть каждый час около 6000 штук но их нужно чекать и чтобы разделялись!

Буду признателен тем кто сделает
google.com
 
Ответить с цитированием

  #4  
Старый 18.06.2009, 23:10
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Искать совсем не хочите, тут всё есть, вот, немногопоточный, ибо нах не нужен, нех много сразу проверять, вроде от Енота:

PHP код:
<?php  

// Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config)  
   
error_reporting(0);  
// Limit the amount of proxies that can be tested at any one time  
   
$maximum_proxies_to_test 50;  
// Enter a password (if required) to protect the page  
   
$password '';  

// Actual proxyjudge part of the page  
   
function return_env_variables()  
   {  
      echo 
'<pre>'."\n";  
      foreach (
$_SERVER as $header => $value )  
      {  
        if ((
strpos($header 'REMOTE')!== false || strpos($header 'HTTP')!== false || strpos($header 'REQUEST')!== false) && ( strpos($header 'HTTP_HOST') !== 0))  
        {  
        echo 
$header.' = '.$value."\n";  
        }  
      }  
      echo 
'</pre>';  
   }  

// Function to go away and get the page (calls through the proxy back to itself)  
   
function get_judge_page($proxy)  
   {  
   
// Depending on the server environment, this timeout setting may not be available.      
      
$timeout 15;  
      
$proxy_cont '';  
      list(
$proxy_host$proxy_port) = explode(":"$proxy);  
      
$proxy_fp fsockopen($proxy_host$proxy_port$errornumber$errorstring$timeout);  
      if (
$proxy_fp)  
      {  
         
stream_set_timeout($proxy_fp$timeout);  
         
fputs($proxy_fp"GET " $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " $_SERVER['SERVER_NAME'] . "\r\n\r\n");  
         while(!
feof($proxy_fp))  
         {  
               
$proxy_cont .= fread($proxy_fp,4096);  
         }  
         
fclose($proxy_fp);  
         
$proxy_cont substr($proxy_contstrpos($proxy_cont,"\r\n\r\n")+4);  
      }  
      return 
$proxy_cont;     
   }  

// Check for the control string to see if it's a valid fetch of the judge  
   
function check_valid_judge_response($page)  
   {  
      if(
strlen($page) < 5)  
         return 
false;  
      return 
strpos($page'REMOTE_ADDR') !== false;  
   }  

// Check for the IP addresses  
   
function check_anonymity($page)  
   {  
      if(
strpos($page$_SERVER['LOCAL_ADDR']) !== false)  
         return 
false;  
      return 
true;  
   }  

// Takes and tests a proxy  
// 0 - Bad proxy  
// 1 - Good (non anon) proxy  
// 2 - Good (anonymous) proxy  
   
function test_proxy($proxy)  
   {  
      
$page get_judge_page($proxy);  
      if(!
check_valid_judge_response($page))  
         return 
0;  
      if(!
check_anonymity($page))  
         return 
1;  
      return 
2;  
   }  

////////// Main Page ////////////  

// If this is a judge request, just return the environmental variables  
   
if(getenv('QUERY_STRING') == "test")  
   {  
      
return_env_variables();  
   }  
// Else check whether we have been passed a list of proxies to test or not  
// Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x)  
   
elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') &&  
           (isset(
$HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') &&  
           ( (
strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) ))  
   {  
      
$proxies explode("\n"str_replace("\r"""$HTTP_POST_VARS['proxies']), $maximum_proxies_to_test 1);  
        
   
// Set the overall time limit for the page execution to 10 mins  
      
set_time_limit(600);  
        
   
// Set up some arrays to hold the results  
      
$anon_proxies = array();  
      
$nonanon_proxies = array();  
      
$bad_proxies = array();  
     
   
// Loop through and test the proxies  
      
for($thisproxy 0$thisproxy < ($maximum_proxies_to_test count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1)  
      {  
           
$draculalol htmlspecialchars($proxies[$thisproxy]); 
         echo 
'' $draculalol '';  
         
flush();  
         switch(
test_proxy($proxies[$thisproxy]))  
         {  
            case 
2:  
              echo 
' - <font color="green">Анонимная</font><br>' "\n";  
               
$anon_proxies[count($anon_proxies)] = $proxies[$thisproxy];  
               break;  
            case 
1:  
              echo 
' - <font color="yellow">Не анонимная</font><br>' "\n";  
               
$nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy];  
               break;  
            case 
0:  
              echo 
' - <font color="red">Не рабочая</font><br>' "\n";  
               
$bad_proxies[count($bad_proxies)] = $proxies[$thisproxy];  
               break;  
         }  
      }  
     
      echo 
'<pre>';  
      echo 
'<br><b><font color="green" size="2">Анонимные прокси:</font></b>' "\n";  
      for(
$thisproxy 0$thisproxy count($anon_proxies); $thisproxy += 1)  
         echo 
$anon_proxies[$thisproxy] . "\n";  
      echo 
'<br><b><font color="yellow" size="2">Не анонимные прокси:</font></b>' "\n";  
      for(
$thisproxy 0$thisproxy count($nonanon_proxies); $thisproxy += 1)  
         echo 
$nonanon_proxies[$thisproxy] . "\n";  
      echo 
'<br><b><font color="red" size="2">Не рабочие прокси:</font></b>' "\n";  
      for(
$thisproxy 0$thisproxy count($bad_proxies); $thisproxy += 1)  
            
$xek htmlspecialchars($bad_proxies[$thisproxy]); 
         echo 
$xek "\n";  
      echo 
'</pre>';  
   }  
// Just a blank call of the page - show the form for the user to fill in  
   
else  
   {   
      
      echo 
'<form method="POST" action="' $_SERVER['SCRIPT_NAME'] . '">' "\n";  
      echo 
'<input type="hidden" name="action" value="fred">' "\n";  
      echo 
'<textarea name="proxies" cols=50 rows=10></textarea><br>' "\n"
      if(
strlen($password) > 0)     
         echo 
'Password: <input type="password" name="password" size="15"><br>' "\n";  
      echo 
'<input type="submit" value="Старт">' "\n";  
      echo 
'</form>' "\n";  
   }  
?>
 
Ответить с цитированием

  #5  
Старый 19.06.2009, 18:23
Аватар для heretic1990
heretic1990
Постоянный
Регистрация: 02.07.2008
Сообщений: 472
Провел на форуме:
3728999

Репутация: 444
По умолчанию

PHP код:
// Limit the amount of proxies that can be tested at any one time   
   
$maximum_proxies_to_test 50
по мне это глупость! ИМХО
 
Ответить с цитированием

  #6  
Старый 19.06.2009, 20:24
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Выставь =51 и не считай глупостью
 
Ответить с цитированием

  #7  
Старый 19.06.2009, 22:58
Аватар для genom--
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

хз на перле 10 строчек - напиши сам - поттоки и в них через команду proxy подрубаешь проксик и делаешь get запрос на whatismyip.com для проверки на анонимность и все
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен прокси сервер -> m0Hze Анонимность 8 04.05.2009 22:04
По Www без следов foreva Чужие Статьи 34 11.02.2008 15:54
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
Живые прокси xdx ICQ 111 15.04.2007 13:10
php скрипт для проверки прокси utilizator PHP, PERL, MySQL, JavaScript 2 17.10.2006 17:07



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


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




ANTICHAT.XYZ