如何用一条命令配置 GitHub 加速:GitHub520 的 hosts 配置与 DNS 优化完整指南
【免费下载链接】GitHub520:kissing_heart: 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装)项目地址: https://gitcode.com/GitHub_Trending/gi/GitHub520
GitHub520 是一款 Python 实现的智能 DNS 优化工具:多源 DNS 并发解析 GitHub 域名,TCP 443 测速择优 IP 后写入 hosts 文件,一条命令解决国内访问 GitHub 加载慢、图片加载失败的问题,全程无需安装任何程序。
GitHub520 解决了什么问题:GitHub 页面加载慢与图片图裂
打开一个 GitHub 项目页面,浏览器转圈半分钟,README 里的头像、演示图全部显示"图片加载失败"的破图标,文档几乎没法看。这是国内无加速访问 GitHub 时的典型体验:主站及 avatars.githubusercontent.com、raw.githubusercontent.com 等数十个关联域名,解析结果和连接路径都不理想。GitHub520 的做法很直接:实测并挑选每个域名的最优 IP,固定写入本地 hosts。配置之后,图片正常加载,页面打开速度明显提升,效果对比可见下图。
一条命令配置 hosts,快速上手 GitHub 加速
Linux 和 macOS 用户在终端执行(需 root 权限):
sudo sh -c 'sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts'命令分两步:先用sed从# GitHub520 Host Start标记处截断,清掉旧的 GitHub520 配置块;再用curl追加最新的 hosts 内容。整个过程几秒钟内完成,重复执行也不会产生重复配置。Windows 用户可在 README 的"一行命令"小节查看基于 Git Bash 的脚本。
验证是否生效:
- 执行
ping github.com,看返回 IP 是否为 hosts 文件中的映射地址; - 打开 GitHub 页面,确认图片加载、页面响应;
- 未生效时刷新本地 DNS 缓存:Windows 执行
ipconfig /flushdns,Linux 执行sudo nscd restart,macOS 执行sudo killall -HUP mDNSResponder。
工作原理:多源 DNS 解析与 hosts 自动更新
多 DNS 源并发查询,合并去重后择优
fetch_ips.py 对每个 GitHub 域名走两条查询路径:DNS over HTTPS 查询(阿里 DoH、DNSPod DoH 优先,Google DoH 兜底,国内视角的解析结果优先)与传统 DNS 查询(114、阿里 223.5.5.5、腾讯 119.29.29.29,Cloudflare 1.1.1.1、Google 8.8.8.8 备用)。两路结果合并去重,并剔除 127.0.0.1 等已知不可用的保留地址,再进入测速环节。
延迟如何测:TCP 443 端口三次连接取中位数
测速不使用 ping,而是直接 TCP 连接候选 IP 的 443 端口:每个 IP 测 3 次,单次超时 1 秒,取延迟中位数作为该 IP 的成绩。中位数比单次结果抗偶然波动,而 443 端口直连也比 ping 更贴近真实 HTTPS 访问表现。成绩最低的 IP 即为该域名的最终选择。
定时任务如何自动更新 hosts:无变化不更新
脚本由定时任务周期执行,把最新结果同时保存为 hosts(标准 hosts 格式)和 hosts.json(便于工具集成)两种格式。写入前会先与上次内容比对,内容无变化就跳过写盘,避免不必要的更新;只有测出更优 IP 时,线上的 hosts 文件才会变化,端侧配合定时拉取即可获得增量更新。
进阶用法:SwitchHosts 远程管理与团队批量部署
配合 SwitchHosts 这类 GUI 工具,可以把 hosts 类型设为 Remote,填入 hosts 文件地址并开启每小时自动刷新,免去手动执行命令,界面配置如下:
团队场景下,可以把 hosts 文件放到内网服务器,再通过 Ansible 等工具批量下发到所有开发机,保证成员使用同一份解析配置;CI/CD 流水线中的构建机同样适用,依赖下载环节会直接受益。
如何参与 GitHub520 社区
项目维护了 good first issue,适合想参与开源的新手从这里入手,核心模块(IP 检测、DNS 查询、文件更新)代码量小、结构清晰。文档采用中英双语,覆盖手动配置、一行命令、SwitchHosts 等方案,细节见 README。使用中遇到问题或发现解析不准的域名,可以通过 issues 反馈,维护者会结合反馈持续调整 IP 选择逻辑。
一句话总结
GitHub520 适合所有在国内访问 GitHub 时遇到加载慢、图片图裂的开发者和团队:无需安装、一条命令生效,IP 择优和 hosts 更新都由后台定时任务持续完成,把网络优化变成一件不需要再操心的事。
【免费下载链接】GitHub520:kissing_heart: 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装)项目地址: https://gitcode.com/GitHub_Trending/gi/GitHub520
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考