经常在github上找一些好玩的学习项目,但是经常出现github页面打开速度很慢甚至无法打开的情况,往往导致计划被打乱,瞬间不想学习了。今天就来总结一下解决github访问慢的方法。
GitHub访问慢或者无法访问一般是由以下问题引起的:
- 本地网络访问慢,科学上网速度很快
- 本地网络无法访问(响应时间过长导致无法访问)
- 由于github的加速分发CDN域名assets-cdn.github.com遭到DNS污染,无法访问
1. 修改本地hosts映射
域名解析直接指向GitHub的IP地址,以此来绕过DNS解析
1.1 查看最新GitHub 的最新ip地址
在 ip地址查询 网站中查询GitHub相关的网站对应的最新IP地址
- github.com
- github.global.ssl.fastly.net
- assets-cdn.github.com
- codeload.github.com
在当前网站中查询指定网站ip地址还可以使用另外方法:
①直接将网站作为参数进行请求,省略点击查询的步骤:
- https://websites.ipaddress.com/github.global.ssl.fastly.net
- https://websites.ipaddress.com/github.com
- https://websites.ipaddress.com/assets-cdn.github.com
- https://websites.ipaddress.com/codeload.github.com
②将ip查询网站拼接在之后进行查询
- http://github.global.ssl.fastly.net.ipaddress.com/
- https://github.com.ipaddress.com/
- https://assets-cdn.github.com.ipaddress.com/
- https://codeload.github.com.ipaddress.com/
1.2 本地hosts文件映射ip地址
找到对应的IP地址后,将IP地址与网站地址进行对应,并将对应关系写入本地hosts文件中。
在windows系统中的c:/Windows/System32/drivers/etc
下找到hosts文件,编辑打开,将四个网站的IP地址和网站地址对应写入进入,作为DNS的映射。
hosts文件直接编辑修改时可能没有权限,可以通过以下方法完成修改:
- 修改当前文件权限,右键hosts文件 -> 属性 -> 安全 -> 编辑 -> Users -> Users的权限后加入写权限
- 将当前文件复制到别的盘中,修改文件后复制回来覆盖原来文件
#github dns映射 格式如: [ip]: [domainName]199.232.69.194 github.global.ssl.Fastly.net140.82.114.4 GitHub.com185.199.108.153 assets-cdn.Github.com140.82.114.9 codeload.Github.com
1.3 刷新DNS缓存来访问新的映射
hosts文件内容更新成功后,还需要刷新windows系统的DNS才可以生效。
使用 win+R ,打开cmd命令行,输入 ipconfig/flushdns
刷新DNS缓存即可。
刷新完成后,再次打开github网站时速度会明显提升,需要注意的是以上github网站的ip经常发生变化,如果访问再次变慢可以重新更新映射信息。
2. 一键更新
手动更新本地hosts文件的方式比较繁琐,我们可以编写程序来代替手动操作,实现需要时hosts文件内容的一键更新。
2.1 利用开源项目
推荐一个 github 开源项目:更新hosts ,作者会每日提供最新的相关 ip 地址映射信息,我们可以直接复制使用或者使用其中的程序进行一键更新操作。
作为一个coder,我们也可以自己去实现一个脚本程序。
3. Chrome插件
chrome 插件如 github 加速
等,可以实现在访问和下载项目时使用镜像加速,提升访问速度。
如果无法访问chrome下载插件,推荐一个好用的chrome插件下载网站:CrxDL.COM ,下载后使用开发者模式安装插件即可使用。
更多 chrome 插件安装使用方法参考文档:chrome 插件食用指南!
4. 镜像网站
github访问速度慢,我们还可以使用镜像网站来代替github
- https://hub.njuu.cf/search
- https://www.gitclone.com/gogs/search/clonesearch
以上网站作为镜像网站,基本包含了github上已有的项目信息,并且可以查看和下载相关项目,速度还不错,可以作为备用网站使用。
5. 离线下载(Gitee)
5.1 搜索下载
Gitee 是一个类似 Github 的国内代码托管平台,提供了大量国内开发者开源的项目,国内访问正常且速度很快,基本上比较有名的 GitHub 项目都可以在 Gitee 平台搜索到。
5.2 离线下载
对于使用 Gitee 平台无法直接搜索到的项目,可以借助 Gitee 平台项目管理实现 Github 项目的离线下载。
使用流程如下:
- 在 Gitee 中登录自己账户
- 在仓库页面,点击右上角
+
新增一个仓库,选择最后一个从 Github 导入
- 在导入页面设置需要导入的仓库地址,点击确定,等待导入完成。
- 等待一会后,Gitee 就会下载好对应的项目到我们自己的项目仓库中,之后便可以使用自己项目地址下载到本地使用。