<?php
$mirrorlist 
"http://wikileaks.ch/mirrors.html";
$mirrorfile "wikileaks.txt";

function 
getSite($url) {

    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_HEADER false);
    
curl_setopt($chCURLOPT_RETURNTRANSFER true);
    
$content curl_exec($ch);
    
$httpcode curl_getinfo($chCURLINFO_HTTP_CODE);
    return (
$httpcode>=200 && $httpcode<300) ? $content 404;
}

function 
status($url) {

    
$agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
    
$ch=curl_init($url);
    
curl_setopt($chCURLOPT_USERAGENT$agent);
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($chCURLOPT_VERBOSEfalse);
    
curl_setopt($chCURLOPT_TIMEOUT5);
    
$page=curl_exec($ch);
    
$httpcode curl_getinfo($chCURLINFO_HTTP_CODE);
    
curl_close($ch);

    return (
$httpcode>=200 && $httpcode<300) ? true false;

}

if(!
file_exists($mirrorfile) || (filemtime($mirrorfile) < (time() - 3600))){

    
$list getSite($mirrorlist);

    if(
$list != 404) {
        
$handle fopen ($mirrorfile"w");
        
fwrite($handle$list);
        
fclose($handle);
    } else {
        
$list file_get_contents($mirrorfile);
    }
} else {
    
$list file_get_contents($mirrorfile);
}

preg_match_all('/<td><a href="(.*?)">/i'$list$result);

shuffle($result[1]);
foreach(
$result[1] AS $url){

    if(
status($url)){
        
header('Location: '.$url);
        die(
'Weiterleitung auf <a href="'.$url.'">'.$url.'</a>');
    } 
}             

?>