乐趣区

关于开源软件:Ghips自动获取-GitHub-最快-IP一键刷新-hosts说说源码中的干货

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 托盘图标,在弹出菜单中勾选「开机启动」。

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

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

Ghips 应用 aardio 开发,早于 2019 年 就在 aardio 中公布了源代码(现已拆散为 Ghips 我的项目):

相似 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 
)
退出移动版