目录
SmartHostsTool由开发者KenDvD使用Python编写,采用现代化的ttkbootstrap UI框架,界面走的是玻璃拟态风格,看起来比较舒服。软件的核心功能是帮你找出访问某个网站最快的IP地址,然后把这个IP和域名绑定到本机的Hosts文件里,绕过DNS解析这一步。
为什么需要这个工具?因为像GitHub这样的国外网站,在国内通过DNS解析出来的IP往往不是的,甚至有些IP扰导致访问很慢。手动去找最快的IP再改Hosts文件太折腾了,SmartHostsTool把整个过程自动化了:自动从多个远程源获取GitHub相关的IP列表,用60个线程同时测试这些IP的延迟和稳定性,然后按速度排好序,你点一下按钮就把最快的IP写进Hosts了。软件还支持自定义任意域名,不限于GitHub。
官网入口地址
开源项目地址:https://github.com/KenDvD/SmartHostsTool-github
下载地址
https://github.com/KenDvD/SmartHostsTool-github/releases
在Releases页面可以找到版本,选择对应系统的安装包下载即可。
功能介绍
自动获取GitHub IP列表
软件内置了多个可靠的远程Hosts源,比如GitHub520、tinsfox、jsDelivr CDN等。点击刷新就会从这些源自动获取GitHub相关域名的IP列表,不用自己到处去找。如果某个源失效了,软件也支持手动切换他源或者自定义添加。
多维度并发测速
这是SmartHostsTool的核心技术点。它用60个线程同时对多个IP进行测速,比一个一个测快很多。测速维度包括:TCP连接延迟、TLS/SSL握手验证、ICMP ping响应时间。还会计算抖动和稳定性评分,不只是看谁延迟低,还要看谁够稳定,避免选了那种一会儿快一会儿慢的IP。
智能排序与可视化展示
测速完成后,所有IP会按照速度从快到慢排好序。每个IP旁边会显示延迟数值和稳定性评分,超时的IP会标红,正常的标绿或者别的颜分,一眼就能看出哪个IP用。
一键写入Hosts文件
选中最快的一个或者多个IP,点一下写入Hosts按钮,软件就会把这些IP和对应的域名绑定写入到系统的Hosts文件里。写入前会自动备份原Hosts文件,万一写错了或者想还原,可以一键回滚到之前的状态。
自定义域名管理
除了GitHub,你也可以添加他任何域名,比如GitLab、Dropbox或者公司内网的某个服务。软件会帮你解析这个域名的多个IP,然后同样进行测速排序,选出最快的那一个写入Hosts。
定时自动测速与写入
软件支持设置定时任务,比如每隔几小时自动重新测速一次,如果发现了更快的IP就自动写入Hosts。这样即使原来的IP变慢或者挂了,系统也能自动切换到更优的IP,不需要你手动干预。
系统托盘后台运行
可以把软件化到系统托盘,在后台运行定时任务。需要的时候点开托盘图标就能调出主界面,不影响你做他事情。
DNS缓存刷新
修改Hosts文件后,有时候DNS缓存会让旧记录继续生效。软件提供了刷新DNS缓存的功能,点一下就能清空缓存,让新的Hosts设置立刻生效。
跨平台支持
软件基于Python开发,打包后可以在Windows、macOS和Linux上运行。不同系统的用户都能用。
Hosts备份与回滚
每次写入Hosts文件之前,软件都会自动把当前的Hosts文件备份一份。如果你发现写入后某个网站反而上不去了,可以点回滚按钮恢复到修改之前的状态。
应用场景
加速GitHub访问
这是最常用的场景。国内访问GitHub clone代码或者打开网页经常很慢,用SmartHostsTool找到最快的IP绑定到Hosts后,访问速度会有明显改善,尤是下载Releases文件和git clone的时候。
加速他境外开发网站
GitLab、Bitbucket、Docker Hub、Maven中央仓库等开发相关的境外网站,也可以用这个工具测试并绑定最快的IP。
解决DNS污染导致的访问问题
有些网站在国内被DNS污染,解析出来的IP是错的或者被墙的。通过工具直接获取真实的IP并写入Hosts,可以绕过DNS污染。
开发调试与网络优化
技术爱好者可以用它来测试不同CDN节点在你本地的表现,选择的节点。对于自建的服务,也可以用它来找出从你的网络环境访问服务的IP。
定价信息
SmartHostsTool是开源的免费软件。你在GitHub上可以看到全部源代码,不需要付费,也没有内购或者广告。如果觉得好用,可以去给作者的GitHub仓库点个Star支持一下。
| 源码反馈/咨询 (共有 条反馈) |
SmartHostsTool常见问题
不是公司开发的,是个人开发者KenDvD在GitHub上开源的项目。作者是一位程序员,把自己解决GitHub访问慢的经验和代码分享了出来。目前没有团队或公司背景,纯粹是个人作品。
是一个帮你自动测试哪些IP访问GitHub最快、然后把最快IP写进Hosts文件的工具。很多人访问GitHub很慢,就是因为DNS解析给你的IP不是最适合你网络环境的。这个工具能找到最适合你的那个IP,绑定之后打开GitHub网页或者git clone代码都会快很多。它也支持他任何网站,不光是GitHub。
先去GitHub的Releases页面下载对应你系统的安装包。Windows下双击安装或者解压后运行主程序。打开软件后,默认已经在GitHub相关的Tab页里了,点一下刷新按钮,软件会自动获取一批GitHub的IP并开始测速。等一两分钟,测速结果会按速度从快到慢排好。然后点写入Hosts按钮,选一个或几个最快的IP,确认写入就行了。如果之后访问变慢了,再打开软件点重新测速,把新的最快IP写进去。
免费,而且是开源的。代码都放在GitHub上,你可以自己看,也可以自己修改编译。开发者没有任何收费计划。如果有人说卖这个软件给你,那肯定是骗人的。
开源软件的安全性相对更有保障,因为代码公开,有安全风险的话容易被发现。这个工具主要做三件事:从远程源获取IP列表、测速、修改Hosts文件。它不会上传你的任何数据。不过有一点要注意:因为需要修改系统Hosts文件,所以程序启动时会申请管理员权限,这是正常现象。如果你从他非官方渠道下载的版本,会有被植入恶意代码的风险,建议只从GitHub的Releases页面下载。
有几个的原因。第一,你所在的地区或运营商网络本身访问境外网站就不太好,物理延迟本来就高,再好的IP也解决不了根本问题。第二,测速时用的TCP连接或者TLS握手本身就包括了网络传输时间,如果连接扰,延迟自然高。第三,可以试试在软件的设置里勾选同时测试IPv6,有时候IPv6的延迟比IPv4好一些。第四,如果你用的是移动网络或者校园网,存在额外的网络限制。
不会。SmartHostsTool只修改你在软件里指定的那些域名的Hosts记录,比如github.com、githubusercontent.com等。他所有网站还是正常走DNS解析,不受任何影响。如果你只添加了GitHub相关的记录,那就只影响GitHub的访问。
Windows、macOS和Linux都支持。作者在Releases页面提供了Windows的exe安装包以及macOS的dmg文件,Linux用户需要自己从源码运行或者找对应的打包格式。不同平台的界面和使用逻辑基本一致。不过Linux下修改Hosts文件也需要sudo权限,软件会尝试提权。
在设置里可以开启定时自动测速,比如设置每6小时自动测一次。开启后软件可以化到系统托盘在后台运行。定时测速的时候会启动60个线程并发测试,这时CPU占用会短暂升高到30%到50%左右,测完就降回去了,不会一直占用。如果你用的是笔记本电脑,电池模式下可以让定时测速的频率低一些。不想后台跑的话,直接关掉软件就行,手动需要时再打开测一次。
SwitchHosts是一个多Hosts方案切换工具,你可以预先准备好几套Hosts内容,点一下就切换到另一套。它不负责测速,也不帮你找最快的IP。SmartHostsTool的核心功能是帮你找出最快的IP并生成的Hosts内容,它也能写入Hosts,但没有SwitchHosts那样灵活的多方案管理。两者实是互补的:用SmartHostsTool测速生成配置,再用SwitchHosts来管理多套配置。
SmartHostsTool启动时应该会自动请求管理员权限,但有些情况下没提权成功。Windows用户可以右键点击软件图标,选择以管理员身份运行,再试一次。macOS和Linux用户需要确保运行程序的用户有权限修改/etc/hosts文件。另外也要检查一下Hosts文件是否被他软件锁定了,比如某些杀毒软件会保护Hosts文件不被修改,需要暂时关闭保护功能。
抖动是指连续多次测试延迟的变化幅度。比如第一次测50毫秒,第二次200毫秒,第三次60毫秒,抖动就比较大;如果三次都在50到55毫秒之间,抖动就很小。稳定性评分是综合抖动和丢包率算出来的一个分数,分数越高说明这个IP连接越稳定。选IP的时候建议优先考虑稳定性评分高的,哪怕延迟稍微高一点点也没关系,因为延迟低但忽快忽慢的IP用起来会感觉掉包或者卡顿。