gayhub(误)github作为全世界最大的开源代码库以及版本控制系统,是用来托管项目以及学习开源技术非常好的平台,是我心中最好的学习网站,我们公众号的众多技术文章对应的数据和代码也都一直托管在github上。
但熟悉github的朋友应该都被其越来越慢的连接速度,以及“全员图裂”所困扰:
图1本文就将参考github仓库(https://github.com/521xueweihan/GitHub520),教大家如何在不kexue上网的前提下,简单几步解决github访问缓慢已经各种图裂的问题。
2 通过修改本地hosts文件加速github 2.1 手动修改更新首先我们需要找到自己设备上的hosts文件,不同的平台其存放路径各不相同,主要的平台hosts文件所在路径如下:
Windows :C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
Mac:/etc/hosts
以Windows为例,按照上面的说明,进入``C:\Windows\System32\drivers\etc目录,找到hosts`文件:
图2这是一个无拓展名的文件,我们可以使用记事本、notepad++等文本编辑器来打开它,将下面的内容(这部分内容会自动更新,)复制,并粘贴到hosts文件的最后:
# GitHub520 Host Start 185.199.108.154 github.githubassets.com 199.232.68.133 camo.githubusercontent.com 199.232.68.133 github.map.fastly.net 199.232.69.194 github.global.ssl.fastly.net 140.82.113.3 github.com 140.82.112.5 api.github.com 199.232.68.133 raw.githubusercontent.com 199.232.68.133 user-images.githubusercontent.com 199.232.68.133 favicons.githubusercontent.com 199.232.68.133 avatars5.githubusercontent.com 199.232.68.133 avatars4.githubusercontent.com 199.232.68.133 avatars3.githubusercontent.com 199.232.68.133 avatars2.githubusercontent.com 199.232.68.133 avatars1.githubusercontent.com 199.232.68.133 avatars0.githubusercontent.com # GitHub520 Host End 图3如果保存时需要管理员权限,按照提示以管理员方式重新打开再保存即可,正常情况下在保存退出后会立即生效,如果依然加载不出图,可以根据自己系统的不同来执行对应的命令刷新DNS重启机器即可:
Windows:ipconfig /flushdns
Linux:sudo rcnscd restart
Mac:sudo killall -HUP mDNSResponder
接下来我们来看看这种方法的效果如何,在遵循上述流程修改好hosts文件之后,重新打开图1对应的README页面:
图4O(∩_∩)O哈哈~,这时我们成功地加载出了原本裂掉的图,但这种方式麻烦的地方在于当你配置好hosts之后的确是可以正常访问github的,但一旦你某天访问github发现老毛病又出现了,就得重复一遍上述的过程,接下来我们来学习另一种能将上述过程自动化的方法。
2.2 利用SwitchHosts软件自动更新hosts信息SwitchHosts是一个用于快速切换hosts文件的开源软件(https://github.com/oldj/SwitchHosts),我们可以通过其官方提供的百度云盘地址(https://pan.baidu.com/s/1inED1)下载适合自己系统的版本。
下载后直接正常安装,接着以管理员身份打开,点击左下角+新建hosts,再按照图5配置好,设置自动刷新时间间隔为你觉得合适的,我选的1小时刷新一次,这样每隔一小时SwitchHosts就会自动访问URL并更新hosts信息:
图5点击刷新按钮刷新成功后,点击OK创建完成。其中URL信息是我将原始仓库导入国内的码云平台后得到的可连接的地址(https://gitee.com/cnfeffery/GitHub520/raw/master/hosts),因为原始仓库中的URL为github源访问不成功。
创建完成后,把开关打开,让SwitchHosts在后台静静的运行即可:
图6