一直以来主要的翻墙工具都是GAppProxy,但是GAppProxy无法解决SSL问题,HTTPS会弹出证书无效的警告,让我一直很头疼。在学校的IPV6上网时有IPV6环境还可以使用IPV6的一些代理,在家里就不得不使用基于GAE的代理了,因此我找到了GAppProxy的替代解决方案——WallProxy。
获得WallProxy源码
下载WallProxyV0.3.9b2的源码
http://wallproxy.googlecode.com/files/wallproxyv0.3.9b2.7z
解压缩之后得到gae_server
,php_server
,local
,local_video
,module
等几个目录。
其中gae_server
是GAE版服务器端源代码,php_server
是PHP版服务器端源代码,local
是本地客户端,local_server
是本地视频客户端,可用来下载/观看视频,module
是windows下python库文件的兼容包。
将服务器端源码上传至服务器
在http://appengine.google.com中新建一个GAE应用。
进入gae_server
目录,修改app.yaml
文件中的application:
为自己新建的GAE应用的ID。
然后执行命令python appcfg.py update gae_server
将源码上传至GAE。
服务器端的配置
将源码上传至服务器之后,用浏览器访问http://you-app-id.appspot.com/fetch.php(将you-app-id更换为应用的ID)
然后登录http://appengine.google.com,在GAE的控制面板上找到Data>>Datastore Viewer
选中WPConfig
(如果找不到WPConfig再用浏览器访问一遍http://you-app-id.appspot.com/fetch.php)
打开id=*的项目,设置cryptomode
(加密模式)和siteKey
(服务器端密码)
加密模式可以从下面选择一个: AES-CBC ARC2-OFB ARC4--32 Blowfish-CFB CAST-CBC DES-OFB * DES3-ECB
客户端的配置(Linux)
进入local
目录,修改配置文件proxy.conf
#设置监听地址和端口
LISTEN_ADDR = ('127.0.0.1', 8086)
#设置GAE服务端,可设置多个
GAE_PROXY = [{
'url': '<a href="http://gae-twitter.appspot.com/fetch.php'">http://gae-twitter.appspot.com/fetch.php'</a>, (设置为自己WallProxy应用的地址)
'key': '', (与服务器端的siteKey保持一致)
'proxy': {}, (代理的代理,当WallProxy无法连接时可以试着设置为‘proxy’: {‘http’: ‘www.google.cn:80′})
'crypto': 'XOR—0' (与服务器端的加密模式保持一致)
}]
客户端的使用(Linux)
在local
目录中执行命令python proxy.py
即可
Ubuntu中若要将WallProxy添加至开机启动项中,只需打开“系统>首选项>启动应用程序”,将上述命令添加进去即可。
注意:Linux上需要移除local
目录中的Crypto
以及OpenSSL
目录,否则会报错ImportError
,如果无法运行则需要手动安装这两个模块(一般情况下系统已经自带)
客户端的配置(Windows)
Windows用户可以下载Windows专用的GUI客户端
http://wallproxy.googlecode.com/files/wallproxy-win-local.7z
运行WallProxy.exe
,点击设置
修改配置文件,修改方法同上。
客户端的运行(Windows)
打开WallProxy.exe
后,点击“启动”即可运行代理,如果需要开机后自动运行/运行后自动启动/运行后自动最小化则可以点击设置
进行配置。
浏览器的设置
将浏览器的代理地址和端口设置为在WallProxy配置文件里设置的监听地址和端口,默认为127.0.0.1:8086
,推荐使用Chrome的插件Proxy Switchy。
试试看,如果打开http://www.google.com不会自动跳转到谷歌(http://www.google.com.hk)的话,说明代理已经生效。
证书的导入
此时虽然已经可以成功使用代理,但是访问HTTPS时仍然会弹出证书无效的提示,而WallProxy则能够轻松搞定证书问题!
首次运行WallProxy之后会在WallProxy的目录下生成一个cert
目录,其中含有一个ca.crt
文件。
Firefox依次操作:“首选项->高级->加密->查看证书->证书机构->导入->选择ca.crt文件->选中第一项->确定”,即可导入成功。
IE等Windows下浏览器用户双击ca.crt
选择导入证书按提示操作即可导入成功。
Linux下的Chrome/Chromium导入证书则稍微复杂一点,以Ubuntu为例,先要安装libnss3-tools
sudo apt-get install libnss3-tools
然后导入证书(假设ca.crt
所在路径为~/wallproxy/local/cert/
):
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n WallProxy -i '/wallproxy/local/cert/ca.crt'
这样证书就被成功导入了。
再打开HTTPS的网站时不会再弹出证书无效的提示了~~
UPDATE:亲,Wallproxy已经停止开发了,试试Wallproxy-Plugins吧,更简单更强大哦~
Leave a Comment