如何使用PHP脚本制作代理?

时间:2010-08-26 23:38:39

标签: php http proxy curl

假设我有一个专用ip的vps主机,我可以制作一个接收网址的curl php脚本,获取它并输出它,并将所有这些作为代理服务器,所以我可以把我的vps ip在浏览器的代理设置中。

有没有办法做到这一点?

注意:请不要建议我使用像glype这样的基于Web的代理。

由于

5 个答案:

答案 0 :(得分:1)

是的,你可以(见贾斯帕的回答)。这将有效地制作您自己的基于网络的代理。

但是,鉴于它是VPS,我建议使用SSH SOCKS代理,因为它会更容易并且将通过加密隧道运行到VPS。

答案 1 :(得分:1)

将Apache与mod_proxymod_proxy_http一起使用。请参阅docs

您可以通过https访问代理,有效加密计算机与VPS之间的所有流量。

答案 2 :(得分:1)

您可以使用tor代理,这是脚本:

<?php
function tor_new_identity($tor_ip='127.0.0.1', $control_port='9051',$auth_code='saad'){
$fp = fsockopen($tor_ip, $control_port, $errno, $errstr, 30);
if (!$fp) return false; //can't connect to the control port

fputs($fp, "AUTHENTICATE $auth_code\r\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code != '250') return false; //authentication failed

//send the request to for new identity
fputs($fp, "signal NEWNYM\r\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code != '250') return false; //signal failed

fclose($fp);
return true;
}

?>

调用函数“if (tor_new_identity('127.0.0.01', '9051')) {//do stuffs here}” 但您必须在VPS 1st中安装tor系统。

答案 3 :(得分:1)

你在问什么,你错了。你询问PHP脚本,但不喜欢Glype。 PHP的代理开发至少还有4个。

  1. GlypeProxy,最着名的PHP代理。是cURL。
  2. Poxy,我最近发现它,爱。使用客户端/服务器套接字。
  3. php-proxy,但很少有人分享这个名字//太基础了
  4. 但事实上,没有人会让你用它连接你的浏览器,因为你需要为连接实现tcp包装器。这是通常使用cURL或直接原始套接字的http接口的方式。

    你需要一个SO应用程序,而不是脚本。

    我建议你使用Linux的Squid代理(方便和干净的手册http://es.kioskea.net/faq/613-instalar-un-servidor-proxy-http-squid) 我建议你不要使用Windows(即使我这样做),但FreeProxy很棒。 (在http://www.softpedia.com/get/Internet/Servers/Proxy-Servers/FreeProxy.shtml下载)

    在代理的另一方面,你得到了VPN。 安装和连接到VPN,这是一个私有SSH保护的专用网络,可以更好,更轻松地连接到您的VPS。这将通过与VPS之间的加密连接绕过计算机的所有流量。

    您将拥有VPS的IP,以及双方与VPS / Desktop的“本地”连接。 (例如,除VPN之外不需要开放端口的Web服务器)

答案 4 :(得分:0)

您可以查看this PHP proxy that uses cURL。它并不完美(我正在修复它以处理PUT请求,application / json POSTS等)。问题是您需要配置Web服务器以重写对该文件的文件名的所有请求,以便您可以正确代理它们。