解决Github访问速度慢以及图片加载慢的问题

  • Post author:
  • Post category:其他


作者:氷泠

来源:SegmentFault 思否社区




1 前言


众所周知

Github

在国内的访问速度一直都不怎么样,主要的原因是

DNS

解析太慢了,也就是从

github.com

获取

IP

的过程太慢了,因此,一种最有效的办法是直接修改本地

Hosts

,饶过

DNS

解析。

这也是本文的出发点,虽然,这样的文章网上有很多,百度一搜出来基本上都是如下的套路:

  • 通过

    IP

    解析网站得到

    github.com



    IP

    /直接给出某个

    IP

  • 修改本地

    Hosts

  • 刷新缓存

当然,这样最大的一个坏处是当

IP

更新的时候每次都需要去修改

Hosts

,非常麻烦。受到该仓库的启发,本文提供了一种自动修改的方法,非常方便。

本文主要分成两个部分介绍:

  • 手动修改

    Hosts

  • 通过工具自动修改

    Hosts

首先看一下第一部分。


2 手动修改Hosts



2.1 修改Hosts

首先打开该仓库:

复制其中的内容到

Hosts

文件中,各大平台

Hosts

文件位置如下:


  • Windows



    C:\Windows\System32\drivers\etc\hosts


  • Linux



    /etc/hosts


  • Mac



    /etc/hosts


  • Android



    /system/etc/hosts


  • iOS



    /etc/hosts

根据对应平台修改上述的文件,添加内容到

Hosts

末尾即可。



2.2 使Hosts生效

大部分情况下修改完

Hosts

文件后直接生效,如果不生效,可以尝试手动刷新

DNS

缓存,具体如下:


  • Windows

    :打开

    cmd

    ,输入

    ipconfig /flushdns


  • Linux



    sudo rcnscd restart


  • Mac



    sudo killall -HUP mDNSResponder

如果不生效可以尝试重启机器。


3 自动方式(推荐)


上面的方式需要手动修改

Hosts

文件,非常麻烦,这里推荐一种自动修改的方式。

在此之前需要一个工具:

SwitchHosts



3.1 SwitchHosts安装

官方仓库在此处,直接到

Release

下载即可。

或者从软件包仓库安装,以笔者的

Manjaro

为例:

paru -S switchhosts-bin



3.2 配置

打开后,点击左下角的加号按钮,添加一个新的规则:

内容如下:

  • 标题:随便

  • 类型:

    Remote


  • URL



    https://cdn.jsdelivr.net/gh/521xueweihan/GitHub520@main/hosts

  • 自动刷新时间:第一次添加可以先选择

    1 minute

    ,有了规则以后,就可以选择

    1 hour

配置好后就可以看到了:



3.3 一个小问题

笔者在实测的时候发现如果直接通过启动菜单启动

SwitchHosts

,添加新的规则老是失败:

无论输入的是用户的密码还是

root

的密码都不行。

于是笔者找了一下启动命令,直接

sudo

启动:

sudo switchhosts

启动失败,按照提示加上

--no-sandbox

(这是一个

eletron

的参数):

sudo switchhosts --no-sandbox

需要注意在启动之前需要把原来普通模式启动的

SwitchHosts

先退出了,不然会提示端口占用:

启动之后就可以直接修改

Hosts

而不需要密码了。

另外这里有一个小细节就是两种模式下(普通模式/

sudo

模式)启动的图标不一样:



4 效果



配置好

DNS

后应该能正常访问

Github

上的图片了:



5 后记


通过上面的配置

DNS

方法应该就可以顺利访问

Github

了,此外,该仓库还介绍了另一种自动配置

DNS

的方式:

AdGuard Home


由于笔者没有用过就不说这个了。最后,该仓库还有一个

TODO

希望最后一项内容尽快完成吧。


点击左下角阅读原文,到

程序IT圈

官方网站学习,扫描下方”

二维码

“或在“

公众号后台

“回复“

入群

”即可加入我们的

技术交流群

,收获更多的技术文章~