GitHub 是全球最大的代码开源平台,但是由于国内特殊网络环境环境的原因,我们会时不时出现访问不了、速度极慢等情况,有时候在pull、push代码的时候会非常难受,下面分享下从几个网上学习到的github访问速度慢解决方法,大家根据自己的实际情况选择合适的方法…
修改本地hosts文件
学过网络通信原理相关知识的伙伴肯定知道,我们浏览器在访问一个网址时,会先向 DNS 服务器发送请求获取到对应网站所在的服务器 IP 地址,从而进行访问。
但是其实电脑是会先查看本地是否有对应的记录的。这个记录我们可以修改本地hosts文件,让电脑直接获取到IP地址进行访问,而不需要在经过DNS服务器。所以这种方法我们需要操作如下步骤:
1:找到hosts文件
2:获取到GitHub网站IP地址
3:修改hosts文件
hosts文件地址
不同操作系统,hosts 文件的存储位置也不同:
- windows系统的hosts文件的位置如下:C:WindowsSystem32driversetchosts
- mac/linux系统的hosts文件的位置如下:/etc/hosts
- Android(安卓)系统:/system/etc/hosts # 需要root
- iPhone(iOS)系统:/etc/hosts # 需要越狱
如果是直接在地址栏输入上述路径 请不要带后面的hosts
获取GitHub网站IP地址
可以通过IP查询工具,输入GitHub网址 进行查询获取IP地址,如下:
- https://www.ipaddress.com/
- http://ping.chinaz.com/
也可以自己:通过搜索引擎查询:网站IP查询 关键词进行获取
注意,查询出来的 IP 也未必支持就是100%可以访问的,只是通常都不会有什么问题而已,但是这是多个因素的问题,如果不行请考虑换其他方法。
找到工具后,分别查询如下网址的IP:
- github.com
- github.global.ssl.fastly.net
查询后记录下来
修改hosts文件
然后将如下内容添加到hosts文件底部即可(前面的IP就是你查询到的地址):
# github
140.82.113.3 github.com
199.232.69.194 github.global.ssl.fastly.net
mac修改hosts方法:
1.sudo vim /etc/hosts,然后输入你电脑的密码进入host文件,
2.按 i 键进入编辑状态,修改host。
3.ESC退出编辑状态,最后输入 :wq 保存并退出vim即可
Windows修改hosts方法
直接使用记事本方式打开hosts文件,在末尾添加,然后保存即可。
windows下保存提示没有权限解决
方法一
- 1.先进入etc文件夹下,点击文件按钮;
- 2.选择以管理员身份打开PowerShell,
- 3.先输入cmd进入管理员界面,再输入notepad hosts ,并回车
- 4.即可正常修改.具体如下图
方法二
选中hosts文件->右键属性->安全->高级->更改->高级->立即查找->在下拉菜单中找到”本地账户”->确定->确定->应用->出现弹窗->确定->确定->编辑->选中组或用户名当中的”Users(DESKTOP-XXXXXusers)”->勾选Users的权限下的:允许 完全控制->点应用->确定
即可修改hosts文件了。
刷新DNS
修改完成后,最好刷新下电脑的dns缓存,如果无效可以重启电脑。
Linux 命令:
sudo nscd restart
如报错则须安装:sudo apt install nscd 或 sudo /etc/init.d/nscd restart
Mac 命令:
sudo killall -HUP mDNSResponder
Windows cmd命令行执行:
ipconfig /flushdns
GitHub520
GitHub520 是一个帮助大家访问 GitHub 的项目,本质也是通过修改 hosts 来实现的。项目提供一份完整的 hosts 列表,不需要在手动查询,且会定期更新。而且给出了通过工具自动更新的方法。
项目地址:
https://github.com/521xueweihan/GitHub520
下面是项目文档教程:
完整列表
# GitHub520 Host Start
140.82.113.3 alive.github.com
140.82.113.3 live.github.com
44.200.24.99 github.githubassets.com
140.82.113.3 central.github.com
54.211.149.39 desktop.githubusercontent.com
140.82.113.3 assets-cdn.github.com
3.236.200.76 camo.githubusercontent.com
151.101.1.6 github.map.fastly.net
151.101.1.6 github.global.ssl.fastly.net
140.82.113.3 gist.github.com
185.199.108.153 github.io
140.82.113.3 github.com
192.0.66.2 github.blog
140.82.113.3 api.github.com
44.201.82.49 raw.githubusercontent.com
3.238.70.196 user-images.githubusercontent.com
52.87.167.145 favicons.githubusercontent.com
3.91.161.213 avatars5.githubusercontent.com
3.236.216.92 avatars4.githubusercontent.com
3.238.70.196 avatars3.githubusercontent.com
3.238.16.188 avatars2.githubusercontent.com
18.234.119.136 avatars1.githubusercontent.com
34.205.81.182 avatars0.githubusercontent.com
54.81.134.62 avatars.githubusercontent.com
140.82.113.3 codeload.github.com
72.21.206.80 github-cloud.s3.amazonaws.com
72.21.206.80 github-com.s3.amazonaws.com
72.21.206.80 github-production-release-asset-2e65be.s3.amazonaws.com
72.21.206.80 github-production-user-asset-6210df.s3.amazonaws.com
72.21.206.80 github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153 githubstatus.com
140.82.114.18 github.community
52.224.38.193 github.dev
140.82.113.3 collector.github.com
3.238.70.196 pipelines.actions.githubusercontent.com
3.238.164.141 media.githubusercontent.com
52.87.178.180 cloud.githubusercontent.com
44.200.24.99 objects.githubusercontent.com
13.107.213.40 vscode.dev
# Update time: 2022-10-05T16:07:40+08:00
# Update url: https://raw.hellogithub.com/hosts
# Star me: https://github.com/521xueweihan/GitHub520
# GitHub520 Host End
上面内容会自动定时更新,保证最新有效。数据更新时间:2022-10-05T16:07:40+08:00(内容无变动不会更新)
- 文件:
https://raw.hellogithub.com/hosts
- JSON:
https://raw.hellogithub.com/hosts.json
2.1 手动方式
手动修改方式和之前修改hosts一样,这里不再重复。
2.2 自动方式
Tip:推荐 SwitchHosts 工具管理 hosts
以 SwitchHosts 为例,看一下怎么使用的,配置参考下面:
- Title: 随意
- Type:
Remote
- URL:
https://raw.hellogithub.com/hosts
- Auto Refresh: 最好选
1 hour
如图:
这样每次 hosts 有更新都能及时进行更新,免去手动更新。
2.3 One-liner (适用于类Unix系统)
sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts
自动更新/etc/hosts
文件,可以添加到cron定时执行。使用前确保Github520内容在该文件最后部分。
2.4 AdGuard Home 用户(自动方式)
在 过滤器>DNS 封锁清单>添加阻止列表>添加一个自定义列表,配置如下:
- 名称: 随意
- URL:
https://raw.hellogithub.com/hosts
(和上面 SwitchHosts 使用的一样)
如图:
更新间隔在 设置>常规设置>过滤器更新间隔(设置一小时一次即可),记得勾选上 使用过滤器和 Hosts 文件以拦截指定域名
Tip:不要添加在 DNS 允许清单 内,只能添加在 DNS 封锁清单 才管用。另外,AdGuard for Mac、AdGuard for Windows、AdGuard for Android、AdGuard for IOS 等等 AdGuard 家族软件 添加方法均类似。
2.5 Chrome 插件方式
FasterHosts 是个 Chrome 插件,主要原理是拦截浏览器的某些请求,将 domain
替换成访问速度较快的那个。hosts 资源来自 GitHub520,每 1 小时更新一次。
- 下载 FasterHosts 然后解压,找到
extension
子目录 - 打开 Chrome,输入:
chrome://extensions/
- 打开「开发者模式」
- 选择「加载已解压的扩展程序」,然后定位到刚才解压的文件夹里面的
extension
目录,确定 - 这就安装好了,关闭「开发者模式」
加速下载
如果你觉得上述方式麻烦,或者任然无法访问 GitHub、访问速度巨慢。那你可以考虑GitHub 加速这类工具的方式进行下载项目,这种方式缺点就是你只能下载项目无法向 GitHub 提交代码。
GitHub加速下载网站:
你只需要把下载链接放到网站上的地址框内即可开始下载,例如:
分支源码:https://github.com/hunshcn/project/archive/master.zip
release源码:https://github.com/hunshcn/project/archive/v0.1.0.tar.gz
release文件:https://github.com/hunshcn/project/releases/download/v0.1.0/example.zip
分支文件:https://github.com/hunshcn/project/blob/master/filename
commit文件:https://github.com/hunshcn/project/blob/1111111111111111111111111111/filename
gist:https://gist.githubusercontent.com/cielpy/351557e6e465c12986419ac5a4dd2568/raw/cmd.py
其他:
你可以直接使用:科学上网(比较特别就不在这里说了)、gitee替代等方式。