用过一些免费的VPN,发现要么比较慢,要么过段时间就失效了。在PC上试了一下GoAgent,发现速度还不错,比那些免费的强多了。GoAgent,你懂的,不懂问谷谷或度娘。之所以要在路由器上安装GoAgent,是不想老在PC上开客户端,而且在路由器端直接安装,iPhone、iPad、安卓手机等也可以使用GoAgent无缝出国。

下面以某款刷了OpenWrt的路由器(我刷的版本是Attitude Adjustment 12.09)为例来说明一下怎么在路由器上安装goagent:

1、安装python

下载此附件(libopenssl_1.0.1c-1_brcm63xx),解压后将libopenssl_1.0.1c-1_brcm63xx.ipk上传到路由器/tmp目录。如果你的路由器的主控芯片是Atheros AR7161,请下载(libopenssl_1.0.1c-1_ar71xx)。

官方libopenssl的安全线程支持上有问题,会出现“ssleay_rand_add: Assertion `md_c[1] == md_count[1]‘ failed”这样错误,用这个libopenssl就没有问题了。

用ssh或者telnet登录到路由器运行如下命令进行相关软件包的安装:

cd /tmp
opkg update
opkg install libopenssl_1.0.1c-1_brcm63xx.ipk
opkg install python
opkg install pyopenssl python-openssl

2、在OpenWrt上安装GoAgent

GoAgent基于Google Appengine,因此你必须在App Engine上部署GoAgent的服务端。关于GoAgent的部署请看这里或者这里),很详细。

现假定你的GoAgent服务端已经部署完毕,下载GoAgent:https://nodeload.github.com/goagent/goagent/legacy.zip/3.0,解压出来,修改/local/proxy.ini,将ip改成0.0.0.0:

[listen]
ip = 0.0.0.0

将appid改成你自己的appid,多个appid用“|”分隔:

[gae]
appid = myvpn|myvpn2
用ssh或者telnet登录到路由器运行如下命令:
mkdir -p /app/goagent/local

将certs目录、CA.crt、proxy.ini、proxy.py上传到路由器/app/goagent/local目录下。

3、启动GoAgent

python /app/goagent/local/proxy.py

先不要关闭ssh控制台,使用chrome的SwitchySharp插件测试一下代理是否成功。将其中“HTTP 代理”地址改成路由器地址,我这里是192.168.11.1。使用SwitchySharp访问一下twitter.com或者facebook.com看看是否成功,如果成功,ssh控制台也会滚屏显示日志。

OpenWrt安装GoAgent实战教程

4、设置开机启动GoAgent

在路由器端将下面代码加入到/etc/rc.local(或者直接在luci界面,系统>启动项>本地启动脚本 中添加)中:

python /app/goagent/local/proxy.py

重启路由看看是否正常。

5、PAC文件利用

利用PAC文件可以实现自动代理。

打开SwitchySharp>导入/导出>导出PAC文件,将导出的SwitchyPac.pac文件上传到路由器/www目录中。根据这个文件浏览器就能确定哪些网址需要使用代理,哪些直接连接就可以了。

或者,打开proxxy.ini修改[pac]中的ip地址为0.0.0.0,将SwitchyPac.pac放入proxy.ini相同目录中,此时pac访问地址为http://192.168.11.1:8086/SwitchyPac.pac

pac在Chrome、IE、Firefox等上都支持的(有的要插件),包括iOS平台也可以使用pac文件。上传几张图,大家一看就明白了:

IE中自动代理设置:

OpenWrt安装GoAgent实战教程

我的rg100a-aa路由器刷完Attitude Adjustment 12.09后,装了一些常用的软件,再装python、goagent,空间基本够用了。

root@OpenWrt:~# df -h

Filesystem                Size      Used Available Use% Mounted on
rootfs                   13.0M     11.1M      1.9M  86% /
/dev/root                 1.8M      1.8M         0 100% /rom
tmpfs                    14.3M    476.0K     13.8M   3% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3           13.0M     11.1M      1.9M  86% /overlay
overlayfs:/overlay       13.0M     11.1M      1.9M  86% /

如果你刷了那些大而全的版本,空间不够的话可以装在U盘上。

原文:OpenWrt中文论坛 作者:fastpace