国内用户访问 GitHub 慢怎么办

GitHub 这个网站相信大家都比较熟悉,但是在国内访问完全是看缘分,对 GitHub 说"爱"太难了:访问慢、图片加载不出来,甚至根本无法访问。

那么怎么办呢,当然最好的方式是你可以自行搭建代理服务器,这种可以突破各种 404 的问题,不过你得需要一点技术和成本。

如果你只是需要访问 Github 的话,可以试试以下介绍的这种通过修改 host 实现国内流畅访问的方法,修改 host 完全不需要投入成本,也无需安装任何程序。

本文介绍的解决方案来自 521xueweihan/Github520Licoy/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 内容:

你可以采用设置定时任务通过 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: 尝试以下步骤:

  1. 确认 hosts 文件已保存并具有正确权限
  2. 刷新 DNS 缓存
  3. 尝试使用其他 DNS 服务器
  4. 检查网络连接是否正常

Q: GitHub 图片显示不出来怎么解决?

A: 确保已添加所有 githubusercontent.com 相关的 hosts 记录。

Q: 如何在手机上访问 GitHub?

A: 推荐使用官方 GitHub 移动应用,或者使用第三方 GitHub 客户端。

Q: 为什么 GitHub 克隆速度很慢?

A: 可以尝试以下方法:

  1. 使用 GitHub 镜像
  2. 通过 HTTPS 协议克隆
  3. 使用 GitHub CLI 工具

相关工具推荐

  1. SwitchHosts - 系统 hosts 管理工具
  2. GitHub520 - 自动更新 GitHub hosts
  3. Gitee - 国内 GitHub 替代平台

相关资源


也可以看看