使用Hosts屏蔽广告及绕过GFW(附Hosts源)

文章更新:

20160913 初次成文

写在前面:

"Hosts文件的作用是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS服务器进行IP地址的解析。"

(以上内容来自百度百科)

在安卓系统中,Hosts文件的位置在:
/system/etc/hosts
所以要想访问Hosts文件,必须Root你的设备。
提示:在做任何关于Hosts文件的修改时,请务必备份原Hosts文件。

实现原理:

利用Hosts文件去联网广告的原理为:
在Hosts文件中将广告服务器域名地址指向本机(127.0.0.1),当软件/网页尝试从广告服务器中下载广告时,系统将首先检索Hosts文件,当广告服务器域名存在于Hosts文件中时,系统会将请求定向到本机IP地址,使此次请求得到错误数据而不是继续连接到广告服务器下载广告,从而实现屏蔽广告的目的。

利用Hosts文件绕过GFW的原理为:
在Hosts文件中将被GFW屏蔽的域名指向未被封锁的IP地址,当用户访问被屏蔽的域名且此域名存在于Hosts文件中时,系统将此次请求定向到Hosts文件中定义的未封锁IP地址,从而实现绕过GFW的目的。

Hosts 源地址:

这篇文章中,小苏提供了几个Hosts源供大家选择:

去广告Hosts源:
https://raw.githubusercontent.com/vokins/yhosts/master/hosts
(由vokins@Github维护,他的Github主页:https://github.com/vokins/)

翻墙Host源:
https://raw.githubusercontent.com/racaljk/hosts/master/hosts
(由racaljk@Github维护,他的Github主页:https://github.com/racaljk/)
这个源可以直接覆盖原Hosts文件使用,但使用这个源有可能出现Google Play商店无法下载应用和YouTube无法播放视频的情况。

去广告+翻墙Hosts源(推荐使用):
https://raw.githubusercontent.com/sy618/hosts/master/ADFQ
(由sy618@Github维护,他的Github主页:https://github.com/sy618/)
这个Hosts源综合了两个Hosts源,更新稍慢于前两个源(但更新速度也不会慢于前两个超过一周),也可以直接覆盖原Hosts文件使用。
使用这个Hosts源,将同时实现去广告和翻墙的效果。经过小苏测试,在Google Play应用中可以正常下载应用,YouTube(Https协议下)可以正常播放视频(感谢@619指正)。

在这里小苏感谢各位Hosts维护者的努力!

使用方法:

复制Hosts源地址在浏览器中打开,下载Hosts文件,重命名文件为hosts,复制到/system/etc/下,将提示是否覆盖源文件,选择"确定",复制完成之后,将hosts文件的权限改为0644即可。

已有 3 条评论
  1. 619

    你这文章有一个错误地方,需要纠正:
    [“提示:使用翻墙Hosts源将出现YouTube无法播放视频和无法在Google Play应用中正常下载应用的情况,使用VPN也无法解决(欲知详情:请看这里)。所以如果在日常使用中,上述两个操作进行得较多,则建议最好不要使用翻墙Hosts源。“]

    用hosts可以实现以上功能,不信你可以单独试试ADFQ。为何很难实现原因是可用IP太少。与你使用VPN,并无影响。

  2. 果然是这样!谢谢指正,马上修改~[爱你][爱你]

  3. 修改完成了,请您再看一下~另外请问您是ADFQ源的维护者吗?

添加新评论