grinding
Registered Member
- Oct 27, 2009
- 62
- 72
Hello fellow blackhatters 
Trying to set up an online socks5 checker. In short, you add a list of socks5's, and the script then checks which works and which don't
I am able to check the status of up to 3 socks correctly, but if i try to check more than 3 in the same session i get an "500 Internal server error" . Obviously it is too much to handle for the class/server.
Anyone who has an idea on how to edit this, so you can check larger lists?
My proxy checker class looks like this
My checker.php script looks like this:
Thank you in advance!
Trying to set up an online socks5 checker. In short, you add a list of socks5's, and the script then checks which works and which don't
I am able to check the status of up to 3 socks correctly, but if i try to check more than 3 in the same session i get an "500 Internal server error" . Obviously it is too much to handle for the class/server.
Anyone who has an idea on how to edit this, so you can check larger lists?
My proxy checker class looks like this
PHP:
<?
// PHP anonymity checker
//
// (c) Involutive 2008 http://www.involutive.com
// author: Paolo Ardoino < [email protected] >
//
// Usage:
// $anons = array(
// array("ip" => "1.2.3.4", "port" => 8080, "type" => "socks4"),
// array("ip" => "1.2.3.5", "port" => 8080, "type" => "socks5"),
// array("ip" => "1.2.3.6", "port" => 8080, "type" => "proxy")
// );
//
// $pa = new phpanon(array("anons" => $anons));
// $pa->check();
// $pa->done();
//
// $anons is an array of triples ("ip" => ip, "port" => port, "type" => type)
// ip: ip address of the socks / proxy
// port: port of the socks / proxy
// type: socks5 (for socks5), socks4 (for socks4), proxy (for proxy)
//
// Other options:
// "url" => "http://www.example.com" : connection test page
// "needle" => "someword" : some word contained in the page set by "url"
// "user_agent" => "Mozilla Firefox" : set an alternative user_agent
// "url_referer" => "http://www.mypage.com" : set a referer url
class phpanon {
public $anons = array();
public $opts = array("user_agent" => "", "url_referer" => "", "url" => "http://www.google.com", "needle" => "groups");
function __construct($opts) {
if(sizeof($opts["anons"]) > 0) {
$this->anons = $opts["anons"];
}
if($opts["user_agent"] != "") {
$this->opts["user_agent"] = $opts["user_agent"];
}
if($opts["url_referer"] != "") {
$this->opts["url_referer"] = $opts["url_referer"];
}
}
function check() {
if(sizeof($this->anons) > 0) {
for($i = 0, $cnt_good = 0, $cnt_gad = 0, $y = sizeof($this->anons); $i < $y; $i++) {
$anon = &$this->anons[$i];
if($anon["ip"] != "" && $anon["port"] != "" && $anon["type"]) {
echo "".$anon["ip"].":".$anon["port"]." ... ";
$ch = curl_init($this->opts["url"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if($this->opts["user_agent"] != "") {
curl_setopt($ch, CURLOPT_USERAGENT, $this->opts["user_agent"]);
}
if($this->opts["url_referer"] != "") {
curl_setopt($ch, CURLOPT_REFERER, $this->opts["url_referer"]);
}
curl_setopt($ch, CURLOPT_PROXY, $anon["ip"].":".$anon["port"]);
if($anon["type"] == "socks4") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
else if($anon["type"] == "socks5") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$html = curl_exec($ch);
if(curl_errno($ch) || $html == "" || strpos($html, $this->opts["needle"]) === FALSE) {
//Hvis proxy ikke virker
$anon["status"] = 0;
$cnt_gad++;
echo "not working, die\n <br>";
} else {
// Hvis proxy virker
$anon["status"] = 1;
$cnt_good++;
echo "working, insert into db\n <br>";
}
curl_close ($ch);
unset($ch);
}
unset($anon);
}
}
}
}
?>
PHP:
<?php
include("connect.php");
require("proxycheck.class.php");
set_time_limit(0);
$timeout = 0;
$result = mysql_query("SELECT * FROM prx limit 10");
$anons = array();
while($row = mysql_fetch_array($result))
{
$anons[] = array ( ip=>$row['ip'], port=>$row['port'], type=>"socks5");
}
$pa = new phpanon(array("anons" => $anons));
$pa->check();
?>