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

Ghips 是一个仅 601 KB 的开源软件:
https://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.web 就是获取的 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 
)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值