在phpproxy的readme中有关于原理的讲解。首先看看http请求的流程可以帮助你正确的使用PHPProxy,如下:
| 1 你的浏览器
| 2 PHPProxy客户端模块(phpproxy.py)
| [3] 可能存在的客户端代理(比如你本来就是使用代理上网的,公司的代理等等)
| 4 PHP空间 + PHPProxy服务端模块(phpproxy.php)
| [5] 可能存在的服务器端代理(比如你的PHP空间也是用代理上网的)
|/ 6 目标资源
说明:
首先浏览器(1)发送http请求到PHPProxy(2),phpproxy.py(2)将这个http请求压缩到另一个http请求中,然后以 表单参数的形式直接或通过可能存在在代理[3]发送到phpproxy.php(4),phpproxy(4)收到请求后,解压出原始的http请求,直 接或通过可能存在的proxy[5]发送到目标资源(6)。
安装:
服务器端:下载phpproxy-0.6.tar.gz, 解压,打开phpproxy.php,此文件的原版有问题,已经过我修改。默认所有IP都具备访问权限,此时一定要注意保密proxy地址,否则大家都来 用这个proxy的话,空间的流量会让你吃不消的。要只想让自己用,把第7行里的1.2.3.4改成你的IP,并去掉行第7行和第20行的行首的”#”字 符,这样就只有你才可以使用这个代理。
上传整个文件夹到你的空间中,记下它的路径,如http://example/phpproxy/phpproxy.php
客户端:下载phpproxy.py.exe-0.6.zip,解压到本机文件夹,打开phpproxy.py.conf,定位到14行,把phpproxy的值设置成http://example/phpproxy/phpproxy.php要设置成你空间中的phpproxy.php的url地址。
phpproxy.py.conf如下修改:localport为本地的端口号,phpproxy为空间中phpproxy.php文件的位置。
运行client文件夹中的phpproxy.py.exe,保持命令窗口一直打开,把浏览器的代理地理设置成127.0.0.1:8888,(这 里的8888是上面在phpproxy.py.conf中设置的端口号,可以自己改)OK了,试试被墙的googlepage,windows live skydrive ……
看到这里,别以为本文已经完了。如果你下载了官方的压缩包而没有任何修改,那么可能根本就用不起来。如果下载了上文中的压缩包,尽管PHPProxy已经可以使用,然而直接访问这个页面的时候会产生许多问题。于是伟大了DIY精神又出现了,借助PHPNow,我尝试在本机上调试了这个程序,修改了其中一些小地方,隐藏了一些恼人的错误提示,现在的它基本能够直接勉强访问网站(不使用客户端,应急用),所以算基本正常了。我又打了一个包,发在网盘里。其中禁用了服务端的IP限制,修正了原版的Bug,调整了页面显示的内容,基本算是拿到手可以直接传在空间上的。需要注意的是,一定要保密文件名,否则被别人盗用消耗你宝贵的流量。在本页上端的网盘里也存有这个压缩包的副本。
演示:实际上,在这个空间和Dreamhost空间里,我都放了这个小程序。如果需要演示,你可以在下面留言,我会单独发邮件告诉你Dreamhost上的这个程序地址,当然你必须保证不公开它,不用它来访问有争议的网站,我不希望有IP被封的风险。
另外,如果你仅仅需要访问被和谐的网站,不妨试试[界无](反过来读,为了避免被和谐只能这样写了)这款软件,伟大的Google能带你找到它。上面介绍的PHPProxy,对我来说最主要的还是加速网页访问和在教育网内访问外国网站。
下面附带上几篇同类文章的地址:
教你把免费空间如何变成代理服务器—翻墙利器
使用PHPProxy把虚拟空间变成HTTP代理
使用PHPProxy把虚拟空间变成HTTP代理(ZT)