Ищу рабочий чекер proxy

Discussion in 'PHP' started by Звеpь, 9 Mar 2009.

  1. Звеpь

    Звеpь Banned

    Joined:
    5 Nov 2008
    Messages:
    16
    Likes Received:
    55
    Reputations:
    -6
    Ищу рабочий чекер proxy :rolleyes:
     
  2. GlooK

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

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    А поподробней? Какой имено чекер прокси PHP или экзешник?

    Если экзешник то можешь заюзать Bleach (из софтины Forum Proxy Leecher)
     
    3 people like this.
  3. Звеpь

    Звеpь Banned

    Joined:
    5 Nov 2008
    Messages:
    16
    Likes Received:
    55
    Reputations:
    -6
    да любой чтоб работал
     
  4. GlooK

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

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Forum Proxy Leecher

    _http://rapidshare.com/files/207081394/FPL.zip.html

    Для чека используй Bleach! из нее.
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Чекер прокси от Енот (а вообще "Полезные скрипты" надо читать, с самой 1-ой страницы):

    PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <?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";  
       }  
    ?>
    Только что проверил - всё работает
     
  6. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    proxy checker 7.4 уже не в моде?
     
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Proxy Checker 7.4.18 - Лицензия: 50$

    Charon - не юзал

    Плюс челу нужен вроде скрипт по идее был, раздел вроде "Кодинг", плюс кроссплатформенность
     
  8. Realix

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

    Joined:
    11 Jan 2008
    Messages:
    19
    Likes Received:
    59
    Reputations:
    0
    http://www.proxyfire.net/
     
  9. ZagZag

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

    Joined:
    22 Feb 2007
    Messages:
    149
    Likes Received:
    22
    Reputations:
    1
    Charon - Хороший чекер, бесплатный, но на больших листах подвисает во время проверки.
     
  10. Южул

    Южул Banned

    Joined:
    1 Nov 2008
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    качал я его несколько раз и всегда попадался бажный, не знаю может я не везучий но с ним работать у меня не получается, еще иногда определяет мертвые прокси как рабочие и наоборот да еще и с country что то напутано.
    хотя не знаю может и софтина рульная
     
  11. DiPers

    DiPers New Member

    Joined:
    22 Jul 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Юзал Charon на 5мб лист с прокси суешь и чекер встает колом. Не так уж и хорош он. Хотя по скорости чека, равных не видел.