@NeedIfFindIt
Hello dude, my faucet was removed from his rotator. I do not understand why.
I just write an email.
My faucet is:
http://freebtsocean.com/Sorry, yesterday I responded to over 120 messages.
For some reason the anti-proxy code blocks also non-proxies that have open ports.
http://getipintel.net/ actually tracks IPs with multiple open ports.
Just think about simple IM like Skype opens 2 ports (one of them is port 80) if you have 3 PCs at home = 4 open ports by Skype. If you add one or two torrent clients and a VNC = 8 open ports in total. And you are already in the 0.99+ club.
For now I would suggest using
$banOnProability=0.99999;
instead of
I tested with free proxy list and it still works for 95%+ of the addresses.
Also find a way to cache the IPs since getipintel.net allows up to 1000 requests/day.
<?php
//if(@fsockopen($_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1))
//die("It would apprear you're using a proxy, so please, go f* yourself!");
function checkProxy($ip){
/*
/// Uncomment to allow bit.makejar.com autochecker
if ($ip=='188.166.12.134') {
return false;
}
//
*/
$contactEmail="EMAIL";
$timeout=3;
// $banOnProability=0.99;
$banOnProability=0.99999;// <---------------------------------------------------
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_URL, "http://check.getipintel.net/check.php?ip=$ip");
$response=curl_exec($ch);
curl_close($ch);
if ($response > $banOnProability) {
return true;
} else {
if ($response < 0 || strcmp($response, "") == 0 ) {
//The server returned an error, you might want to do something
//like write to a log file or email yourself
//This could be true due to an invalid input or you've exceeded
//the number of allowed queries. Figure out why this is happening
//because you aren't protected by the system anymore
//Leaving this section blank is dangerous because you assume
//that you're still protected, which is incorrect
//and you might think GetIPIntel isn't accurate anymore
//which is also incorrect.
//failure to implement error handling is bad for the both of us
}
return false;
}
}
$ip=$_SERVER['REMOTE_ADDR'];
if (checkProxy($ip)) {
echo "It would apprear you're using a proxy, so please, go f* yourself! <br />";
}
?>
Guys...
I asked to the GetIPIntel owner if I should use the
$banOnProability=0.99999 and look what he said me:
You should never look for values > 0.9999. If you want to do something
like that, use the flag=m option and look for the value of "1"
It's very unlikely (maybe once in a billion) that there's a value
between 0.9999 to 1.
flags=m will have the least amount of false positives.
If you're referring to this post:
https://bitcointalk.org/index.php?topic=1200700.msg12726503#msg12726503The information on it is wrong. GetIPIntel does not just look for open
ports, count it and generate a probability, it's much more advanced. It
uses machine learning and probability theory to calculate the
probability. Counting how many ports on an IP would require a full scan
that'd take hours (maybe days) for just 1 IP. If I scan the Internet
Internet regularly and put it in a DB, then the information is stale and
useless. It simply doesn't make sense to count the number of opened
ports and say if this IP is a proxy or not.
Residential IPs might have a high value if it's involved in spamming /
brute-forcing / spamming / etc. Any IP, provided by an ISP or by a web
host can become a proxy so just because an IP is from an ISP, it doesn't
mean it's not a proxy. If you have any questions about a particular IP,
I'll do my best to tell you why the score is high, don't assume the code
doesn't work or it's wrong.
There's a lot of issues with the code that's posted as well. The license
information has been removed (which is against the license) and the code
has been modified to not submit contact information. There's also no
code in error handling. There's no way for the person that's using the
script to know they've been banned from using the service or if they've
exceeded the query limit and I can't tell them about it. The worst part
is, they assume it's still working.
Regards,
Luke J.
Somebody more expert in programming than me would like to fix the code for us?