页面转圈、头像裂图、
git clone卡在 99% 不动、Release 下载到一半断流……对国内开发者来说,GitHub 的"薛定谔式可用"几乎是日常。这篇文章不堆黑科技,只讲现在真正还有效的办法,并把那些早就失效、却还在网上流传的"祖传方案"逐个点名排掉。信息核验时点:2026 年 9 月(本文工具与站点有效性按此核对,镜像/加速服务变化较快,动手前请以最新状态为准)
本文要点
- 一句话定义:一份 2026 年 GitHub 国内访问加速指南,按"域名解析—网络链路—页面资源"定位打不开的原因并给出可复制方案
- 三类原因:DNS 污染、SNI 阻断、跨境链路拥塞,另需排除 GitHub 自身故障(先查 githubstatus.com)
- 方案地图:换公共 DNS、hosts 精确指路、Git 命令行加速、一键加速工具、镜像/文件加速站、包管理器换源
- 避坑:fastgit、cnpmjs 镜像等"祖传方案"已失效;手抄固定 IP 极易过期,hosts 建议用自动更新的 GitHub520
- 版本/时效:有效性按 2026 年 9 月公开信息核对,镜像与加速服务"今天能用、明天可能限流"
- 原则与局限:只讨论合规技术手段、不涉及科学上网;加速站只下载、不登录、用完即走
写在最前:这篇文章能帮你解决什么
GitHub 打不开,通常不是单一原因,而是"域名解析 — 网络链路 — 页面资源"这条链路上某一环出了状况。不同环节出问题,对应的解法完全不同。所以本文的顺序是:
- 先搞清楚是什么原因导致打不开(判断对了,才不用瞎折腾);
- 再给出一张方案地图,按你的身份和场景对号入座;
- 然后逐个给出可复制的具体操作;
- 最后专门用一节,清掉那些已经失效的"老偏方"。
本文涉及的工具与站点有效性,均按 2026 年 9 月的公开信息核对。网络环境变化很快,镜像类站点尤其容易"今天能用、明天限流",动手时请以你搜索到的最新状态为准。
一、先别急着折腾:GitHub 为什么"打不开"
1.1 大多数时候,不是 GitHub 挂了,而是"路"堵了
一个很典型的场景:你这边刷了三次都打不开,隔壁同事却说"我这儿好好的"。这种"别人能上、你打不开"的落差,恰恰说明问题多半不在网站本身,而在你到 GitHub 的这条路上。
访问 GitHub 的每一次点击,都要跨越一条复杂的跨境链路:经过多个国际路由节点、运营商出口,才能到达目标服务器。路径越长,越容易出现延迟飙升、丢包、连接超时。表现到页面上,就是"加载不出来"。
1.2 三个最常见的技术原因
(1)DNS 污染 —— "导航给错了地址"
当你在浏览器输入 github.com,系统要先向 DNS 服务器查询这个域名对应的 IP 地址。DNS 查询走的 UDP 协议本身没有认证,比较脆弱。在跨境链路上,可能被"抢答":一个伪造的、错误的 IP 地址先一步返回,于是你的电脑就照着这个错误地址去连——要么连到很远、很慢的节点,要么干脆连不上。这就是"DNS 污染"。
(2)SNI 阻断 —— "握手中途被掐断"
建立 HTTPS 连接时,客户端要先告诉服务器"我想访问哪个网站",这个信息写在 TLS 握手的 SNI 字段里。链路中的拦截设备会嗅探这个字段,一旦命中特定目标,就直接伪造一个连接重置(RST)包,把这次握手打断。表现就是:页面刚发出请求就"连接被重置"。
(3)跨境链路拥塞 —— "高速路堵车"
即使域名解析对了,数据包在跨国传输中也会遇到出口带宽拥挤、路由绕路。GitHub 的代码对象存储主要在海外,晚高峰时从国内直连,下载速度掉到几十 KB/s 都不稀奇。
1.3 也别忽略:GitHub 的页面"零件"特别多
GitHub 不是一张静态网页,它背后是十几个域名各管一摊:
| 域名 | 用途 | 出问题时的表现 |
|---|---|---|
| github.com | 主站页面、仓库浏览、Issue/PR | 白屏、超时、登录转圈 |
| api.github.com | API 接口、Copilot、Actions 日志 | 登录失效、接口报错 |
| raw.githubusercontent.com | 原始文件、README 图片直链 | 图片裂开、脚本下载失败 |
| codeload.github.com | 源码包 zip / tar.gz | 下载慢、中途断流 |
| objects.githubusercontent.com | clone / push 的对象传输 | clone 失败、push 卡住 |
| github.githubassets.com | 前端样式与 JS | 页面能开但样式错乱 |
| avatars.githubusercontent.com | 用户与组织头像 | 头像刷不出来 |
只要上面任意一项超时,整个页面就可能"卡住不动",但浏览器只会笼统地告诉你"GitHub 打不开",不会说具体是哪一段卡住了。
1.4 也有可能,真的是 GitHub 自己的锅
除了上述网络因素,GitHub 自身偶尔也会大规模故障。仅 2026 年前几个月,GitHub 就出现过多次重大事故,其中 2 月 9 日的全站中断波及主站、API、Actions 与 Copilot,属于典型的平台侧问题。这种时候你换什么方法都没用,只能等官方修复。
一分钟自检清单(动手前先跑一遍):
- 打开 GitHub 官方状态页
githubstatus.com,确认是不是平台自身故障; - 换手机热点 / 4G 测试:如果能打开,说明你原来的网络到 GitHub 的链路拥塞;
- 暂时关掉浏览器里的代理类插件(如 SwitchyOmega)或无痕模式访问,排除插件干扰;
- 换一个浏览器再试,排除单浏览器的 DNS 缓存问题。
自检确认是"网络链路问题"之后,再按下面的方案对症下药。
二、方案地图:先选路线,再动手
| 方案 | 操作难度 | 适合谁 | 生效范围 | 持久性 |
|---|---|---|---|---|
| 换公共 DNS | 低 | 所有人 | 整机 | 一般 |
| hosts 精确指路 | 低 | 所有人 | 整机 | 需定期更新 |
| Git 命令行加速 | 中 | 开发者 | 仅 git 操作 | 较持久 |
| 一键加速工具 | 低 | 不想折腾的人 | 整机 / 指定应用 | 取决于工具维护 |
| 镜像 / 文件加速站 | 低 | 下载大文件的人 | 单次下载 | 站点易变 |
| 包管理器换源 | 低 | 装依赖的人 | 单个包管理器 | 持久 |
原则很简单:临时救急用最轻的,长期使用用最稳的,下载大文件用专门的加速站。 多个方案之间并不冲突,可以叠加组合。
三、方案一:换一个更靠谱的 DNS(最省事)
最省事、副作用最小的办法,是把系统或路由器的 DNS 换成国内中立、抗污染的公共 DNS。它不用装任何软件,改完就能缓解"解析到错误 IP"的问题。
推荐的 DNS 地址(任选一组):
- 阿里云公共 DNS:
223.5.5.5和223.6.6.6 - 腾讯 DNSPod:
119.29.29.29和182.254.116.116 - Cloudflare:
1.1.1.1和1.0.0.1
小提醒:Google 的 8.8.8.8 在国内经常返回被污染的结果,还慢,不要用它来"救"GitHub。操作步骤(以 Windows 为例):
- 右键任务栏网络图标 → 打开"网络和 Internet 设置";
- 进入"更改适配器选项",右键当前使用的网络 → "属性";
- 双击"Internet 协议版本 4 (TCP/IPv4)";
- 勾选"使用下面的 DNS 服务器地址",填入首选和备用 DNS;
- 确定保存。
改完记得刷新 DNS 缓存,否则可能不生效:
Windows:
ipconfig /flushdnsmacOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderLinux:
sudo systemd-resolve --flush-caches如果路由器后台支持修改 DNS,直接改在路由器上,全屋设备都能受益,比逐台电脑改更省事。
四、方案二:用 hosts 精确"指路"(免安装、可自动更新)
hosts 文件的原理很朴素:只要在本地写明"某个域名对应哪个 IP",系统就会跳过 DNS 查询直接连过去,从源头上绕开 DNS 污染。
关键点:别手抄固定的老 IP。 GitHub 用的是动态 IP 和 Anycast 技术,网上一抄就是好几个月前的地址,用过期 IP 反而会让你更慢甚至完全连不上。正确做法是用自动更新的 hosts 源,目前口碑较好的是开源项目 GitHub520,它的公共数据源地址是:
https://raw.hellogithub.com/hosts它由一个定时脚本持续测速维护:对 40 个 GitHub 相关域名,多路查询候选 IP、逐个实测 443 端口延迟,只保留最快的那一个对外发布,内容有变化才更新。
用法一:用 SwitchHosts 自动更新(推荐)
- 安装免费的 SwitchHosts 工具;
- 新建一条规则,类型选
Remote; - URL 填入上面的数据源地址;
- 自动刷新设为 1 小时,启用这条规则。
此后 IP 轮换会自动跟上,你完全不用手动维护。
用法二:命令行一行更新(Linux / macOS)
sudo sed -i "/# GitHub520 Host Start/Q" /etc/hosts
curl -s https://raw.hellogithub.com/hosts | sudo tee -a /etc/hostsWindows 的 hosts 文件位置是:
C:\Windows\System32\drivers\etc\hosts需要用管理员身份打开的记事本编辑。文件里每一行的格式是"IP 地址 + 空格 + 域名",例如:
140.82.121.4 github.com
185.199.108.133 raw.githubusercontent.com
185.199.108.133 avatars.githubusercontent.com如果想撤销:把 hosts 文件里从 # GitHub520 Host Start 到 # GitHub520 Host End 之间的整段内容删掉,再清一次 DNS 缓存即可,没有残留。
验证是否生效:改好后打开一个项目的 README,头像、封面、徽章都能正常显示,就说明 raw 与头像域名的解析已经通了。
五、方案三:给 Git 命令行加速(开发者必看)
如果你主要在终端里 git clone、git pull,那网页能不能开其实不重要,关键是让 Git 的流量走一条更顺的链路。最优雅的做法,是利用 Git 自带的 URL 重写(insteadOf) 机制。
5.1 用 insteadOf 一劳永逸
原理是:把发往 https://github.com/ 的请求,自动改写成走一个加速前缀地址。配置一次,以后所有仓库都生效,而且不会弄脏你本地仓库的 remote 地址。
git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"配置后,你照常执行 git clone https://github.com/xxx/yyy.git,Git 会在内部自动把地址改写成加速通道,不用每次手动拼前缀。
想还原成官方源时,执行:
git config --global --unset url."https://gh-proxy.com/https://github.com/".insteadOf注意:这类加速服务大多只加速下载方向,对 push(推送代码)不一定有效。私有仓库、公司内网 GitLab 等场景也不适用,别把全局规则当成万能药。5.2 临时用一次:手动拼前缀
如果只是偶尔拉一个仓库,直接手动拼前缀更干脆:
git clone https://gh-proxy.com/https://github.com/octocat/Hello-World.git5.3 大仓库:用浅克隆省时间
如果你只需要最新代码、不关心完整历史,加上 --depth 1 能显著减少传输量:
git clone --depth 1 https://github.com/xxx/yyy.git浅克隆的仓库看不到完整提交历史,后续确实需要完整历史时,可以再执行 git fetch --unshallow 补齐(这一步可能又会变慢,按需使用)。
六、方案四:一键加速工具(不想折腾就选它)
如果你不想懂代理规则、也不想改配置,直接用一款成熟的开源工具最省心。它们本质上是帮你自动完成"DNS 优选 + hosts 更新 + 本地代理 + 资源重写"这一整套动作。以下几款在 2026 年仍在活跃维护、口碑较好:
- Watt Toolkit(原名 Steam++):跨平台免费开源工具箱,官网
steampp.net。进入"网络加速"页,勾选所有 GitHub 相关项,点"一键加速"即可,同时还能加速 Steam、谷歌翻译等。适合不想折腾的普通用户,也支持安卓端。 - DevSidecar(开发者边车):面向开发者,通过 DNS 劫持 + SNI 代理精准识别 GitHub 相关域名,其余流量不接管,不会拖慢国内网站。支持 GitHub 全场景(clone、Release、头像、README 图片)。默认模式需要安装一次证书,装完即可用,2.x 稳定版可正常使用。
- FastGithub:把它当成一个"专为 GitHub 定制的本地 DNS 服务"。启动后,把系统首选 DNS 改成
127.0.0.1,它就会实时返回当前网络下最快的 GitHub IP。首次启动需要做一次 IP 扫描,稍等几分钟。 - Fast-GitHub 浏览器插件:Chrome / Edge 扩展,在 GitHub 页面注入"加速"按钮,克隆、Release 下载、单文件抓取都能一键走加速通道。它以解压形式安装:在
chrome://extensions/打开开发者模式,加载已解压的扩展程序即可;新装后记得点一次"保存配置"。
安全提醒(重要): 这类工具请一律从官网或 GitHub Releases 下载,不要用来路不明的"破解版""增强版"。加速工具本身可能需要较高的系统权限,来源不明的版本存在隐私和安全风险。
七、方案五:镜像站与文件加速站(下载 Release / 大文件)
当你要下载的是 Release 安装包、源码压缩包这类大文件时,最有效的办法是走反向代理加速站——把一个前缀拼在原始 GitHub 链接前面,由加速站用更优的链路帮你把文件取回来。
前缀式用法示例:
curl -L -o package.zip https://gh-proxy.com/https://github.com/xxx/yyy/releases/download/v1.0/package.zip浏览器里同理:把一条 GitHub 文件链接前面拼上加速前缀,粘贴到地址栏回车即可。
这类服务的特点与规律:
- 常见的还有
gh-proxy.org、mirror.ghproxy.com、gh.llkk.cc、hub.gitmirror.com、moeyy.cn/gh-proxy/、ghfast.top、github.akams.cn等,建议同时记 2~3 个,哪个打不开就换下一个; - 它们只用来下载公开资源,不会、也不能帮你登录 GitHub 账号;
- 公益站点带宽有限,不要携带 Token、Cookie,也不要用它做批量循环下载,否则容易触发限流;
- 稳定性完全取决于运营方,属于"应急方案"而非"长期依赖"。
高校机构镜像: 清华大学 TUNA 镜像站提供了 GitHub Release 的同步镜像,适合下载热门项目的发布包,学术/教育场景尤其稳定:
https://mirrors.tuna.tsinghua.edu.cn/github-release/打开后按项目名检索,直接找到对应版本的安装包即可。
需要泼一盆冷水的是:镜像站只解决"可达性"和"带宽"问题,解决不了仓库本身过大、checkout 阶段磁盘 IO 慢的问题;而且镜像同步有延迟,最新的提交不一定在。日常 pull / push 依赖镜像并不可取。
八、方案六:顺手把包管理器也换了源
很多时候你"需要用 GitHub",其实是去拉开源项目、装依赖。这一步如果卡住,除了上面的方法,直接把包管理器的源换成国内镜像会更彻底。
pip(Python):
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplenpm(Node.js):
npm config set registry https://registry.npmmirror.comDocker 拉取 ghcr.io 镜像时,也可以把镜像地址换成国内镜像源前缀,例如 ghcr.nju.edu.cn 等,把 ghcr.io/用户名/镜像名:标签 替换为 加速域名/用户名/镜像名:标签 即可,无需改动其它配置。
九、避坑:这些"老办法"已经失效,别再用了
网上大量教程是几年前的,很多方案早已停服或不再可靠。用过期方案,轻则无效,重则把你的账号、隐私置于风险之中。下面这些,请直接跳过:
| 曾经流行的方案 | 现状 |
|---|---|
fastgit.org / hub.fastgit.org | 已停止服务,访问报错 |
github.com.cnpmjs.org(cnpmjs 镜像) | 已彻底失效 |
gh.api.99988866.xyz | 已失效 |
g.ioiox.com | 已失效 |
github.91chi.fun(号称"阿里云 GitHub 镜像") | 已失效 / 已易主 |
| 手抄 hosts 里的固定 IP | 极易过期,过期后反而更慢 |
| jsDelivr 用来加速 GitHub raw 文件 | 可用性不稳定,不建议作为主力 |
| 来路不明的"GitHub 中文版"聚合站、破解加速器 | 存在引流、隐私泄露与钓鱼风险,谨慎 |
特别提醒:凡是要求你注册账号、扫码、输入密码的所谓"镜像站",直接关掉。真正的加速站只做公开资源的转发,绝不会向你索要凭据。
十、常见问题 FAQ
我改了 DNS,为什么还是慢?
DNS 只解决"解析到正确 IP"的问题,管不了跨境链路拥塞和 SNI 阻断。如果换 DNS 没用,就往 hosts 或命令行加速方向走。
用镜像 / 加速站安全吗?能登录 GitHub 吗?
只用它下载公开资源是安全的;但不要登录、不要带 Token。第三方代理会记录请求,你的凭据不该从它那里过。
配了 Git 加速后,git push 失败?
多数加速服务只加速下载方向,推送仍建议走官方地址或你自己的网络通道。用不惯时执行前面那条 --unset 命令还原即可。
手机、平板能用吗?
可以。Watt Toolkit 有安卓版;路由器层面改 DNS 则全屋设备通用。iOS 相对受限,可优先考虑换 DNS 或使用带加速能力的工具。
公司内网 / 服务器装不了软件怎么办?
优先用"免安装"方案:改 DNS、临时改 hosts、或用 Git 的 insteadOf 前缀加速,都不需要安装额外程序。
Q6:为什么本文不提"科学上网"?
本文只讨论合规的技术优化手段(DNS、hosts、镜像、代理前缀、开源工具)。请根据自身实际情况选择合法合规的方案。
十一、总结:按场景选方案
- 只想网页能开、图能显示:换公共 DNS + 用 GitHub520 的 hosts 自动更新,成本最低;
- 主要在终端里拉代码:配一条 Git 的 insteadOf 加速规则,再加
--depth 1浅克隆; - 完全不想折腾:直接上 Watt Toolkit 或 DevSidecar;
- 要下载大文件 / Release:用反向代理加速前缀,或走清华 TUNA 的 github-release 镜像;
- 遇到全站都打不开:先看
githubstatus.com,可能根本不是你这边的问题。
最后记住三条原则:一是先判断原因再动手,别一上来就装一堆工具;二是过期方案果断弃用,尤其是别手抄老 IP;三是加速站只下载、不登录、用完即走。
网络环境一直在变,工具和镜像也会新陈代谢。保持定期更新、多备几个入口,才是让 GitHub "长期在线"的正解。
本文信息核对时间:2026 年 9 月。镜像站与加速服务的可用性变化较快,若某个地址失效,请按文中方法更换同类别方案。