假设我有一个专用ip的vps主机,我可以制作一个接收网址的curl php脚本,获取它并输出它,并将所有这些作为代理服务器,所以我可以把我的vps ip在浏览器的代理设置中。
有没有办法做到这一点?
注意:请不要建议我使用像glype这样的基于Web的代理。
由于
答案 0 :(得分:1)
是的,你可以(见贾斯帕的回答)。这将有效地制作您自己的基于网络的代理。
但是,鉴于它是VPS,我建议使用SSH SOCKS代理,因为它会更容易并且将通过加密隧道运行到VPS。
答案 1 :(得分:1)
将Apache与mod_proxy
和mod_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)
但事实上,没有人会让你用它连接你的浏览器,因为你需要为连接实现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服务器以重写对该文件的文件名的所有请求,以便您可以正确代理它们。