奔跑中的奶酪

你应该掌握的高阶上网技巧 一 Hosts

导读

你应该掌握的高阶上网技巧 一 Hosts

老奶友应该还记得。

2014 年的时候,奶酪在博客里分享过一篇《你应该掌握的高阶上网技巧》的文章,里面讲到了 DNSHosts

可坏就坏在,当时奶酪是拿的 Google 做例子,后来文章“喜提”小黑屋。

也庆幸只是屏蔽了该文章,没有把奶酪的网站给整没了。

今天奶酪打算再聊聊这个话题。

一、什么是 DNS

奶酪是不是又打算“作死”一回吗?放心,今天的主角是 GitHub,讲 Github 的人多了,我们可以放心大胆地聊。

1.1、DNS 解释

在互联网服务器中,网站都是以 IP 的形式存在的,比如在浏览器输里入 39.156.66.14 ,是可以直接打开百度的。

i65_DNS

但为了记忆方便,人们发明了“域名系统”(Domain Name System),也就是 DNS

当我们输入 baidu.com 时,浏览器会自动解析到百度的服务器上。

也就是说,DNS 就是介于 IP 与域名之间的服务。

i65_DNS

1.2、常见 DNS

默认情况下,DNS 是自动获取的

不同运营商的 DNS 功能、分布、解析速度不同,因此它们的 DNS 也各有特色,下面是一些常见的 DNS:

i65_DNS1

1.3、修改 DNS

如果你的网络被运营商劫持,经常性地弹出广告。

那么通过修改 DNS 就可以解决,具体是在“系统设置—>网络和Internet”,然后找到你当前使用的网络进行修改。

i65_DNS5

如果你觉得手动修改太麻烦,使用软件 DNS Jumper 可以帮你进行一键设置。

i65_阿里DNS

二、什么是 Hosts

不过,大多数情况下,我们并不需要修改 DNS,真正有“文章”可做的,是 Hosts

2.1、Hosts 解释

Hosts 是什么呢?

Hosts 是一个没有扩展名的系统文件,可以用记事本等工具打开,它的作用,是在本地建立一个“小型 DNS”。

Hosts 与 DNS 的区别,就像是“个人通讯录”和“电话查询黄页”。

i65_DNS

2.2、Hosts 作用

Hosts 的作用就是给网站手动指定一个 IP 地址,而且它的权重会优先于 DNS

因此,通过 Hosts 我们可以实现一些功能。

比如过滤广告、屏蔽网站、禁用软件更新等,通过指定 127.0.0.10.0.0.0 这个本地 IP,就可以屏蔽目标链接。

当然,Hosts 更多的用法,是用来加速或者解决某些打不开的网站。

i65_Hosts作用

2.3、手动修改 Hosts

那具体要如何修改 Hosts 呢?不同系统,Hosts 文件的位置也不一样,下面是具体路径:

Windows 系统:C:\Windows\System32\drivers\etc\hosts
Mac 系统:/etc/hosts
Linux 系统:/etc/hosts
Android 系统:/system/etc/hosts
iOS 系统:/etc/hosts

PS:如果遇到提示没有修改权限时,只需要按下图步骤所示,设置一下权限即可。

i65_Hosts权限

2.4、软件修改 Hosts

如果你觉得手动修改太麻烦,使用 SwitchHosts 会更加方便。

它不但支持分批管理,支持 Windows、Mac、Linux 多个平台,而且还支持订阅功能

只需要一次设置,Hosts 就可以长久使用,如果失效了,那么重新打开软件,更新一下订阅链接就可以了。

地址:https://swh.app

i65_SwitchHosts

2.5、手机修改 Hosts

手机上修改 Hosts 需要 root,但我们也可以使用免 root 应用。

APP 推荐 Hosts GO 或者 Virtual Hosts

支持单条 Hosts 编辑,也支持 Hosts 链接订阅,需要注意的是,使用时需要后台开启应用,目前只支持安卓

i65_DNS6

三、Github 加速

说了这么多,那到底怎样加速 GitHub 呢?有没有一键快速的方法?有!

3.1、AliDNS

AliDNS 可以对 Github 和 Stackoverflow 等网站进行无污染解析,速度不错。

还有我国的边远地区,由于 DNS 未能正常解析,导致很多网站无法打开,使用 AliDNS 可以对其进行正常解析。

i65_阿里DNS2

3.2、Github520

GitHub520,是一个用于加速 GitHub 访问的 Hosts 项目,使用方法很简单,就是用软件 SwitchHosts 来订阅。

地址:https://raw.hellogithub.com/hosts

i65_Github520

3.3、FetchGitHub

另一个加速 Github 的 Hosts 项目是 FetchGithub

相比 Github520,FetchGithub 这个项目的速度更快,因为 IP 来自韩国日本,物理距离更近,当然访问也更快。

而且,FetchGithub 还可以加速下载 Github 上的文件。

地址:https://hosts.gitcdn.top/hosts.txt

i65_FetchGithub

3.4、GithubFast

如果你觉得 DNS 和 Hosts 的方法还是太慢。

