renaker |
Active user |
|
|
Joined: Nov 15, 2008 |
Posts: 27 |
|
|
|
|
|
|
|
Hi,
For the past few days I've been looking for good proxy lists. Unfortunately, I couldn't find any that I didn't have to pay for. Maybe I just don't know where to look. While I'm sure there are proxy checking programs out there already, I decided to make my own script for it. I didn't put much time into this, and I'm sure there are better ways I could have done it, but for what I want, it works.
Please reply with your thoughts, suggestions, or improvements if you feel like taking the time.
========
Run the script as a CLI like so: php FILENAME.php -t<SECONDS>
Replace "<SECONDS>" with the number of seconds you wish to test each proxy for (It's the timeout for cURL). The lower the number, the more proxies it will filter out, and you'll be left with fasted ones. 2 to 4 works well for me.
What you need to use it:
-A URL to an html or txt page on the internet somewhere with only the number "1" in it. (Put it in the script where it says "URL TO A PAGE THAT HAS ONLY THE NUMBER 1 AS THE CONTENT")
-A proxy list you want to check called rawproxylist.txt
-A blank txt file called working-proxies.txt
-PHP on your computer
Code: | <?php
#####################################
## Renaker's Proxy Checker ##
#####################################
## Command Line: ##
## php FILENAME.php -t<SECONDS> ##
## ##
## -t is the timeout variable in ##
## seconds. It is how long you ##
## want to test each proxy before ##
## moving onto the next. ##
## ##
## Run as a CLI ##
#####################################
function check_proxy($ip,$port,$timeout)
{
$ch = curl_init("URL TO A PAGE THAT HAS ONLY THE NUMBER 1 AS THE CONTENT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $ip);
curl_setopt($ch, CURLOPT_PROXYPORT, $port);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
$x = curl_exec($ch);
$error = curl_error($ch);
if($x == 1)
{
echo ":D WORKS! IP: $ip";
return true;
}
else
{
//echo $error;
echo ":( fail IP: $ip";
return false;
}
curl_close($ch);
}
function append_ip($ip)
{
$myfile = "working-proxies.txt";
$fh = fopen($myfile, 'a') or die("can't open file");
fwrite($fh, $ip);
fclose($fh);
}
#####################################
## MAIN PROGRAM SEQUENCE ##
#####################################
$arguments = getopt("t:h");
echo "
#####################################
## Renaker's Proxy Checker ##
#####################################
## Timeout: ".$arguments['t']."
##
## Starting...\n\n";
$file = fopen("rawproxylist.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
$line = fgets($file);
$port = explode(':', $line);
if(check_proxy($line,$port[1],$arguments['t']))
{
append_ip($line);
}
}
fclose($file);
echo
"\n\nFinished! Have a nice day.\nhttp://www.waraxe.us/ftopicp-23001.html\n";
?>
|
|
|