Alguna vez creiste en dios/es?

30 septiembre 2008

Dawkins censurado en Turkia

Como sabran, o no, el biólogo Richard Dawkins ha sido censurado en Turkia, y ninguno de sus habitantes puede acceder a su sitio.

Para permitirles a los ciudadanos turkos (o de cualquier otro pais con leyes retrogradas) acceder al sitio de Dawkins he creado este pequeño proxy que cualquiera puede hostear en su servidor web (siempre q no este en turkia claro xD).


<?php
// This should work fine without any url as a GET var
$temp = explode('/',$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF'] = $temp[1];
$url = str_replace('/'.$_SERVER['PHP_SELF'],'',$_SERVER['REQUEST_URI']);
if (substr(trim($url),0,1) != '/') {
header('Location: /'.$_SERVER['PHP_SELF'].'/');
}
$url = 'http://www.richarddawkins.net'.$url;

$headers = ($_POST['headers']) ? $_POST['headers'] : $_GET['headers'];

//Start the Curl session
$session = curl_init($url);

// If it's a POST, put the POST data in the body
if (count($_POST)) {
$postvars = '';
while ($key = key($_POST)) {
$postvars .= $key.'='.urlencode(current ($_POST)).'&';
next($_POST);
}
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars);
}

// Don't return HTTP headers. Do return the contents of the call
curl_setopt($session, CURLOPT_HEADER, ($headers == "true") ? true : false);
curl_setopt($session, CURLOPT_FOLLOWLOCATION, true);
//curl_setopt($ch, CURLOPT_TIMEOUT, 4); // optional
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($session);

// Get the content type from CURL
$content_type = curl_getinfo($session);
$mimeType = $content_type['content_type'];

if ($mimeType)
{
header("Content-Type: ".$mimeType);
}

echo str_replace('richarddawkins.net',str_replace('www.','',$_SERVER['HTTP_HOST']).'/'.$_SERVER['PHP_SELF'],$response);

curl_close($session);

?>

Solo copia el codigo, pegalo en un archivo con extencion .php y subilo a tu servidor (claro luego de leer el codigo y constatar que es seguro pedazo de bestia)