如果解决github域名解析问题

浏览器域名解析问题完整指南

浏览器无法访问 GitHub?DNS 污染修复实操手册


一、实操情景

问题现象

电脑网络正常(能刷网页、登 QQ),唯独 GitHub 访问异常:

  • 浏览器无法打开或加载极慢
  • 图片资源显示空白
  • ping 域名解析异常
  • 修改普通 DNS 无效,浏览器解析仍然错乱

根本原因

因素 说明
DNS 污染 GitHub 境外域名被污染,返回错误 IP
浏览器缓存 残留旧错误 IP,直接使用
DoH 劫持 浏览器私自解析,覆盖系统配置
系统旧缓存 Windows DNS 缓存留存历史错误记录

解决核心

手动绑定节点 + 清除缓存 + 强制解析


二、DNS 解析五层网点优先级

DNS 解析按以下优先级顺序检索(从高到低):

优先级 层级 说明
1 浏览器 DNS 缓存 最先读取,若残留旧错误 IP 则直接使用
2 Windows 系统 DNS 缓存 系统留存的历史解析记录
3 本地 hosts 文件 手动强制绑定 IP,优先级最高,可绕过污染
4 网卡手动配置 DNS 可设置阿里 DNS(223.5.5.5)、114DNS(114.114.114.114)
5 运营商 DNS / 外网根节点 最底层,容易被污染

关键洞察:hosts 文件优先级高于网卡 DNS 配置,是绕过 DNS 污染的核心手段。


三、完整配置流程

第一步:关闭浏览器安全 DNS(DoH)

避免浏览器私自解析,覆盖系统和 hosts 配置。

Firefox 设置路径设置常规网络设置启用基于 HTTPS 的 DNS → 取消勾选

Chrome 设置路径设置隐私和安全安全使用安全 DNS → 选择「禁用」


第二步:清理浏览器 DNS 缓存与站点缓存

清空第一层网点旧错误数据。

FirefoxCtrl+Shift+Delete → 选择「缓存」和「Cookies」→ 确定

ChromeCtrl+Shift+Delete → 选择「缓存图像和文件」→ 「清除数据」


第三步:执行批处理脚本写入 hosts

将 GitHub 静态资源、接口、CDN、代码下载节点手动绑定真实 IP,强制本地解析不走污染 DNS。


第四步:手动设置网卡纯净 DNS

类型 DNS 地址
首选 223.5.5.5(阿里 DNS)
备用 114.114.114.114(114 DNS)

设置路径控制面板网络和共享中心更改适配器设置 → 右键「以太网」→ 属性IPv4 → 手动填写


第五步:脚本自动执行清空系统 DNS 缓存

清除系统第二层网点缓存,让新 hosts 解析立即生效。


第六步:关闭所有浏览器重新打开

避免浏览器进程残留缓存,验证访问 GitHub 正常加载主页、头像、静态资源。


四、批处理脚本完整代码

batch 复制代码
@echo off
chcp 65001 >nul
title GitHub DNS修复工具

echo ================================================
echo           GitHub DNS 污染修复脚本
echo ================================================
echo.

echo [1/5] 正在写入 GitHub 主站节点...
echo 140.82.114.4 github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.114.3 www.github.com >> C:\Windows\System32\drivers\etc\hosts

echo [2/5] 正在写入 GitHub 静态资源 CDN 节点...
echo 185.199.108.153 assets-cdn.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.109.153 github.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.110.133 raw.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts

echo [3/5] 正在写入 GitHub 代码下载节点...
echo 199.232.68.133 codeload.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 199.232.69.133 objects.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts

echo [4/5] 正在写入 GitHub API 接口节点...
echo 140.82.112.5 api.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.112.10 api.github.com >> C:\Windows\System32\drivers\etc\hosts

echo [5/5] 正在写入 GitHub Pages 节点...
echo 185.199.109.153 github.io >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.111.153 pages.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.108.153 gist.github.com >> C:\Windows\System32\drivers\etc\hosts

echo.
echo [提示] 正在刷新系统 DNS 缓存...
ipconfig /flushdns >nul 2>&1

echo.
echo ================================================
echo          配置完成!请执行以下操作:
echo ================================================
echo.
echo   1. 关闭所有浏览器窗口
echo   2. 重新打开浏览器访问 GitHub
echo   3. 如仍异常,请尝试 Ctrl+Shift+R 强制刷新
echo.
echo ================================================
echo.

pause

五、脚本逐行详解

批次1:环境初始化

batch 复制代码
@echo off

作用:关闭命令回显,脚本运行时不显示每条命令本身,只显示执行结果,界面更干净。


batch 复制代码
chcp 65001 >nul

作用:将命令行编码切换为 UTF-8,确保中文字符正常显示(防止乱码)。


batch 复制代码
title GitHub DNS修复工具

作用:设置命令行窗口标题,便于识别运行中的脚本。


批次2:界面标题

batch 复制代码
echo ================================================
echo           GitHub DNS 污染修复脚本
echo ================================================
echo.

作用:打印分隔线和标题,增强仪式感,方便用户确认脚本正在运行。


