Ghips 是一个仅 601 KB 的开源软件:

项目:GitHub.com/aardio/Ghips 镜像:gitcode.net/aardio/Ghips

支持 Win7,Win8,Win10,Win11 等操作系统。

软件通过 GitHub 官方 API 获取所有 IP,并自动找到最快 IP。

3个github源码查看工具(Ghips自动获取GitHub)(1)

刷新间隔时间设为非 0 则定时获取最快 IP 并自动刷新域名解析。

更新 IP 后首次访问 GitHub 可能会略慢,稍等就快了。

程序需要以管理权限运行才能修改 hosts。建议右键点 Ghips 托盘图标,在弹出菜单中勾选「开机启动」。

3个github源码查看工具(Ghips自动获取GitHub)(2)

这样开机就会静默获取管理权限启动,不会再弹出警告。

访问速度快的 IP 经常变更,单击 Ghips 托盘图标能快速刷新 IP 测速结果。

Ghips 使用 aardio 开发,早于 2019 年 就在 aardio 中发布了源代码(现已分离为 Ghips 项目):

3个github源码查看工具(Ghips自动获取GitHub)(3)

类似 GitHub 这样的 HTTP API,在 aardio 中一般不需要特别封装,直接就可以转换为一般的函数对象,关键代码:

import web.rest.jsonClient; var http = web.rest.jsonClient(); var github = http.api("https://api.github.com/") var metaInfo = github.meta.get();

metaInfo.git 就是获取的 IP 列表。

修改 hosts 文件的文件夺权这些比较麻烦, 关键源码如下:

fsys.hosts.ownCacls(); fsys.hosts.update(githubIps)

另外,修改 hosts 需要管理权限。

如果将软件设为在开机时静默获取管理权限 —— 就不用每次都去点警告对话框了。

实现开机自动获取管理权限的关键源码如下:

import sys.runAsTask; var sysTask = sys.runAsTask("Ghips","GitHub 网速优化工具") sysTask.register("/tray");

添加定时器自动刷新 IP 的关键源码如下:

winform.setInterval( function(){ if(!winform.plusUpdateIps.disabled){ winform.plusUpdateIps.oncommand(,,true); } },interval * 5000 )

,