)(.*?)(?=)#');
	define('REGEX_PAGES','#&start=([0-9]+)|&start=([0-9]+)#');
	define('REGEX_IMG','#(?<=imgurl=)(.*?)&imgrefurl=(.*?)&.*?h=([0-9]+)&w=([0-9]+)&sz=([0-9]+)|(?<=imgurl=)(.*?)&imgrefurl=(.*?)&.*?h=([0-9]+)&w=([0-9]+)&sz=([0-9]+)#');
	define('REGEX_THMBS','#

#title

#link

#description

'); define('TPLIMG','

#thumbs

#W x #H (#SZ ko)

'); 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-8 data: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 '
'; } 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');} ?> <?php echo htmlspecialchars($title); ?> ';}?>

FR EN

'.msg('The thumbnails are temporarly stored in this server to hide your ip from Google...');} ?>

';}?>
';}?>