var xmlhttp function getPR(total) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Your browser does not support AJAX!"); return; } document.getElementById("result").innerHTML=""; var url="pr.php"; url=url+"?total="+total; //url=url+"&url="+u; xmlhttp.onreadystatechange=stateChanged; xmlhttp.open("GET",url,true); xmlhttp.send(null); } function stateChanged() { if (xmlhttp.readyState==4) { document.getElementById("result").innerHTML="The PR is "+xmlhttp.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } function ch(url){ //alert(url); //alert('hi'); //alert(url); //url=encodeURIComponent(url); if(url==""){ document.getElementById("result").innerHTML="Please Enter an URL"; return false; } var ch=GPR_awesomeHash(url); //alert(ch); //alert(url); var total=ch+"!--SEPARATOR--!"+url; //total=rc4Encrypt(GPR_HASH_SEED,total); // alert(total); total=base64_encode(total); total=encodeURIComponent(total);; // alert(total); document.getElementById('gch').value=total; getPR(total); } GPR_HASH_SEED="Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer."; GPR_awesomeHash=function(a){var b=16909125,c=0;for(;c>>23|b<<9}return GPR_hexEncodeU32(b)}; GPR_hexEncodeU32=function(a){var b=GPR_toHex8(a>>>24);b+=GPR_toHex8(a>>>16&255);b+=GPR_toHex8(a>>>8&255);return b+GPR_toHex8(a&255)}; GPR_toHex8=function(a){return(a<16?"0":"")+a.toString(16)}; //function for forcing form submission function checkEnter(e){ //alert('hi'); var characterCode; if(e && e.which){ e = e; characterCode = e.which; } else{ e = event; characterCode = e.keyCode; } if(characterCode == 13){ ch(document.prform.url.value); return false; } return true } function utf8_encode ( argString ) { // http://kevin.vanzonneveld.net // + original by: Webtoolkit.info (http://www.webtoolkit.info/) // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: sowberry // + tweaked by: Jack // + bugfixed by: Onno Marsman // + improved by: Yves Sucaet // + bugfixed by: Onno Marsman // * example 1: utf8_encode('Kevin van Zonneveld'); // * returns 1: 'Kevin van Zonneveld' var string = (argString+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n"); var utftext = ""; var start, end; var stringl = 0; start = end = 0; stringl = string.length; for (var n = 0; n < stringl; n++) { var c1 = string.charCodeAt(n); var enc = null; if (c1 < 128) { end++; } else if (c1 > 127 && c1 < 2048) { enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128); } else { enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128); } if (enc !== null) { if (end > start) { utftext += string.substring(start, end); } utftext += enc; start = end = n+1; } } if (end > start) { utftext += string.substring(start, string.length); } return utftext; } function base64_encode (data) { // http://kevin.vanzonneveld.net // + original by: Tyler Akins (http://rumkin.com) // + improved by: Bayron Guevara // + improved by: Thunder.m // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Pellentesque Malesuada // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // - depends on: utf8_encode // * example 1: base64_encode('Kevin van Zonneveld'); // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA==' // mozilla has this native // - but breaks in 2.0.0.12! //if (typeof this.window['atob'] == 'function') { // return atob(data); //} var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = []; if (!data) { return data; } data = utf8_encode(data+''); do { // pack three octets into four hexets o1 = data.charCodeAt(i++); o2 = data.charCodeAt(i++); o3 = data.charCodeAt(i++); bits = o1<<16 | o2<<8 | o3; h1 = bits>>18 & 0x3f; h2 = bits>>12 & 0x3f; h3 = bits>>6 & 0x3f; h4 = bits & 0x3f; // use hexets to index into b64, and append result to encoded string tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); } while (i < data.length); enc = tmp_arr.join(''); switch (data.length % 3) { case 1: enc = enc.slice(0, -2) + '=='; break; case 2: enc = enc.slice(0, -1) + '='; break; } return enc; } /** RC4 symmetric cipher encryption/decryption * Copyright (c) 2006 by Ali Farhadi. * released under the terms of the Gnu Public License. * see the GPL for details. * * Email: ali[at]farhadi[dot]ir * Website: http://farhadi.ir/ */ /** * Encrypt given plain text using the key with RC4 algorithm. * All parameters and return value are in binary format. * * @param string key - secret key for encryption * @param string pt - plain text to be encrypted * @return string */ function rc4Encrypt(key, pt) { s = new Array(); for (var i=0; i<256; i++) { s[i] = i; } var j = 0; var x; for (i=0; i<256; i++) { j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; x = s[i]; s[i] = s[j]; s[j] = x; } i = 0; j = 0; var ct = ''; for (var y=0; y