');
define('LOGO1','Go');
define('LOGO2','ogol');
define('URL','https://www.google.fr/search?q=');
define('URLIMG','&tbm=isch&biw=1920&bih=1075&sei=v5ecUb6OG-2l0wW554GYBQ');
define('VERSION','v1.1');
define('LANGUAGE',$langue);
define('RACINE','http://'.$_SERVER['SERVER_NAME']);
define('USE_WEB_OF_TRUST',true);
define('USE_GOOGLE_THUMBS',false);
// true = googol utilise les miniatures de google (c'est l'ip du visiteur que google verra mais c'est rapide et sans charge pour le servuer hébergeant googol)
// false = c'est le serveur googol qui télécharge les miniatures (ip user cachée à google, il ne verra que l'ip du serveur, mais c'est sensiblement plus lent)
if (!USE_GOOGLE_THUMBS){ // on va télécharger temporairement les miniatures pour cacher l'ip du visiteur à google
session_start();
if (!isset($_SESSION['ID'])){$_SESSION['ID']=uniqid();}
define('UNIQUE_THUMBS_PATH','thumbs/'.$_SESSION['ID']);
if (!is_dir('thumbs')){mkdir('thumbs');}// crée le dossier thumbs si nécessaire
}
$lang['fr']=array(
'previous'=>htmlspecialchars('Page précédente'),
'next'=>'Page suivante',
'The thumbnails are temporarly stored in this server to hide your ip from Google...'=>htmlspecialchars('les miniatures sont temporairement récupérées sur ce serveur, google n'a pas votre IP...'),
'Search anonymously on Google (direct links, fake referer)'=>htmlspecialchars('Rechercher anonymement sur Google (liens directs et referrer caché)'),
'Free and open source (please keep a link to warriordudimanche.net for the author ^^)'=>htmlspecialchars('Libre et open source, merci de laisser un lien vers warriordudimanche.net pour citer l'auteur ;)'),
'Googol - google without lies'=>'Googol - google sans mensonge',
'on GitHub'=>'sur GitHub',
'no results'=>htmlspecialchars('pas de résultat'),
'by'=>'par',
'search '=>'recherche ',
'Search'=>'Rechercher',
'Otherwise, use a real Search engine !'=>'Sinon, utilisez un vrai moteur de recherche !',
);
function aff($a,$stop=true){echo 'Arret a la ligne '.__LINE__.' du fichier '.__FILE__.'
';var_dump($a);echo '
';if ($stop){exit();}}
function msg($m){global $lang;if(isset($lang[LANGUAGE][$m])){return $lang[LANGUAGE][$m];}else{return $m;}}
function lang($default='fr'){if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){$l=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);return substr($l[0],0,2);}else{return $default;}}
function Random_referer(){
$rr=array(
'http://oudanstoncul.com.free.fr/',
'http://googlearretedenousfliquer.fr/',
'http://stopspyingme.fr/',
'http://spyyourassfuckinggoogle.fr/',
'http://dontfuckinglookatme.fr/',
'http://matemonculgoogle.fr/',
'http://auxarmescitoyens.fr/',
'http://jetlametsavecdugravier.con/',
'http://lesdeuxpiedsdanstagueule.fr/',
'http://moncoudedanstabouche.con/',
'http://monpieddanston.uk/',
'http://bienfaitpourvosgueul.es/',
'http://pandanstesdents.fr/',
'http://tupuessouslesbras.fr/',
);
shuffle($rr);
return $rr[0];
}
function file_curl_contents($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
if (!ini_get("safe_mode") && !ini_get('open_basedir') ) {curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);}
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_REFERER, random_referer());// notez le referer "custom"
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function add_search_engine(){
if(!is_file('googol.xml')){
file_put_contents('googol.xml', 'Googole'.msg('Googol - google without lies').'UTF-8data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABCFJREFUeNrEV21MW2UUfm7v7QcwWqj9YBQyEAdqwBGGY3xkQRlLRjLnsmnUOOOSJYsmxvhDo/7VRH+YaPxhYqLRiAkuccbh5jbFRZgR3IbpwphG0wxaSgOUXgot7W177/V9L/DDrLv3bcK2kzy97e15zz3vOc85573c4bfOY112ruNuyATBKP0iQNVufETwKu6ufElwTFBVtf0ePJzKiwQniQNoLmRVYyUHT5kNT3f7YLbatHtkE4gvr+LsWATT82kEoszm2gVFVZk0K+0qnulwoM7nAG82gxfM2n2OM5HfAjzeYhw76EIuk8HV6zP4engBYoozMmuhKTB8eJ0LeHlvGc74VzHwexyz8f//73NweNBnRU9rJWq3VaBzVwNqKkrwdv9NpHP6Thg6QHfe12TDO6dFiKv5dWaWVIIUhiYDeK4rhid7m+D2utDkm8blKUXXvommQA9HO4rw1Wgai0l9vQ2cGotBSiaQTafwz5xsqC+oOg4+QEIfJrtbTLCTtLyIQyqxjIGLIaZ1gqLcPgVVTko2CxQlxexAx3YbRv4M46cJtjW6HOA4DntaqiApPC5eEzEj6uezs94Kj8OCjy8sMTusG4EbYYlEQMChfU040C1BzmZJzed3wmTiwfE8hq8GYeVFpLKsDuiQIBgDBkcCOLyvEcX2MvC8QMNyW31VUdDbaSNlCbzRH2JMgaJfhv3DIubFcRx5rAZljhItLXkjQJyzFhVrTcphL4aRXaYUbMg5f5Jg0lDv2T0ezdFvfw1CYXaAsRWziN2SwXdDf+FHf2JzSJhPdtaYsbvBjrb6LWuVQsgXislaCn6biOLMeLwge0yzYENe6fPi8UercWUygte+CCK6osBVasKJ/T50tdaiurIcgYifVE+W2aaJMpcFT7U7sL/7ISQlBR9+P4OFeE67T6/vfjONqdA8vF433jvRgupyDqx2TQr5MIKzBDja97A2/3+4NIVEWr5FZ+DnAGQ5h1KnG4c6PGCxS2Gi5WKEtu0lsG0p1UK2nJDy6oz9TQaQlNac7GmrAYtdCiYOVDhthGQ8NnTzrUlKZLqRCNA+QQl5H+FodEVlaUSKoVIimdUeSjshdUZvjSzLWIonCTdkRhISw0b4N5wgRy0JJjIXdjVuzatTZFnrhlkphV/+mAaLXQqmKrgeTCOysKql4f7areh5xH6LTm9zuTaQZkNhnBqZZa4C3U74wfNubKtyacSyWbNYic5rUXj9hRZymhnHkH9t7O7d4cDxJ+oRCUfw5qfXMLcsM/cBrvnIZy+R6yesCw7udqK1wY0ddXbkshJlJObEDM5dmcPg5aVCu/f7AgqcBadHFzVslhTUiu+AZOh54OY9dOAGLcPzBJ+zls0m4izBSXLG0lJwnL4oEnTRxneHdx1bfzUfpD/+E2AAqmeV253DYKAAAAAASUVORK5CYII='.RACINE.'');
}
}
function parse_query($query,$start=0,$img=false){
if (!$img){ // web
$page=file_curl_contents(URL.str_replace(' ','+',urlencode($query)).'&start='.$start);
if (!$page){return false;}
preg_match_all(REGEX_WEB, $page, $r);
preg_match_all(REGEX_PAGES,$page,$p);
$p=count($p[2]);
$retour=array(
'links'=>$r[1],
'titles'=>$r[2],
'descriptions'=>$r[3],
'nb_pages'=>$p,
'current_page'=>$start,
'query'=>$query
);
return $retour;
}else{ //images
$page=file_curl_contents(URL.str_replace(' ','+',urlencode($query)).URLIMG.'&start='.$start);
if (!$page){return false;}
preg_match_all(REGEX_IMG,$page,$r);
preg_match_all(REGEX_PAGES,$page,$p);
preg_match_all(REGEX_THMBS,$page,$t);
$p=count($p[2]);
$retour=array(
'site'=>$r[2],
'links'=>$r[1],
'h'=>$r[3],
'w'=>$r[4],
'sz'=>$r[5],
'thumbs'=>$t[3],
'thumbs_w'=>$t[2],
'thumbs_h'=>$t[1],
'nb_pages'=>$p,
'current_page'=>$start,
'query'=>$query
);
return $retour;
}
}
function render_query($array){
global $start,$langue;
if (!is_array($array)||count($array)==0){return false;}
if (!isset($array['sz'][0])){
foreach ($array['links'] as $nb => $link){
$r=str_replace('#link',$link,TPL);
$r=str_replace('#title',$array['titles'][$nb],$r);
$d=str_replace(' ','',$array['descriptions'][$nb]);
$d=str_replace(' ','',$d);
$r=str_replace('#description',$d,$r);
echo $r;
}
$img='';
}else{
foreach ($array['links'] as $nb => $link){
$r=str_replace('#link',$link,TPLIMG);
$r=str_replace('#SZ',$array['sz'][$nb],$r);
$r=str_replace('#H',$array['h'][$nb],$r);
$r=str_replace('#W',$array['w'][$nb],$r);
$r=str_replace('#site',$array['site'][$nb],$r);
if (!USE_GOOGLE_THUMBS){
$repl='';
}else if (USE_GOOGLE_THUMBS){
$repl='';
}
$r=str_replace('#thumbs',$repl,$r);
$r=str_replace('#thumbs_h',$array['thumbs_h'][$nb],$r);
$r=str_replace('#thumbs_w',$array['thumbs_w'][$nb],$r);
echo $r;
}
$img='&img';
}
if($array['nb_pages'] != 0){
echo '
';
}
if ($start>0){echo '◄';}
for ($i=0;$i<$array['nb_pages']-1;$i++){
if ($i*10==$array['current_page']){echo ''.($i+1).'';}
else{echo ''.($i+1).'';}
}
if ($start<($array['nb_pages']-2)*10){echo '►';}
echo '
';
}
function grab_google_thumb($link){
if ($thumb=file_curl_contents($link)){
$local='thumbs/'.str_replace(array('?','/',':'),'',$link).'.jpg';
if (!is_file($local)){file_put_contents($local,$thumb);}
return $local;
}else{
return $link;
}
}
function clear_cache($delay=180){$fs=glob('thumbs/*'); if(!empty($fs)){foreach ($fs as $file){if (@date('U')-@date(filemtime($file))>$delay){unlink ($file);}}}}
function is_active($first,$second){if ($first==$second){echo 'active';}else{echo '';}}
// Gestion GET
if (isset($_GET['img'])){$img=true;}else{$img=false;}
if (isset($_GET['start'])){$start=$_GET['start'];}else{$start='';}
if (isset($_GET['q'])){$q=$_GET['q'];$title='Googol '.msg('search ').htmlspecialchars($q);}else{$q='';$title=msg('Googol - google without lies');}
?>
';}?>