никогда в жизне не брутил аськи, вабще никогда .. и вот в столь позний час ударила в дурную голову такая идея, почему бы не попробовать, слил ipd брут все дела, создал диапазоны, осталось только найти прокси ... в такое время естественно ничего найти не получится, вот и пришло обратится к фри листам ... выбор пал на http://www.samair.ru/proxy/ ... естественно они там защищают свой прокси лист свякими вставками, что бы не просто так было его забрать... ну ###### пришлось писать грабер на аякс, ибо там просто можно поработать с регулярками, есть асинхроная скачка и что то типо много поточности ...
зы. не судите строгу javascript у меня на самом низком уровне = )
зы. не судите строгу javascript у меня на самом низком уровне = )
Код:
<html>
<style>.t{font-family:verdana;font-size:9px;}</style>
<body>
<div id="result" align="center" class="t"></div>
<script>
var maxThreads=5;
var numPages=50;
var numThreads=0;
function init() {
var o=null;
if (window.XMLHttpRequest) {
try {
o = new XMLHttpRequest();
} catch (ex) {
return false;
}
} else if (window.ActiveXObject) {
try {
o = new ActiveXObject("Msxml4.XMLHttp");
} catch (ex) {
try {
o = new ActiveXObject("Msxml2.XMLHttp");
} catch (ex) {
try {
o = new ActiveXObject("Microsoft.XMLHttp");
} catch (ex) {
return false;
}
}
}
}
return o;
}
function get(url, processResponse) {
var o=init();
try {
o.open("GET", url, true);
o.onreadystatechange = function() {
if (o.readyState == 4) {
if (o.status == 200) processResponse(o.responseText);
else processResponse(null);
}
};
o.send();
return true;
} catch (ex) {
return false;
}
}
function go(n){
numThreads++;
if( n<10 )n="0"+n;
get("http://www.samair.ru/proxy/proxy-"+n+".htm", function(response) {
if (response != null) {
sux=response.toUpperCase();
var reg='<TR><TD><SPAN CLASS="PROXY\\d+">(\\d+)<\\/SPAN>\\.<SPAN CLASS="PROXY\\d+">(\\d+)<\\/SPAN>([\\.:\\d]+)\\s(\\d+)<\\/TD><TD>'
var re = new RegExp(reg,'g');
ret = sux.match(re);
for(var i=0;ret[i];i++) {
var re = new RegExp(reg);
var v = ret[i].match(re);
document.getElementById('result').innerHTML+=v[1]+'.'+v[2]+v[3]+v[4]+'
';
}
}
numThreads--;
});
}
document.getElementById('result').innerHTML='el-samir-grab
coded by ...
';
function crtThreads( s ) {
if( numThreads>=maxThreads ) {
setTimeout( "crtThreads("+s+")", 1000);
return 0;
}
for(var i=s;i<( s+maxThreads-numThreads ); i++) {
go( i );
}
if(i<numPages)setTimeout("crtThreads("+i+")", 1000);
return 0;
}
crtThreads(1);
</script>
</body>
</html>