View file gzip.php

File size: 1.86Kb
<?php
function compress_output_gzip($output) { return gzencode($output);}
if(strlen($mysupadd)<5)
{ echo "Нужно использовать параметр mysupadd"; exit;}

$pars='';
foreach (array_keys($_GET) as $k)
 if(($k != 'mysupadd'))
 $pars=$pars.'&'.$k.'='.urlencode($_GET[$k]);
$add=str_replace(" ","+",$_GET['mysupadd']).$pars;

if(is_array($_POST))
foreach (array_keys($_POST) as $k)
 $postd=$postd.'&'.$k.'='.urlencode($_POST[$k]);
if($postd)
{echo "К сожалению, метод ПОСТ не поддерживается. <br>Нажмите на Proxomitron-е 'Bypass' и перегрузите страницу";return;}
if(strcasecmp(substr($mysupadd,0,7),"http://")==0)
 $mysupadd=substr($mysupadd,7,1000);
$nn="\r\n";
if(strpos($add,'/'))
{
 $url=substr($mysupadd,0,strpos($mysupadd,'/'));
 $page=substr($add,strpos($add,'/'),1000);
}
else {$url=$mysupadd; $page="/";}
$headers = getallheaders();

while (list ($header, $value) = each ($headers)) {
 if($header != "Host")
 if(!strpos($value,"gzip"))
 $hdr=$hdr.$nn.$header.': '.$value;
}
$hdr="GET ".$page.' HTTP/1.0'.$nn."Host: ".$url.$hdr.$nn.$nn;
$fp = fsockopen($url, 80, &$errno, &$errstr, 30);
if(!$fp) { print "$errstr ($errno)<br>\n"; exit; }
fputs($fp,$hdr);
flush();
$OK=false;
$GZ=false;
$AGZ=false;
$res="";
while(!feof($fp)) {
 $line=fgets($fp,20048);
 if($line==$nn) break;
 if(strpos($line,"text/html"))
 $GZ=true;
 if(strpos($line,"gzip"))
 $AGZ=true;
 header($line);
}
if($GZ&&(!$AGZ))
{
$tit[0]="<title>";
$tit[1]="<Title>";
$tit[2]="<TITLE>";
$rep[0]="<title>Z/";
$rep[1]="<Title>Z/";
$rep[2]="<TITLE>Z/";
header("Content-Encoding: gzip");
 ob_start("compress_output_gzip");
 while(!feof($fp))
 echo str_replace ($tit, $rep, fgets($fp,20048));
}
else
{
 while(!feof($fp))
 {
 echo fgets($fp,1024);
 flush();
 }
}

fclose($fp);
?>