
13.06.2009, 22:14
|
|
Познающий
Регистрация: 28.10.2008
Сообщений: 43
С нами:
9229334
Репутация:
125
|
|
Сообщение от InFlame
C Socks-версией всё понятно, а поддержка HTTPS когда-нибудь будет?
Код:
<?php
$secret = 'pwd';
if (isset($_POST["transfer"]) && $_POST["transfer"] != "")
{
if(isset($secret) && ($_POST['secret'] != $secret))exit;
$transfer_hosts = explode("::", base64_decode($_POST["transfer"]));
$next_host = array_shift($transfer_hosts);
$postfields = array(
"query" => $_POST['query'],
"host" => $_POST['host'],
"secret" => $_POST['secret']
);
if ($transfer_hosts[0] != "") $postfields["transfer"] = base64_encode(implode("::", $transfer_hosts));
$ch = curl_init($next_host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
} else {
if(isset($_POST['query']) && isset($_POST['host']))
{
if(isset($secret) && ($_POST['secret'] != $secret))exit;
header('Content-type: application/octet-stream');
@set_time_limit(0);
$query = base64_decode(str_replace(" ", "+", $_POST['query']));
list($host, $port) = explode(':', base64_decode(str_replace(" ", "+", $_POST['host'])));
if(!$port) {if (eregi("https:", $host) && !$port) {$port = 443;} else {$port = 80;}}
$ip = gethostbyname($host);
if($fp = @fsockopen($ip, $port, $errno, $errstr, 20))
{
fwrite($fp, $query);
while(!feof($fp))
{
$answer = fread($fp, 1024);
echo $answer;
}
fclose($fp);
}
exit;
}
}
?>
Изменения в строке
Код:
if (!$port) $port=80;
на
Код:
if(!$port) {if (eregi("https:", $host) && !$port) {$port = 443;} else {$port = 80;}}
и вуаля, https есть 
Последний раз редактировалось HIVER; 14.06.2009 в 08:14..
|
|
|