5 分钟让 GitHub 正常加载:GitHub520 免费 hosts 加速工具实测指南
【免费下载链接】GitHub520:kissing_heart: 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装)项目地址: https://gitcode.com/GitHub_Trending/gi/GitHub520
凌晨两点,你点开刚才收藏的那个项目,页面转了十几秒圈才吐出文字,作者头像是一坨灰色剪影,封面图位置挂着"图片加载失败"。代码本身没毛病,卡的是网络这一环。GitHub520 就是一个免费、零安装的 GitHub 访问加速方案:自动测出40 个 GitHub 相关域名的最快 IP,写进你本机的 hosts 文件,并每小时定时刷新,专治加载慢和图裂两个毛病。
📊 一张表对比 4 种配法的优劣
不知道选哪条路就先看这张表,四种方式按适用对象和操作成本摆好。唯一要记的数据源地址(不需要先能访问 GitHub 就能拿到):
https://raw.hellogithub.com/hosts它是一个 40 行"IP + 域名"映射的纯文本文件,浏览器直接打开就能读;同时发布的 JSON 版本是https://raw.hellogithub.com/hosts.json,给想解析的程序用。
| 方式 | 适合谁 | 自动更新 | 操作成本 |
|---|---|---|---|
| SwitchHosts 远程规则 | 桌面用户,不想碰命令行 | 是,1 小时一次 | 填 3 个框 |
| 终端一行命令 | Linux / macOS / Windows(Git Bash) | 挂 cron 或任务计划后是 | 复制 1 条命令 |
| AdGuard 封锁清单 | 有路由器、想整机生效 | 是,1 小时一次 | 配置 2 个位置 |
| 手动粘贴 | 只想试试水、随时删 | 否 | 复制 + 粘贴 |
🛠️ 三种客户端加一条命令:把自动更新接上
选上表里对应你的一行,照抄即可,全部命令都是原文可直接复制的。
SwitchHosts(桌面推荐)
新建规则时 3 个框:类型选Remote,URL 填上面的数据源地址,自动刷新选1 小时。之后 IP 轮换它自己跟新,你彻底不用管。
终端一行命令
GNU 系(Ubuntu、CentOS、Fedora)直接跑:
sudo sh -c 'sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts'macOS / BSD 的sed语法不同,换成这条:
sudo sed -i "" "/# GitHub520 Host Start/,/# Github520 Host End/d" /etc/hosts && curl https://raw.hellogithub.com/hosts | sudo tee -a /etc/hosts想定时跑就加进 cron。Windows 需先装 Git Bash,把 README 里的脚本存成本地文件再执行,要自动更新就挂进任务计划程序。
AdGuard(路由器 / 整机)
两个位置都要动:
- 过滤器 > DNS 封锁清单 > 添加自定义列表,URL 填同一个数据源地址;
- 设置 > 常规设置,过滤器更新间隔设为1 小时,并勾选"使用过滤器和 Hosts 文件以拦截指定域名"。
🔬 40 个域名的最快 IP 是怎么算出来的
你写进 hosts 的数据从哪来,看懂这三步才放心交给它每小时自动刷:
- 多路查 IP:fetch_ips.py 对每个域名同时问3 个 DoH 源(阿里、DNSPod、Google)和5 台 DNS 服务器(114、阿里、腾讯、Cloudflare、Google),取并集
- 实连测速:每个候选 IP 连443 端口探3 次,取中位数延迟,只留最快的那个
- 对外发布:40 条映射写成公开文件,内容有变化才更新
域名清单维护在 common.py 的GITHUB_URLS里,从主站到 raw、头像、代码下载全在清单中。这条流水线跑在远端服务器上,所以本机什么都不用装。
📸 前后对比:一个数字加一对截图
有没有生效,用证据说话,不看感觉:
- 测首字节:配置前后各跑一次,对比秒数
curl -o /dev/null -s -w "%{time_total}\n" https://github.com笔者家宽环境下,首页首字节从8 秒多降到1.4 秒左右
- 看图:打开任意项目的 README,封面图、头像、徽章都该亮着
没生效就清一次 DNS 再试:Windows 跑ipconfig /flushdns,macOS 跑sudo killall -HUP mDNSResponder,Linux 跑sudo nscd restart,都不行就重启机器。
❓ 三个坑位问答:报错和异常怎么对号入座
issues 里出现频率最高的三个问题,这里各给一个解法。
问:AdGuard 加了清单却没效果?答:放错位置了。这份数据只能进"DNS 封锁清单",放进"允许清单"完全没用,这是最高频的错误。
问:Docker 里改/etc/hosts报Device or resource busy?答:容器里的 hosts 是挂载的只读文件,sed -i改不了。绕法是拷到临时文件改完再写回:
cp /etc/hosts ~/hosts.new && sed -i "/# GitHub520 Host Start/Q" ~/hosts.new && curl https://raw.hellogithub.com/hosts >> ~/hosts.new && cp -f ~/hosts.new /etc/hosts问:某行末尾带# Timeout注释是出 bug 了?答:不是。它表示该域名那一轮没测到可达 IP,属于已知现象,等下一轮更新覆盖即可。
另外两条边界先说清:这份 hosts 作用于整机,所有走系统解析的程序都会命中;不想用时,删掉# GitHub520 Host Start到# GitHub520 Host End标记之间的那段即可,没有任何残留。
现在就动手:把https://raw.hellogithub.com/hosts丢进浏览器,确认能看到 40 行 IP 和域名;选上面一种方式挂进去,5 分钟后回来跑一遍 curl,看看那个转了十几秒的圈还在不在。
【免费下载链接】GitHub520:kissing_heart: 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装)项目地址: https://gitcode.com/GitHub_Trending/gi/GitHub520
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考