用PHPProxy打造自己的代理

作者: BillWSY 来源:http://www.billwsy.com/phpproxy-intro/

今天又折腾了一会儿电脑,这果然就是我放松的方法:)开始内容之前,先说下这个网站的改变――file.billwsy.com启用,Dreamhost的空间变成了一个2G的网盘。并且设置了guest/guest的帐户,方便共享给大家文件。另外,blog.billwsy.com指回了这个空间,Dreamhost的空间保留了mirror.billwsy.com,有空会想办法弄成镜像,短期内不会实现。Wordpress上增加了一个插件,本页上面的BillWSY后面的那个单引号不会这么大这么弯这么丑了。还有就是发现Wordpress似乎与IE兼容不好,后台出现发布时间选项点开后保存时莫名其妙消失的情况,在Firefox下完全没问题。

隆重介绍PHPProxy这个小软件,点这里访问它的下载页。它能将一个PHP空间变成一台代理服务器。代理的好处自然很多,绕过伟大的防火长城的域名劫持和IP禁止,如果有SSL还能绕过它的关键词审查。当然随着wikipedia和sf的解禁,至少对我来说可以暂时忽视GFW了。然而代理不仅仅如此,试想如果你有一个教育网电信网通互联的空间,却没有SSH权限来使用SSH Tunnel,看到了可以用一个PHP来做代理,那是多么美妙的一件事情啊!记得上次在复旦为如何访问那些教育网访问不到的网站折腾好久,如果早点有这个那将是多么美妙的一件事情啊。

以下内容来自这里

在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)

1 条评论:

cosbeta 说...

dreamhost是不能放这样的程序的哦