GitHub 打不开、访问慢怎么办?浏览器与 Git 加速教程

GitHub 在国内没有被完全屏蔽,但经常打不开、加载慢、git clone 卡住不动,raw 文件和 Releases 下载更是时灵时不灵。根本原因是 DNS 污染和跨境线路不稳定。浏览器开代理只解决一半,Git 命令行还要单独设置。

先说结论

直接答案:GitHub 打不开或很慢,最可靠的方法是用机场代理:浏览器端开客户端的系统代理即可;Git 命令行默认不走系统代理,要执行 git config --global http.proxy http://127.0.0.1:端口,用 SSH 的话在 SSH 配置里加代理;嫌麻烦就打开客户端的 TUN 模式,所有程序一起走代理。改 hosts 和第三方镜像站只能临时应急。

为什么 GitHub 在国内时好时坏

GitHub 主站没有像谷歌那样被完全封锁,所以经常是「有时能开、有时打不开」,这让很多人摸不着头脑。主要有三个原因:

DNS 污染

部分 GitHub 域名,尤其是 raw.githubusercontent.com,解析结果经常被污染,返回错误的 IP,于是直接连不上。

跨境线路拥堵

GitHub 服务器在海外,国际出口晚高峰拥堵时,页面加载慢、git clone 速度很低甚至中断。

多个域名分工

页面、头像、静态资源、Releases 文件、源码压缩包分布在不同域名上,任何一个不通都会出现部分功能失效。

命令行不走代理

浏览器读系统代理,但 Git、curl、包管理器默认不读,浏览器正常、终端卡住是最常见的情况。

GitHub 相关域名一览

域名用途不通时的表现
github.com主站、Git 的 HTTPS 和 SSH 传输网页打不开,git clone 失败
githubassets.com网页的样式和脚本页面排版错乱、按钮无反应
githubusercontent.comraw 文件、头像、Releases 文件等raw 链接打不开、安装脚本失败、下载很慢
codeload.github.com源码压缩包下载下载 ZIP 失败
api.github.com接口调用,很多工具依赖它命令行工具、编辑器插件报错

主流机场的规则通常已经把这些域名设为走代理。如果你的规则把 GitHub 设成了直连,可以在客户端里加自定义规则,见下文。

第一步:浏览器访问 GitHub

  1. 准备机场和客户端。Windows 和 Mac 用 Clash Verge Rev,见 Clash Verge Rev 教程;Windows 也可以用 v2rayN,见 v2rayN 教程;Linux 见 Linux 翻墙教程。下载见梯子下载。
  2. 打开系统代理,选规则模式。浏览器会自动走代理,GitHub 页面、raw 文件、Releases 下载都会顺畅很多。
  3. 记下代理端口。在客户端设置里找到混合端口或 HTTP 端口(Clash 系常见 7890 或 7897,以你的客户端显示为准),下面给 Git 设置代理要用。

第二步:给 Git 设置 HTTP 代理(HTTPS 克隆)

用 https://github.com/... 地址克隆的仓库,走的是 HTTP 代理。下面的命令中把 7890 换成你的实际端口:

# 所有 HTTPS 仓库都走代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

# 只让 GitHub 走代理(推荐,不影响公司内网和国内仓库)
git config --global http.https://github.com.proxy http://127.0.0.1:7890

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset http.https://github.com.proxy

推荐只给 GitHub 设置代理。如果你同时用国内的代码托管平台或公司内网仓库,全局代理会让它们也绕路,甚至连不上。设置后执行一次 git clone 看速度有没有改善。

第三步:SSH 克隆走代理

用 [email protected]:... 地址的仓库走 SSH 协议,上面的 HTTP 代理对它无效,需要改 SSH 配置文件(macOS 和 Linux 在 ~/.ssh/config,Windows 在用户目录下的 .ssh\config)。

# macOS / Linux
Host github.com
  HostName ssh.github.com
  Port 443
  User git
  ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p

# Windows(使用 Git for Windows 自带的 connect)
Host github.com
  HostName ssh.github.com
  Port 443
  User git
  ProxyCommand connect -S 127.0.0.1:7890 %h %p

这里做了两件事:一是把 SSH 连接改到 GitHub 官方提供的 443 端口,避开部分网络对 22 端口的限制;二是让 SSH 通过代理的 SOCKS5 协议连接。Clash 系的混合端口同时支持 HTTP 和 SOCKS5,可以直接用。设置后用 ssh -T [email protected] 测试,看到欢迎你的提示就说明成功了。

省事方案:开 TUN 模式

