Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货

Ghips 是一个仅 600 KB 的开源软件:
GitHub.com/aardio/Ghips
支持 Win7,Win8,Win10,Win11 等操作系统 。
软件通过 GitHub 官方 API 获取所有 IP,并自动找到最快 IP 。

Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货

文章插图
 
更新 IP 后首次访问 GitHub 可能会略慢,稍等就快了 。
程序需要以管理权限运行才能修改 hosts 。
建议右键点 Ghips 托盘图标,在弹出菜单中勾选「开机启动」 。
Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货

文章插图
 
这样开机就会静默获取管理权限启动,不会再弹出警告 。
访问速度快的 IP 经常变更,单击 Ghips 托盘图标能快速刷新 IP 测速结果 。
Ghips 使用 aardio 开发:
Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货

文章插图
 
类似 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");

【Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货】


    推荐阅读