自从上一篇文章,利用博客空间开设翻墙代理后,感觉还有些瑕疵,于是又开始折腾起自己的hostmonster主机起来。
虽然上文最后提供的CGIProxy+SSL访问的方法已经让GFW除了暴力封ip/封端口外无计可施,可是这种代理方式还是太依靠 CGIProxy的实现了,可惜的是CGIProxy即使在其最为得意的javascript支持方面也还有所欠缺,而且flash应用,例如偷菜,啊不,是开心农场,就不能访问。
=======================
squid cache proxy
=======================
想来想去还是squid代理更方便点,不过我以前从来没有试过在没有root权限的空间上装squid,可行么?
1.要启用额外的功能,必须要开放端口。hostmonster默认关闭了所有非常用端口(仅有21,22,25,80,443等可用),直接用 Live Chat联系客服,被告知只要购买了dedicated IP也就是独立IP就可以开通端口,正好我有dedicated IP,于是开通了30000-30010数个端口以备后用
2.接下来就是下载squid包编译了,去squid主页下载源码包,编译前记得加上./configure --prefix=/home/yourusername/squid
这样make install会安装到自己有权限的目录中去
3.配置~/squid/etc/squid.conf,端口改为30000,加上简单的ncsa auth。
a.先用htpasswd工具生成用户,此工具apache2自带,直接用以下命令生成
htpasswd -c 路径 用户名
b.找到ncsa_auth,放入合适路径,此工具squid自带,在编译目录下就能找到
c.修改~/squid/etc/squid.conf,在相应的地方加入
http_port 30000
authenticate_program ncsa_auth程序路径 生成的passwd文件路径
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
4.运行~/squid/sbin/squid -z创建缓冲区
再运行~/squid/sbin/squid,就跑起来了。试验成功。
(www.unswbbs.com:30000可供测试,用户名密码均为unswbbs)
5.squid @ SSL
本来想顺便配一下SSL的,可是啃了很多e文文档,发现原来浏览器到代理服务器的访问都是不加密的,目前四大浏览器 (IE,Firefox,chrome,safari)都不支持通过SSL来访问代理,好像是proxy协议压根没有规定这个。于是计划流产。考虑使用 OpenVPN。
===================
Openvpn
===================
如果能在服务器上开个openvpn,那就就可以直接vpn拨号,比代理更爽,而且还全加密,实在是翻墙的最佳方案了。可是……
1.下载,编译,安装,配置,折腾许久
2.运行:报告无tup权限,google之,iptable可改
3.iptable之,无root权限,@@
彻底失败,看来除非是VPS主机,拥有root权限,否则是不行了
VPS主机都巨贵无比,用不起啊用不起
===================
Tor
===================
因为本来就在折腾了,想看看能不能把tor跑起来,这样就可以用写点服务器端的脚本并且匿名运行,同时还可以提供个匿名的代理(虽然在client<->proxy这层不匿名)
结果也是折腾了半天报告说可打开的文件太少,ulimit -n 改之,告知需要root权限,tor也失败了
===================
总结,squid虽然成功了,但是因为代理请求是不加密的,所以还是会被墙;还是CGIProxy+SSH的解决方案好一点。
另外偶然之间发现了GAppProxy这款软件,用python写的,利用Google App Engine,利用Google的网速架代理,很好很和谐。只要把服务架上google app engine,再运行客户端就能用了。
速度方面因为用google的服务器所以非常的快
安全方面由于客户端和服务器端是加密传输的,所以GFW也没有办法
除非GFW封了整个Google的appspot站,否则这个方法挺无解
唯一的弱点就是配起来挺麻烦的,要基本熟悉Google App Engine的配置,这对普通用户来说要求高了点。
没有评论:
发表评论