1

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

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

支持 Win7,Win8,Win10,Win11 等操作系统。
软件通过 GitHub 官方 API 获取所有 IP,并自动找到最快 IP。

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

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

程序需要以管理权限运行才能修改 hosts。
建议右键点 Ghips 托盘图标,在弹出菜单中勾选「开机启动」。
image.png
这样开机就会静默获取管理权限启动,不会再弹出警告。

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

Ghips 使用 aardio 开发,早于 2019 年 就在 aardio 中发布了源代码(现已分离为 Ghips 项目):
image.png
类似 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 
)

JEECG低代码平台
664 声望84 粉丝