不想逐个给 Git、curl、包管理器配置代理,可以打开代理客户端的 TUN 模式(虚拟网卡)。开启后,系统里所有程序的流量都会经过代理客户端,再按规则分流,Git 的 HTTPS 和 SSH 都不用单独设置。

  • 优点:一次设置,所有命令行工具、编辑器插件、桌面应用全部生效。
  • 注意:TUN 模式需要管理员权限;如果你用公司 VPN,两者可能冲突;规则要配好,否则国内流量也会被代理。
  • 和手动设置二选一:开了 TUN 之后,最好取消 Git 里的代理设置,避免绕两次。

规则模式和全局模式的区别见这篇。

终端里的其他工具

curl、wget、Homebrew、很多安装脚本都会读取代理环境变量。临时在当前终端生效:

# macOS / Linux
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

# Windows PowerShell
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"

想长期生效,可以把 macOS / Linux 的那一行写进 shell 配置文件。用完记得关掉,或者用 TUN 模式代替。

规则把 GitHub 设成直连怎么办

有些机场或自定义规则为了省流量,把 GitHub 设成了直连,结果开着代理也很慢。在客户端里加几条自定义规则,放在规则列表靠前位置即可(「代理」换成你配置里实际存在的策略组名):

- DOMAIN-SUFFIX,github.com,代理
- DOMAIN-SUFFIX,githubusercontent.com,代理
- DOMAIN-SUFFIX,githubassets.com,代理

Clash Verge Rev 可以在订阅的扩展配置或规则编辑里添加,改完重新加载配置。添加后在客户端的连接页面打开 GitHub,看对应连接是否显示走了代理组。

不同场景怎么选方案

你的情况推荐做法
只是偶尔浏览 GitHub 网页、下载 Releases开系统代理就够了
经常 clone 和 push,用 HTTPS 地址只给 GitHub 设置 Git 代理
习惯用 SSH 地址改 SSH 配置,走 443 端口加代理
同时用很多命令行工具、编辑器插件开 TUN 模式,取消各工具单独的代理设置
在公司电脑上,有内网仓库只给 GitHub 设置代理,别开全局;先确认公司网络规定
在 Linux 服务器上拉代码服务器上的代理配置见 Linux 翻墙教程,注意不要把代理端口暴露到公网

npm、pip、Docker 等工具从海外源下载时也会遇到类似的慢问题。它们大多可以单独配置代理,或者换成国内官方或高校维护的镜像源。开 TUN 模式则可以一次性解决大部分情况。

GitHub 打不开、慢的排查表

现象原因解决
github.com 打不开或很慢没开代理,或 GitHub 走了直连开系统代理;检查规则,必要时加自定义规则
页面排版错乱、按钮没反应静态资源域名不通让 githubassets.com 走代理
raw.githubusercontent.com 打不开DNS 污染让该域名走代理;命令行设置环境变量;检查 DNS,见 DNS 泄露
浏览器正常,git clone 卡住Git 不读系统代理按上文设置 http.proxy 或开 TUN
SSH 克隆超时22 端口被限制,或 SSH 没走代理按上文改用 ssh.github.com 的 443 端口并加代理
设置代理后 Git 报连接被拒绝端口填错或客户端没在运行核对客户端显示的端口,确认客户端已启动
clone 大仓库中途断开节点不稳或带宽不足换稳定节点;可以先浅克隆只拉最新提交
Releases 下载很慢文件服务器没走代理浏览器开代理下载;命令行设置环境变量
公司内网仓库连不上了Git 全局代理影响了内网改成只给 GitHub 设置代理

clone 大仓库时可以用 git clone --depth 1 仓库地址 只拉最新一次提交,数据量小很多,断线概率也低。之后需要完整历史,再在仓库里补拉。想确认 Git 当前用了哪些代理设置,可以执行 git config --global --list 查看,排查时先看这里有没有遗留的旧端口。

改 hosts 和镜像站靠谱吗

方法能解决什么问题
改 hosts临时绕开 DNS 污染GitHub 的 IP 会变,过一阵就失效;解决不了跨境线路慢
第三方镜像、加速下载站临时下载公开代码或文件无法确认文件没被篡改;不要在上面登录账号或输入令牌
国内代码托管平台的导入功能把公开仓库导入到国内平台再克隆只适合公开仓库,需要手动同步更新
机场代理DNS 污染和线路慢都能解决需要付费,要选稳定的机场

对开发者来说,下载的代码会直接在你的电脑上运行,来源可信非常重要。镜像站应急可以,日常开发还是建议走代理直连 GitHub 官方。

常见误区

  • 「浏览器能开 GitHub,Git 就一定没问题」:两者走的是不同的通道,浏览器读系统代理,Git 默认不读。
  • 「把 Git 代理设成全局一劳永逸」:全局代理会影响国内平台和公司内网仓库,出问题时很难想到是它。
  • 「hosts 文件改一次永远有效」:GitHub 的服务器 IP 会调整,网上流传的 hosts 列表很快过时。
  • 「代理设好了就不用管了」:换了代理客户端或改了端口,Git 和 SSH 里的端口也要同步修改,否则会报连接被拒绝。

