谷歌大部分服务可以通过自定义host来绕开墙,但是由于墙内各地网络封锁的差异,别人可用的host放在自己网络也许就不能用了。为了达到公开代码而且墙内大多数PC机的软件环境都可方便使用的目标,产生了这个利用微软Excel自带的VBA环境来测试、优化并且自动生成文本的解决办法。这个宏运行时读取 GoogleIp.txt文本里面保存的全部谷歌ip,在本机上自动进行ping测试,得到对应ip的延时并且排序以找到对于本机来说最快的ip,再根据此ip自动生成一组host文本,和一段特定格式的ip字符串,可以用在GoAgent的proxy.ini里面。
使用环境:有 32位Excel 的 Windows系统,ipv4网络环境。
文件说明:
压缩包有 ExcelVBA_GoogleHost.bas , GoogleHostName.txt , GoogleIp.txt , 一份现成host.txt , 说明.txt 共五个文本文件。
ExcelVBA_GoogleHost.bas :VBA代码,可以先用notepad打开,代码已经尽量加有注释了。
GoogleHostName.txt :收集到的一批谷歌的域名列表,格式是一行一个或数个谷歌域名,一行有多个域名的话域名之间用空格分开。 这份列表已经包含很多谷歌服务,也可以按照自己的实际需要来修改。
GoogleIp.txt:收集到的一批谷歌服务器ip,格式是一行一个ipv4地址。 可以在just-ping.com,www.just-dnslookup.com或者其他网站查询谷歌多个不同域名,又或者使用命令行”nslookup -vc 谷歌域名 国外dns”这样的命令得到更多谷歌服务器ip,查询结果粘帖入excel整理成一行一个ip后添加进这个文本文件里以供使用。
一份现成host.txt:一份已经整理好的host文本,可以直接使用。
说明.txt:本文件。。。:P
使用方法: 把压缩包解压到需要的目录,ExcelVBA_GoogleHost.bas等文件应该先用notepad打开检查一次(VBA代码已经尽量添加注释了)。 在同一个目录里面右键新建一个空白工作簿,用Excel打开(如果是打开Excel自动新建的,记得保存到这个目录里面),确认Excel里面没有同时打开其他工作簿。Excel菜单点击”工具”->”宏”->”visual basic 编辑器”(或者快捷键 Alt + F11)打开VB编辑器界面,编辑器界面的菜单点击”文件”->”导入文件”(或者快捷键 Ctrl + M),选择ExcelVBA_GoogleHost.bas,打开。然后回到Excel表格主界面,菜单选择”工具”->”宏”->”宏”(或者快捷键 Alt + F8),弹出的”宏”对话框里面选蓝GetGoogleHost,点击按钮”执行”,宏就开始自动运行。等到”整理完成”提示以后,表格的 H2 单元格就是可以让 GoAgent 使用的ip串,从 H5 单元格 # Google Begin 开始到下面 # Google End为止的就是整理得到的 host 文本,可以拷贝到系统host里面使用。
已知问题:
1:如果全部ip的ping结果都是Error,有可能是 a、Excel被防火墙或者杀软拦截不能联网,需要放一次例外;b、个别比较变态的网络商会屏蔽ping数据包,这时先在cmd窗口ping一下墙内大站看看有没有问题。
2:64位Excel需要更改变量和dll声明(参见:

Categories :

Tags :