批次3:节点写入

batch 复制代码
echo [1/5] 正在写入 GitHub 主站节点...
echo 140.82.114.4 github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.114.3 www.github.com >> C:\Windows\System32\drivers\etc\hosts

作用 :追加主站域名映射。>> 表示向文件末尾追加内容,不覆盖原有 hosts 配置。


batch 复制代码
echo [2/5] 正在写入 GitHub 静态资源 CDN 节点...
echo 185.199.108.153 assets-cdn.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.109.153 github.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.110.133 raw.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts

作用:写入 CDN 节点,处理 GitHub 头像、图片、Raw 文件等静态资源加载问题。


batch 复制代码
echo [3/5] 正在写入 GitHub 代码下载节点...
echo 199.232.68.133 codeload.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 199.232.69.133 objects.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts

作用 :写入代码包下载节点,解决 .zip.tar.gz 等压缩包下载失败问题。


batch 复制代码
echo [4/5] 正在写入 GitHub API 接口节点...
echo 140.82.112.5 api.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.112.10 api.github.com >> C:\Windows\System32\drivers\etc\hosts

作用:写入 API 节点(双 IP 备用),确保 GitHub 接口请求正常,包括 OAuth 认证、仓库信息查询等。


batch 复制代码
echo [5/5] 正在写入 GitHub Pages 节点...
echo 185.199.109.153 github.io >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.111.153 pages.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.108.153 gist.github.com >> C:\Windows\System32\drivers\etc\hosts

作用:写入 GitHub Pages 和 Gist 节点,修复个人博客、示例页面、Gist 代码片段的访问。


批次4:刷新缓存

batch 复制代码
echo.
echo [提示] 正在刷新系统 DNS 缓存...
ipconfig /flushdns >nul 2>&1

作用

  • ipconfig /flushdns:清除 Windows 系统 DNS 缓存,使新 hosts 配置立即生效
  • >nul 2>&1:隐藏命令本身的输出,保持界面简洁

批次5:完成提示

batch 复制代码
echo.
echo ================================================
echo          配置完成!请执行以下操作:
echo ================================================
echo.
echo   1. 关闭所有浏览器窗口
echo   2. 重新打开浏览器访问 GitHub
echo   3. 如仍异常,请尝试 Ctrl+Shift+R 强制刷新
echo.
echo ================================================
echo.

作用:清晰告知用户后续操作步骤,确保修复生效。


批次6:暂停等待

batch 复制代码
pause

作用:脚本执行完毕后等待用户按任意键退出,避免窗口自动关闭导致用户看不到执行结果。


六、节点汇总表

类别 域名 映射 IP 解决的问题
主站 github.com 140.82.114.4 主页访问
www.github.com 140.82.114.3 带 www 域名访问
CDN assets-cdn.github.com 185.199.108.153 头像、图片加载
github.githubusercontent.com 185.199.109.153 仓库内图片
raw.githubusercontent.com 185.199.110.133 Raw 文件查看
下载 codeload.github.com 199.232.68.133 代码包下载
objects.githubusercontent.com 199.232.69.133 附件下载
API api.github.com 140.82.112.5 / 10 接口请求
Pages github.io 185.199.109.153 个人主页
pages.github.com 185.199.111.153 Pages 站点
gist.github.com 185.199.108.153 Gist 代码片段

七、使用前准备

运行脚本前,请确保:

  1. 以管理员身份运行(右键 → 以管理员身份运行)
  2. 关闭杀毒软件拦截(部分杀软会拦截 hosts 写入)
  3. 关闭浏览器 DoH(Firefox / Chrome 设置中禁用安全 DNS)

八、核心原理总结

利用 hosts 文件的最高解析优先级,用批处理一键写入 GitHub 各类资源网点 IP,配合关闭浏览器 DoH、清空双层缓存、配置纯净网卡 DNS,将 DNS 解析五层网点全部重置,彻底解决 GitHub 浏览器解析失败、资源加载不出等问题。


文件格式.bat(Windows 批处理文件)

编码:UTF-8 with BOM(支持中文显示)

兼容性:Windows 10 / 11


文档更新时间:2026-05-5

相关推荐
葬送的代码人生2 小时前
用一句 Prompt 十分钟搓出完整应用
前端·html·ai编程
ShiJiuD6668889992 小时前
大事件板块三
前端·bootstrap·html
JavaAgent架构师2 小时前
前端AI工程化(五):AI对话状态管理
前端·人工智能
ricardo19732 小时前
一张图搞懂 HTTP 缓存:强缓存、协商缓存与最佳 Cache-Control 配置
前端
程序员码歌2 小时前
别再让 AI 自由发挥了:OpenSpec 才是团队协作不跑偏的关键
android·前端·人工智能
用户11481867894842 小时前
Vue 开发者快速上手 Flutter(二)
前端
用户11481867894842 小时前
Vue 开发者快速上手 Flutter(三)
前端
JavaAgent架构师2 小时前
前端AI工程化(六):Function Calling与RAG前端实践
前端·人工智能
用户11481867894842 小时前
Vue 开发者快速上手 Flutter(一)
前端