GitHub 账号安全注意事项

  • 开启两步验证。GitHub 要求代码贡献者开启两步验证,建议用验证器 App 或安全密钥,并保存好恢复码。
  • 用令牌,不用密码。HTTPS 推送代码要用个人访问令牌,给令牌设置最小权限和过期时间。
  • 别把密钥提交进仓库。API 密钥、机场订阅链接、密码不要写进代码,一旦推到公开仓库就会被扫描到。订阅链接泄露的风险见订阅链接安全。
  • 检查授权应用。在设置里定期查看授权过的第三方应用和 SSH 密钥,不用的删掉。
  • 不在镜像站登录。任何非 github.com 官方的页面要求你输入 GitHub 账号密码或令牌,都不要输。
  • 遵守规则。使用 GitHub 时遵守所在地法律法规、公司网络规定和 GitHub 的服务条款。

GitHub 能打开但登录不上怎么办

GitHub 首页能打开,到登录、注册这一步却卡住,是另一类常见问题,原因和浏览代码时不一样:

现象常见原因处理
点登录后一直转圈或报错登录请求和页面资源走了不同线路,或旧 Cookie 异常临时切全局模式试一次;清除 github.com 的站点数据后重新登录
注册时人机验证加载不出来验证组件来自第三方域名,分流规则没让它走代理临时切全局模式完成注册,再切回规则模式
要求输入发到邮箱的验证码新设备或新 IP 登录时的设备验证到注册邮箱里找 GitHub 的邮件,收不到看垃圾箱
两步验证的动态码总提示错误手机时间不准把手机时间设为自动同步
丢了两步验证的手机无法生成动态码用开启两步验证时保存的恢复码登录
git push 提示密码认证失败命令行已不支持用账号密码推送改用个人访问令牌,或配置 SSH 密钥
  • 恢复码一定要保存。开启两步验证时给的恢复码,存到密码管理器或离线的地方,这是丢手机后找回账号的主要途径。
  • 固定节点地区。频繁换不同国家的节点登录,会反复触发设备验证,甚至让账号被临时限制。
  • 只在 github.com 登录。镜像站、加速站都不要输入账号密码或令牌,见上文「改 hosts 和镜像站靠谱吗」。

先确认是不是 GitHub 自己出了故障

代理和节点都正常,GitHub 却突然打不开、推送失败或 Actions 不跑,先排除 GitHub 本身的问题,别急着反复换节点:

  1. 看官方状态页。GitHub 有官方状态页(githubstatus.com),分别列出网页、Git 操作、API、Actions、Pages 等服务是否正常。某一项显示故障,等官方恢复即可,换节点没用。
  2. 换个网络对比。用手机热点连同一个节点再试,能打开说明问题在本地网络或路由器上。
  3. 切全局模式对比。全局模式能打开、规则模式不行,是分流规则的问题,按上文「规则把 GitHub 设成直连怎么办」处理。
  4. 只有某个仓库打不开。显示 404 多半是仓库被删除、改为私有或被下架,和网络无关;私有仓库要确认登录的账号有权限。

状态页本身也在海外,打不开状态页时,说明你当前连 GitHub 的整条路都没通,先回到第一步检查代理是否生效。

npm、pip、Docker 也慢:代理和换源怎么选

GitHub 加速好了,装依赖时又卡在 npm、pip 或 Docker 拉镜像,这是同一类问题。两种思路:给工具配代理,或者换成国内镜像源。下面把 7890 换成你客户端的实际端口:

# npm 设置代理
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
# npm 取消代理
npm config delete proxy
npm config delete https-proxy

# pip 单次走代理
pip install 包名 --proxy http://127.0.0.1:7890

Docker 拉镜像由后台服务完成,终端里设置的环境变量对它不起作用:Docker Desktop 在设置里找到代理相关选项填写;Linux 上要给 Docker 服务单独配置代理,再重启服务。

方式优点缺点
给工具配代理直接用官方源,版本最新每个工具要分别设置,换客户端或端口要同步修改
国内镜像源(高校或云厂商维护)不需要代理,速度稳定同步可能有延迟,个别包缺失;公司项目先确认是否允许
开 TUN 模式一次设置,所有工具都生效需要管理员权限,可能和公司 VPN 冲突

排查时先确认当前用的到底是哪个源:npm config get registry、pip config list 能看到源地址,遗留的旧镜像地址失效也会表现为「下载很慢」。

用哪家机场:综合分前 8 的机场

GitHub 不限制节点地区,开发者更看重白天和晚上都稳定、拉大仓库时带宽够用。下面是本期综合分前 8 的机场,评分基于官网公开信息和编辑评估,不是 GitHub 专项测试,建议先月付试用。更多选择见机场推荐和稳定机场。

