上个月我很有运气,第一次折腾goagent就轻松搞定它了,那是因为我碰到了好的goagent-gtk版本,这两天我手痒,心理感觉goagent-gtk速度偏慢,于是换了其他的goagent版本,结果发现比goagent-gtk版本还不如。花了不少时间去折腾上传配置,结果发现都是白白浪费时间。最后恢复到goagent-gtk版本,一切回归正常。
本来2014年12月15日左右的archlinux的yaourt源里有3个goagent版本,分别是
- community/goagent 3.2.3-2
- aur/goagent-git 20131026-1
- aur/goagent-gtk 20140118-2
第1个虽然是官方源,但刚上传uploader.py的时候就提示如下错误,根本没法用。
[root@lulinux-com server]# proxy uploader.py
direct://
[root@lulinux-com server]# proxy uploader.py
direct://
第2个虽然是评价很高的aur源(aur/goagent-git 20131026-1),但故障频发。
首先是找不到proxylib,如下所示:
[arche@lulinux-com ~]$ python /usr/share/goagent/local/proxy.py
Traceback (most recent call last):
File "/usr/share/goagent/local/proxy.py", line 174, in <module>
from proxylib import AuthFilter
ImportError: No module named proxylib
折腾一夜后发现原来是因为这个包里掉了一个关键的proxylib.py文件,需要上https://github.com/goagent/goagent下载另一个goagent版本的zip包,提取其中的proxylib.py到/usr/share/goagent/local中,然后才不会报错。
然后在终端里输入python /usr/share/goagent/local/proxy.py,正式运行goagent代理服务器的时候又出现如下错误:
IOError: [Errno 13] Permission denied: 'CA.crt'
看来又是掉了关键的CA.crt文件,于是从https://github.com/xuminzhong/goagent下载xuminzhong版本的goagent zip包,提取其中有关证书的一切文件(包括certs,CA.crt,CA.key,CA.srl)到/usr/share/goagent/local中,并且设置/usr/share/goagent/local/certs文件夹777属性,然后才不会报错。
结果呢!还是无法正常翻tmd墙!就算拷贝goagent-gtk下的proxy.ini中的google_ipv6的ip也无效。
以上两种goagent版本都是3.2.3。我猜测可能是因为针对windows用户多,针对archlinux的维护不足,才会造成这种现象吧。
第3个是v3.1.5的goagent-gtk版本,虽然aur评分较低,但却是我最初和最后的正确选择。
这个版本既没有proxylib问题,也没有CA证书问题,更能正常的翻墙。虽然有时会卡一点,但总体来说还是最舒心的!
回到goagent-gtk版本后,浏览器里提示“connection aborted. too short headers data=ent 服务端已经在 2014-12-15 10:28:24 升级到 3.2.0 版本, 请更新您的客户端。”这是因为我在此之前用过3.2.0版本,这次用的是3.1.5,所以不得不再次python uploader.zip。
github下的才是官方源吧,现在在用最新版本,没遇到bug,之前linux下cpu占用率100%的bug也被作者解决了。关键是找good ip
如果有vps的话,还是架设shadowsocks吧。找ip折腾人。
我用的是aur的另一版本goagent-gtk,在我的电脑上还好。我也搞不清楚原因所在,只能在这里总结一下浅薄的经验,只敢说是经验,不敢说是定论,并且对每个人适用。