十条Goagent的使用技巧

1:将proxy.ini选项进行注释

去Goagent官网把注释拷贝到proxy.ini里,方便了解和修改proxy.ini。建议只拷贝#及其后面的注释,不要把配置一同拷贝进来。

https://github.com/goagent/goagent/blob/wiki/ConfigIntroduce.md.ini

2:使用proxy.user.ini配置Goagent

在Goagent的local目录下,新建一份proxy.user.ini文件,将proxy.ini的内容拷贝进去。这样,以后修改配置的时候,只需要修改proxy.user.ini即可达到修改Goagent配置效果。

3:将proxy.user.ini文件保存到其它地方,以便Goagent更新后,可以继续使用自己的配置。
复制proxy.user.ini到一个目录下
cp proxy.user.ini D:/网络工具

4:更新后,新版本本地客户端使用proxy.user.ini

方法1:复制proxy.user.ini到新版Goagent/local目录下
方法2:使用cygwin的ln工具,在新版Goagent/local目录下,ln一个名为proxy.user.ini,到D:/网络工具/proxy.user.ini的硬链接。这样,每次修改proxy.user.ini,都是修改同一个文件。下次再升级后,删掉了这个版本的Goagent文件夹,手头上仍然有一份配置:D:/网络工具/proxy.user.ini

5:使用自定义ip

在proxy.user.ini的iplist字段内,新建自定义ip地址
google_usa = x.x.x.x
google_jp   =  x.x.x.x
google_gae = x.x.x.x
google_com = x.x.x.x

后缀usa,jp表示这个IP的物理地区,后缀gae表示google_gae的ip作为gae服务,后缀com表示我用google_com的ip用作google服务(www搜索服务,Google+服务,....)

6:设置proxy.user.ini,不对google.com进行证书替换(性能可以提升多少我也不知道,从逻辑角度看,不替换证书比替换证书少了个操作),另外,这样局域网其它Android手机不安装Goagent证书,直接使用PC上的Goagent作为代理,应该可以直接使用Google服务。google_com使用的IP为Gogotester测试为G的证书。

.google.com = google_com
.google.com.hk = google_com

7:将全部的Google服务都使用自定义IP,不替换证书,不走GAE。【激进策略】
7.1将proxy.ini的【profile】中的字段,全部用#注释掉
7.2修改proxy.user.ini的【profile】配置,除了以下修改,其它的用#注释掉
.google.com = google_com
.google.com.hk = google_com
.googleapis.com = google_com
.googleusercontent.com = google_com
.googletagservices.com = google_com
.googletagmanager.com = google_com
.google-analytics.com = google_com
.gstatic.com = google_com
.ggpht.com = google_com
.googlegroups.com = google_com
.googlecode.com = google_com
.android.com = google_com

8:youtube服务使用美国的Google服务器地址【优化猜想】

.youtube.com = google_usa

9:设置GAE的IP地址,即Gogotester测试为A(可以连接appspot)的IP

.appspot.com = google_gae

10:使用多个appid后,rangfetch时,多用几个线程【优化猜想】

修改proxy.user.ini的【autorange】段,修改rangfetch时的线程数
threads=6
---------------------------------------------------------------------------
附1:得到自己可用ip库的方法。

附1.1 确定自己使用哪个网段IP,Google的SPF记录提供了多达10个网段。(也就是说,这10个网段的IP是你知我知GFW知,那么GFW为什么不把这10个网段封掉,我的回答是它不敢。)
获取SPF记录的方法,使用nslookup查询Google的DNS服务器
nslookup -q=txt  _netblocks.google.com 8.8.8.8

附1.2 使用Gogotester测试一个网段。在Gogotester的导入IP段里,填入173.194.0.0/16。173.194.0.0/16总共有2^16个主机,其中包括google在香港部署的主机,平时我们使用nslookup www.google.com返回的IP一般都是173.194.127.0/24网段内的IP,显然,GFW首先全部屏蔽了173.194.127.0/24这个网段的2^8总共256个IP。(咱有Gogotester就是不服,就是任性,就要用173.194.0.0/16网段的IP。当然,延迟也不会低到哪去,也更容易中枪被封。我这里测试的最低延迟在300ms附近,)

附1.3 等待Gogotester将173.194.0.0/16的IP枚举完后,开始标准测试,“测试次数”设置为1,“线程数”可以适当调大些,我一般设置为50。测试完成后,剔除掉无效IP,将可以连接的IP导出到剪切板,新建一个文件173.194_google.txt保存这些IP,至此,你的173.194.0.0/16 IP库已经建立完成。以后每次Gogotester测试时,直接使用这些IP测试。

附1.4 从一个非SPF记录中的IP来获得IP地址库。

已知一个IP A.B.C.D是Google服务器地址,既可以访问www服务,也可以用作gae服务。那么,最有可能的情况是,A.B.C.0/24网段的其它IP,也是Google的IP地址。使用Gogotester扫描A.B.C.0/24网段(总共2^8=256个IP),有一定几率获得一个Google的IP地址库。

附2:手动检测某个IP是否可用的方法

附2.1 通常情况下,只要Gogotester测试为G的IP,表示这个IP为www服务可以,即我们在浏览器输入这个IP,就可以直接使用Google的搜索服务;Gogotester测试为A的IP,表示这个IP可以用作GAE服务,表示这个IP的443端口是开放的,并且可以用来提供GAE服务。proxy.user.ini中的appspot.com=google_gae设置了gae的ip地址。
附2.2 使用psping进行tcp ping检测该IP的80端口和443端口是否可以连接。(psping是SysinternalsSuite里的一个CMD命令行工具,微软提供了整个工具包的免费下载)
psping 173.194.127.55:80
psping 173.194.127.55:443
附2.3使用nmap检测端口是否开放极其端口提供的服务情况。如果你确定一个IP是Google的IP,并且Gogotester测试报告为A,通常你不需要进行这步,每次只需要psping来测试该IP端口是否开放(被屏蔽)。(namp是一个端口扫描工具,可以从nmap.org免费获得windows版本的下载)
nmap -sC -p80,443 173.194.127.55
-sC选项表示进行服务扫描,443端口的服务扫描会得到SSL证书概况
-p80,443选项表示只扫描80端口和443端口
------------------------------------------------------------------------------------

以上的Goagent配置使用仅代表本人基于经验的使用技巧。您应该清楚:应用上面策略配置Goagent后,您的Goagent实际使用效果可能会提升,也有可能会降低,或者无法使用。修改后的效果提升,效果降低均是由您的修改产生,与Goagent程序设计理念无关。修改后Goagent的实际使用效果提升/下降,并不意味着Goagent的默认配置存在缺陷。

源地址:https://code.google.com/p/goagent/issues/detail?id=19311
发表评论