#机场线路月付起流量每 GBAI流媒体评分状态
1 WgetCloud IEPL / IPLC 专线 + BGP 中转 ¥79 按套餐,入门档约 100GB 级 — ✓✓ 9.5 推荐
2 飞鸟云 内网专线 IPLC ¥25 150GB / 月 ¥0.17 ✓✓ 9.3 推荐
3 TAG IEPL 专线 ¥114 500GB / 月 ¥0.23 ✓✓ 9.3 推荐
4 泡芙云 全专线 IPLC / IEPL ¥18 120GB / 月 ¥0.15 ✓✓ 9.2 推荐
5 二猫云主推 三网优化 IEPL + 中转混合 ¥20 60GB – 130GB / 月 ¥0.15 ✓✓ 9.2 推荐
6 灵云 IEPL 纯专线 ¥22 120GB / 月 ¥0.18 ✓✓ 9.2 推荐
7 天机阁 内网专线 + 专职技术运维 ¥26 160GB / 月 ¥0.16 ✓✓ 9.2 推荐
8 闪电猫 企业级 IPLC 专线 ¥30 200GB / 月 ¥0.15 ✓✓ 9.2 推荐

点表头可排序。价格、流量和每 GB 按官网核对于 2026 年 10 月 24 日;AI / 流媒体为官网标注(✓ 标注支持,△ 部分或需自测,✗ 未标注)。

接下来看什么

客户端教程:Clash Verge Rev 教程、v2rayN、Linux 翻墙、Mac 翻墙。开发者用 AI 编程工具见国内怎么用 Claude 和国内怎么用 ChatGPT。

常见问题

GitHub 打不开怎么办?

最稳的办法是用机场代理访问:打开代理客户端的系统代理,规则模式下让 GitHub 相关域名走代理。改 hosts 只能临时缓解,IP 变化后又会失效。

开了代理浏览器能上 GitHub,git clone 还是很慢?

Git 命令行默认不读系统代理,需要单独给 Git 设置 http.proxy,或者用 SSH 时在 SSH 配置里加代理。也可以打开代理客户端的 TUN 模式,让所有程序都走代理。

raw.githubusercontent.com 打不开怎么办?

这个域名在国内经常被 DNS 污染。让它走代理即可:浏览器开系统代理,命令行设置代理环境变量,或用 TUN 模式。

GitHub Releases 下载很慢怎么办?

Releases 文件从 GitHub 的文件服务器下载,同样要走代理。浏览器下载开系统代理,命令行用 curl 或 wget 时设置代理环境变量。

改 hosts 能解决 GitHub 打不开吗?

有时能临时缓解 DNS 污染,但 GitHub 的 IP 会变化,而且解决不了跨境线路慢的问题,不建议长期依赖。

GitHub 镜像站和加速站安全吗?

下载公开代码时可以作为临时手段,但无法保证内容未被篡改,也不要在上面登录 GitHub 账号或输入令牌。重要项目还是走代理直连 GitHub。

GitHub 用哪个地区的节点?

GitHub 不限制地区,选延迟低、稳定的节点即可,香港、日本、新加坡都常用。传输大仓库时更看带宽。

GitHub 能打开但登录不上怎么办?

先临时切全局模式再登录,排除部分资源没走代理;再清除 github.com 的站点数据。要求邮箱验证码时去注册邮箱找,两步验证码报错就把手机时间设为自动同步,丢了手机用恢复码登录。

Watt Toolkit(Steam++)能加速 GitHub 吗?

它是一个在本机运行的加速工具,开启 GitHub 加速后浏览网页通常会好一些,但效果不稳定,git clone 和 Releases 大文件下载未必改善。部分加速方式需要在系统里安装并信任它生成的证书,只从官方渠道下载。经常用 GitHub 的话,给 Git 和终端配好代理更省心。

改 DNS 能解决 GitHub 打不开吗?

换成公共 DNS 能缓解部分域名被污染的问题,但解决不了跨境线路拥堵,晚高峰照样慢。浏览器开代理、给 Git 设置代理或打开 TUN 模式更稳定。

设置 Git 代理后 git push 失败怎么办?

先确认代理客户端在运行、端口和设置一致;HTTPS 推送要用个人访问令牌而不是密码;SSH 推送要按本文改 SSH 配置。还不行,执行 git config --global --list 检查有没有遗留的旧代理设置。

手机上怎么访问 GitHub?

手机连上代理客户端后用浏览器打开即可,也可以装 GitHub 官方 App。安卓设置见安卓翻墙教程,iPhone 见iPhone 翻墙教程。

更多问题见机场问答库:选机场、客户端、连不上、ChatGPT 和流媒体的常见问题都在这里。