那么可以用 GithubFast 的镜像网站,也就是在域名 github 的后面和 .com 的前面加上 fast 就可以加速访问。

同时,我们还可以用扩展 Header Editor 设置自动重定向,具体可查看文章《i39 - 浏览器报文》。

i65_HeaderEditor

PS:另一个类似的镜像网站是 https://kgithub.com,速度也同样很快。

四、现成的 Hosts

那 Github 之外的网站,也可以用 Hosts 来加速吗?当然是可以的,而且现成就有很多的 Hosts 项目。

4.1、UsbEAm Hosts

UsbEAm Hosts Editor 是一个用于加速 Steam、暴雪、育碧等一众游戏平台的项目,但也有很多其它的 Hosts。

地址:https://www.dogfight360.com/blog/475

i65_USB

4.2、Watt Toolkit

另一个类似的项目是 Watt Toolkit,原名 Steam++,相比之下,它支持 Windows、Mac、Linux 多个平台。

地址:https://steampp.net

i65_Steam++

4.3、CheeseHosts

如果你觉得上面的方法太麻烦,那可以订阅奶酪维护的 Hosts,包括“谷歌翻译”在内的常用 Hosts 都会在里面。

方法就是用软件 SwitchHosts 订阅。

i32_SwithHosts

主用链接:

https://gitee.com/runningcheese/firefox/raw/master/Restore/CheeseHosts.txt

备用链接:

https://cdn.jsdelivr.net/gh/runningcheese/RunningCheese-Firefox/Restore/CheeseHosts.txt

五、手动制作 Hosts

但更多的时候,我们需要自己手动制作 Hosts。

5.1、查找网站 IP

有网友反馈说奶酪的博客“用电脑访问打不开,但用手机流量却可以打开”,原因是服务器所地节点未能正确解析。

使用 Ping 工具,比如 https://ping.chinaz.com 查询一下网站 IP。

i65_手动制作Hosts

然后将获得的 IP,用 Hosts 给奶酪博客指定一下,即可正常访问。

i65_手动制作Hosts2

5.2、查找真实 IP

但一些网站,它们在国内的 DNS 遭受污染,无法查询到正确的 DNS 记录,我们则可以用“海外主机”来查找 IP。

以插画网站 deviantart.com 为例。

在查找 IP 时,记得只勾选“其他”,这样就会使用海外主机来查找真实 IP。

i65_手动制作Hosts

查询结束后,选择延迟最小的 IP,然后加入到 Hosts 中去。

i65_手动制作Hosts4

5.3、查找子域名 IP

将网站主页 ip 加入到 Hosts 后。

打开 www.deviantart.com,这时还是只能显示 deviantart 的标题,网页也还是空白的。

原因是网站的链接里,还有很多子域名和第三方网站,我们需要将这些链接,也加入到 Hosts 中去。

i65_手动制作Hosts5

Firefox 查找方法:

F12 打开“开发者工具”,点击“网络”,再点击“状态”选项,前面的空白链接,就是我们要添加的子域名链接。

i65_手动制作Hosts6

Chrome 查找方法:

F12 打开“开发者工具”,点击“网络”,再点击“状态”选项,显示的“待处理”,就是我们要添加的子域名链接。

i65_手动制作Hosts6.1

同样的方法,将这个子域名 ip 也加入到 Hosts 中去。

i65_手动制作Hosts7

再次刷新打开 www.deviantart.com,这时就已经能看到图片了。

但网页仍然在不停地加载中,说明网站链接还有其他的子域名或第三方网站,使用同样方法,再次查找 IP

i65_手动制作Hosts8

最终,我们需要将网站所有的子域名和第三方网站,都加入到 Hosts 中去。

i65_手动制作Hosts9

5.4、检查是否生效

大部分情况下,修改 Hosts 后,IP 并不会直接生效,你需要刷新 DNS 缓存。

Windows 在 CMD 输入: ipconfig /flushdns

Mac 在 终端 输入:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

i65_手动制作Hosts10

如果你觉得太麻烦了,那么还可以直接“重启浏览器”来让 Hosts 生效。

i65_手动制作Hosts10

修改后,如果还是不行,具体表现为“可以 ping,但无法用浏览器打开”,那就是 SNI 阻断了。

这时你就要放弃 Hosts 的方法了。

Hosts 的方法并不万能。

结尾

你说你是一个“上网冲浪高手”。

但如果不知道 Hosts 的话,我是不认可的,而且,它的花活可不只这一些,它的作用可大可小。

在发布本文时,奶酪也是战战兢兢的,搞不好再次“喜提”小黑屋。

XDM,把“公屏”打开“保护”上!!

最后

  1. 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i63 就可获取对应的资源。
  2. 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
  3. 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。
注:本文由 奔跑中的奶酪 作者:奔跑中的奶酪 发表,其版权均为作者所有,如需转载,请注明作者名字以及文章来源。
73
avataravatar

评论:

2 条评论,访客:0 条,站长:0 条
  1. 未来大胖子
    未来大胖子发布于: 

    老哥,太棒了

发表回复