目录
fetch-github-hosts是由开发者Licoy在GitHub上开源的一款Hosts管理工具,采用GPL-3.0协议。它的核心目标是解决国内用户访问GitHub速度慢、甚至无法打开的问题。这个问题的主要原因是GitHub的CDN域名在国内某些网络环境下解析到的IP地址速度不理想。通过修改系统Hosts文件,将GitHub相关域名手动指定到响应速度较快的IP地址,可以显著改善访问体验。
与他Hosts工具不同,fetch-github-hosts不是从第三方IP地址查询接口获取数据,而是通过项目自身部署的服务器来获取GitHub的Hosts记录。这种方式保证了数据的集中维护和及时更新。项目提供了在线Hosts文件地址https://hosts.gitcdn.top/hosts.txt,用户可以直接查看或使用。
该工具最初使用Go语言开发(Fyne框架),在v4.0版本后重构为Rust + Tauri 2.0平台,性能和跨平台体验得到提升。它同时提供了桌面客户端和命令行终端两种使用方式,满足不同用户的操作习惯。桌面客户端支持深色/浅色主题、多语言(简体中文、English、日本語),并且内置了智能提权机制,写入Hosts文件时只需要一次性授权。
官网入口地址
项目主页:https://github.com/Licoy/fetch-github-hosts
在线服务页面:https://hosts.gitcdn.top/
下载地址
https://github.com/Licoy/fetch-github-hosts/releases
功能介绍
fetch-github-hosts的功能分为客户端模式和服务端模式两大块。客户端模式是大多数用户日常使用的场景。当你在桌面客户端或命令行中启动客户端模式后,工具会从远程Hosts源(默认使用https://hosts.gitcdn.top/hosts.txt)获取的GitHub相关域名DNS记录,然后将这些记录自动写入操作系统的Hosts文件中。整个过程只需要点一下按钮或者执行一条命令。
客户端模式支持多种Hosts源,内置了FetchGithubHosts和Github520两个常用源,用户也可以添加自定义的远程URL。自动获取间隔可以按分钟设置,实现定时更新,确保Hosts始终保持较新状态。智能提权功能让写入过程更顺畅,首次写入时系统会弹出权限请求,授权后本次会话期间无需重复输入密码。
服务端模式允许用户在本地启动一个HTTP服务。这个服务会自动解析GitHub相关域名,并对外提供Hosts文件下载。默认监听9898端口,提供hosts.txt(纯文本格式)和hosts.json(JSON格式)两种数据接口。服务端还内置了一个美观的Web管理页面,支持深色/浅色主题和多语言切换。这个模式适用于局域网内多台设备共享Hosts配置,或者开发者集成到自己的工具链中。
命令行终端支持是高级用户偏爱的使用方式。通过不同的参数组合,可以实现面运行、自定义更新间隔、指定Hosts源地址、自定义服务端端口等。配合Linux/macOS下的crontab定时任务,可以实现自动化的Hosts更新。对于Windows用户,也可以使用任务计划程序达到类似效果。
图形化桌面客户端提供了完整的操作界面。主界面可以查看当前Hosts状态、手动触发更新、设置自动更新间隔。程序会驻留在系统托盘中,方便后台运行和快速启停。支持浅色、深色和跟随系统三种主题模式,界面语言可以跟随系统或手动指定。
手动更新方式也提供支持。用户可以直接访问https://hosts.gitcdn.top/hosts.txt,将页面上的内容复制后粘贴到系统的Hosts文件中。这种方式不需要安装任何软件,适合临时使用或在无法安装软件的受限环境中操作。对应的DNS刷新命令也附在帮助文档中。
跨平台支持是该工具的显著特点。Windows平台提供.msi安装包和.exe可执行文件;macOS提供Universal DMG文件,同时兼容Intel芯片和Apple Silicon芯片;Linux提供.deb包和.AppImage格式,以及独立的命令行二进制压缩包(支持amd64和aarch64架构)。
应用场景
开发者在国内网络环境下访问GitHub时经常遇到网页加载缓慢、clone项目失败、release文件下载中断等问题,使用fetch-github-hosts可以显著改善。CI/CD服务器在拉取GitHub依赖时需要稳定的网络连接,可以通过服务端模式在内部网络部署Hosts同步服务。需要在办公室多台电脑上都配置GitHub加速,可以用服务端模式搭建一个内网Hosts源,所有电脑指向这个地址统一更新。
定价信息
fetch-github-hosts免费且开源。所有代码在GitHub上公开,用户可以自由下载、使用、修改、分发。项目接受赞助但不强制,使用软件本身不需要支付任何费用。
| 源码反馈/咨询 (共有 条反馈) |
GitHub加速常见问题
不是公司产品,是个人开发者Licoy在GitHub上开源的免费项目。Licoy还开发过他开源工具,在开发者社区有一定知名度。项目遵循GPL-3.0协议,代码公开。
是解决GitHub访问慢问题的工具。国内访问GitHub经常很卡,有时候页面都打不开,原因是域名解析到的国外服务器速度太慢。手动改Hosts可以解决,把GitHub的域名指向一个快的IP地址。这个工具就是自动帮你做这件事的,它会从自己的服务器获取的可用IP,然后自动写入你的电脑Hosts文件,不用你自己去查IP、改文件。
最省事的方法是用桌面客户端。去GitHub的Releases页面下载你系统对应的安装包,装好后打开。界面很简洁,点一下获取更新按钮,它就会自动把的GitHub Hosts写入系统。你还可以设置每隔几小时自动更新,设好就不用管了。习惯用命令行的用户,下载命令行版后执行一条命令就能更新。临时用一下的话,直接访问https://hosts.gitcdn.top/hosts.txt,把里面的内容复制到电脑的Hosts文件里就行。
免费的,开源软件不要钱。GitHub上的项目可以随便下载用。
安全性比较高。项目开源,代码公开,开发者社区可以审查,没有隐藏恶意代码。它的Hosts数据来自项目自己的服务器,服务器上放的就是GitHub各个域名的正确IP映射,不会有恶意跳转。写入Hosts文件时它会申请管理员权限,这是正常的。不过任何修改Hosts的操作理论上都有风险,如果数据源被恶意篡改,会导致域名被指向错误地址。但这个项目的数据源是公开可查的,被篡改的性很低。总的来说是靠谱的。
有几个实用经验。第一,在桌面客户端设置自动更新间隔建议选6到12小时,GitHub的IP地址变化不算频繁,太短了没必要,太长了失效。第二,如果你有多台电脑,可以在中一台启动服务端模式,他电脑的客户端模式里把Hosts源地址改成这台电脑的IP加端口,这样局域网里只需要一台电脑获取数据就行。第三,更新完Hosts后如果还没有生效,记得刷新一下DNS缓存,工具里自带了这个功能,点一下就行。第四,Linux服务器可以用crontab配合命令行版定时执行,比如每天凌晨跑一次更新。
特色的功能是内置服务端模式,同类Hosts工具很少有这个功能。你可以在家里或公司的服务器上跑一个服务端,然后所有设备都从这台服务器获取Hosts,统一管理很方便。第二个特色是图形化客户端做得比较完善,托盘图标、主题切换、多语言支持这些细节都有。第三个特色是跨平台覆盖全面,Windows、macOS、Linux都有对应的客户端,包括Intel和Apple Silicon都支持。第四个特色是用Rust和Tauri重构后性能好,内存占用低。
数据安全的。工具本身不上传任何用户数据到云端,所有操作在本地完成。客户端模式只是从远程下载一个文本文件,里面全是GitHub的域名和IP对应关系,不包含任何个人信息。服务端模式也是本地的,不会向外暴露你的数据。你使用过程中产生的任何信息都只在你自己的电脑上。
对于需要频繁访问GitHub的开发者来说,非常好用。不用再去网上搜Hosts,不用手动编辑那个系统文件,打开软件点一下或者让它自动运行就行。图形界面很直观,设置不复杂。命令行版也很轻便,适合服务器使用。不过它只能解决GitHub的访问问题,对他网站不管用。如果你需要一个通用的网络加速方案,得配合他工具一起用。
占用资源很少。桌面客户端基于Tauri框架,内存占用大概几十兆,CPU基本不占用。命令行版更轻,运行时内存占用更低。如果不设置开机自启,平时它不运行,不影响电脑性能。即使开着自动更新在后台,也就是每隔几小时唤醒一下执行几秒钟的任务,基本感觉不到。
支持Windows(提供msi和exe)、macOS(提供Universal dmg,Intel和Apple Silicon都能用)、Linux(提供deb包、AppImage和独立的命令行二进制包)。基本上主流桌面操作系统都覆盖了。命令行版还提供了aarch64架构的版本,可以在树莓派等ARM设备上运行。
服务端模式主要解决多个设备共享Hosts配置的问题。比如你办公室有10台电脑都需要加速GitHub,每台都去公网获取一次数据有点浪费。在中一台电脑上启动服务端模式,他电脑的客户端模式里把数据源地址改成这台电脑的内网IP加上9898端口,就可以从这台电脑获取数据了。服务端还提供了一个好看的Web页面,你可以直接在浏览器里打开http://这台电脑IP:9898,查看Hosts内容和状态。