国内用户访问 GitHub 慢怎么办
GitHub 这个网站相信大家都比较熟悉,但是在国内访问完全是看缘分,对 GitHub 说"爱"太难了:访问慢、图片加载不出来,甚至根本无法访问。
那么怎么办呢,当然最好的方式是你可以自行搭建代理服务器,这种可以突破各种 404 的问题,不过你得需要一点技术和成本。
如果你只是需要访问 Github 的话,可以试试以下介绍的这种通过修改 host 实现国内流畅访问的方法,修改 host 完全不需要投入成本,也无需安装任何程序。
本文介绍的解决方案来自 521xueweihan/Github520 和 Licoy/fetch-github-hosts
通过修改本地 hosts 文件,试图解决:
- GitHub 访问速度慢的问题
- GitHub 项目中的图片显示不出的问题
这个方法确实不错,当然这种修改 host 的方法会失效的,需要即时更新。
为什么 GitHub 在国内访问慢?
GitHub 作为全球最大的代码托管平台,对于开发者来说是不可或缺的工具。然而,由于众所周知的原因,中国大陆用户经常遇到以下问题:
- 网页加载缓慢,经常超时
- 图片和头像无法显示
- 代码下载速度极慢
- 部分 API 接口无法访问
五种解决方案对比
解决方案 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
修改 Hosts | 免费、无需安装软件 | 需要定期更新 | 个人用户 |
GitHub 镜像 | 稳定、速度快 | 数据同步延迟 | 仅需浏览代码 |
代理服务器 | 完整访问、稳定 | 需要付费 | 企业用户 |
CDN 加速 | 速度快、稳定 | 配置复杂 | 团队使用 |
Git 加速工具 | 专注于代码下载 | 功能单一 | 仅需克隆代码 |
Github 无法访问最简单的解决方案:修改 Hosts 文件
第一步:找到 Hosts 文件位置
不同系统的 hosts 文件位置:
- Windows:
C:\Windows\System32\drivers\etc\hosts
- Linux/Mac:
/etc/hosts
- Android(需 root):
/system/etc/hosts
- iOS(需越狱):
/etc/hosts
第二步:添加最新的 GitHub Hosts 记录
访问https://hosts.gitcdn.top/hosts.txt获取最新 Hosts 记录:
140.82.113.26 alive.github.com
140.82.113.26 live.github.com
185.199.111.154 github.githubassets.com
140.82.113.21 central.github.com
185.199.111.133 desktop.githubusercontent.com
185.199.109.153 assets-cdn.github.com
185.199.111.133 camo.githubusercontent.com
185.199.109.133 github.map.fastly.net
151.101.77.194 github.global.ssl.fastly.net
20.205.243.166 gist.github.com
185.199.109.153 github.io
20.205.243.166 github.com
192.0.66.2 github.blog
20.205.243.168 api.github.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 user-images.githubusercontent.com
185.199.110.133 favicons.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.108.133 avatars4.githubusercontent.com
185.199.111.133 avatars3.githubusercontent.com
185.199.109.133 avatars2.githubusercontent.com
185.199.109.133 avatars1.githubusercontent.com
185.199.108.133 avatars0.githubusercontent.com
185.199.111.133 avatars.githubusercontent.com
20.205.243.165 codeload.github.com
52.217.168.185 github-cloud.s3.amazonaws.com
16.182.39.145 github-com.s3.amazonaws.com
52.216.142.20 github-production-release-asset-2e65be.s3.amazonaws.com
3.5.21.105 github-production-user-asset-6210df.s3.amazonaws.com
52.216.37.81 github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153 githubstatus.com
140.82.114.18 github.community
20.43.185.14 github.dev
140.82.114.21 collector.github.com
13.107.42.16 pipelines.actions.githubusercontent.com
185.199.110.133 media.githubusercontent.com
185.199.110.133 cloud.githubusercontent.com
185.199.110.133 objects.githubusercontent.com
第三步:刷新 DNS 缓存
- Windows:
ipconfig /flushdns
- Linux:
sudo systemctl restart systemd-resolved
- Mac:
sudo killall -HUP mDNSResponder
自动更新 Github 可用 hosts
下面的地址无需访问 GitHub 即可获取到最新的 hosts 内容:
- 文件:https://raw.hellogithub.com/hosts
- 文件:https://hosts.gitcdn.top/hosts.txt
- JSON:https://raw.hellogithub.com/hosts.json
你可以采用设置定时任务通过 shell 从上面两个地址获取最新内容更新 hosts 文件,也可以借助一些图形化界面工具,推荐使用 SwitchHosts 工具管理 hosts。
在 SwitchHosts 中添加规则时,可以将类型指定为远程,将上面文件地址填入 URL 设置自动更新频率即可。
Unix/Linux 一键使用
sed -i "/# fetch-github-hosts begin/Q" /etc/hosts && curl https://hosts.gitcdn.top/hosts.txt >> /etc/hosts
提示:可以设置 crontab 定时任务定时获取更新即可,解放双手!
常见问题解答(FAQ)
Q: 修改 hosts 后仍然无法访问 GitHub 怎么办?
A: 尝试以下步骤:
- 确认 hosts 文件已保存并具有正确权限
- 刷新 DNS 缓存
- 尝试使用其他 DNS 服务器
- 检查网络连接是否正常
Q: GitHub 图片显示不出来怎么解决?
A: 确保已添加所有 githubusercontent.com 相关的 hosts 记录。
Q: 如何在手机上访问 GitHub?
A: 推荐使用官方 GitHub 移动应用,或者使用第三方 GitHub 客户端。
Q: 为什么 GitHub 克隆速度很慢?
A: 可以尝试以下方法:
- 使用 GitHub 镜像
- 通过 HTTPS 协议克隆
- 使用 GitHub CLI 工具
相关工具推荐
- SwitchHosts - 系统 hosts 管理工具
- GitHub520 - 自动更新 GitHub hosts
- Gitee - 国内 GitHub 替代平台