解决 Github 无法访问问题

1、Github 访问失败

主要是因为我们在请求GitHub的网址时,会先向DNS服务器发送一个请求,DNS服务器解析获取到对应的IP地址,然后发起连接。

被拦截主要原因也是Github属于国外站点,偶尔会被国内神秘怪圈吞噬;而为了减少解析次数,DNS会做缓存,将已有的IP直接返回,此时该IP可能已经被拦截,继续使用DNS缓存访问会一直异常,可以直接ping一下看看:

makefile 复制代码
ping www.github.com
提示:
ping: www.github.com: 域名解析暂时失败

2、绕过DNS解析

DNS解析会出错,我们直接本地配置解析好的IP地址,然后直接访问配置的IP地址即可。

如何添加host配置?

通过修改hosts文件,hosts文件是记录常用域名与对应的IP地址,本地用来做域名解析的,且优先级高于DNS解析。常见的用法也包括修改hosts文件达到测试环境和线上环境切换的效果,就是测试的时候添加规则将域名指向内网;还有就是恶意软件常修改hosts来劫持域名,比如将正常导航网页的IP填成到某数字导航IP。

2.1、常用的hosts文件位置

  • Windows 系统:C:\Windows\System32\drivers\etc\hosts
  • Linux 系统:/etc/hosts
  • Mac(苹果电脑)系统:/etc/hosts
  • Android(安卓)系统:/system/etc/hosts
  • iPhone(iOS)系统:/etc/hosts

hosts 文件

bash 复制代码
# 第一列IP地址  第二列域名
127.0.0.1	localhost

修改方法,把第一步的内容复制到文本末尾:

  1. Windows 使用记事本;
  2. Linux、Mac 使用 Root 权限;
  3. iPhone、iPad 须越狱、Android 必须要 root;

2.2、手动获取IP地址

2.3、自动修改hosts

按照上面方法修改后可以访问Github了,就可以体验下Github的强大之处了

感谢GitHub加速器,让你"爱"上 GitHub项目作者,实时获取有效IP并发布到github host配置文件下载

一行命令直接替换hosts配置文件,执行命令替换注意权限问题

GNU(Ubuntu/CentOS/Fedora)

sudo sh -c 'sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts'

BSD/macOS

sudo sh -c sed -i "" "/# GitHub520 Host Start/,/# Github520 Host End/d" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts

3、参考链接

github IP配置

解决Github访问失败

相关推荐
zzqssliu3 小时前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
fthux6 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
用户84913717547169 小时前
想做护眼工具却脑子一片空白?我用 OpenSpec 把模糊想法聊成了 v0.1
github·vibecoding
wangruofeng10 小时前
git-filter-repo 把 .git 从 112MB 砍到 1.4MB,但漏推 tag 让 clone 又胖回来
github·devops
峰向AI10 小时前
Block 放出大招!Buzz:一个中继统一代码、聊天、CI 全流程
github
dong_junshuai10 小时前
每天一个开源项目#47 4.4K Stars 的 LikeC4:让架构图随代码进化
github
独立开阀者_FwtCoder13 小时前
最近做了一个健身小程序:智形健身助手,健身的佬们来提点意见
前端·javascript·github
夕夕木各17 小时前
从第一个 PR 到 Vite 官方中文文档维护者
github·vite
隔窗听雨眠19 小时前
GitHub Actions自动化运维实战:从零构建一体化CI/CD流水线
运维·自动化·github
dong_junshuai2 天前
每天一个开源项目#46 World Monitor:6.6万星、56层地图的全球情报中枢
github