一个自行定制的 hosts_blacklist


本文所述方法针对流氓网站而非页面广告

小小算了一下,我网龄也有近15年了,在这15年里,互联网快速发展,我也算是看着某些公司成长起来的人(想peach)

互联网飞速发展的同时,也带来了不少的问题,比如那满屏的广告和那数量离谱的流氓网站。

几个月前,我实在是看不下去了,就准备自己做个 hosts 阻断的黑名单,奈何流氓网站基数过大,让我一个一个统计也着实不现实,于是把 GitHub翻了一下,翻出来两个 repo 把他们整合了一下,然后我又另外添加了一些流氓网站进去,形成了现在这个版本的 hosts_blacklist.

本文将完整提供设置过程,请按照流程一步一步走。

开始之前,先感谢一下另外两个 repo 的贡献者:

4lan5 (cn.blacklist.hosts)

tekintian (hosts_ads_block)



本项目地址:hosts_blacklist

关于广告拦截

肯定有人是为了拦截广告而硬着头皮在这里看这个(确信)

很可惜,这个项目并不针对广告拦截,但是我可以推荐我正在使用的广告拦截插件 uBlock Origin 的不同浏览器的版本的下载链接给您:

GitHub releases下载

GitHub 源码

Chrome 网上应用店直接下载(1.26.3b15 for chromium)

Firefox Add-Ons直接下载(1.26.3b15 for firefox)

Microsoft Edge 外接程序(仅支持chromium版安装)

*注:

  1. 中国国内各大 chromium 套壳浏览器请按照 Chromium 的方法安装;
  2. 截至此部分成文时,直接下载的版本已发布5小时

开始使用

本项目旨在通过修改系统的 hosts 配置以达到快速阻断流氓网站的作用,还用户一个比较舒适的上网环境。

本项目由本人人工维护,不定期更新,可能无法及时补充新的阻断内容。

hosts 文件的存放位置

1
2
3
4
Windows: C:\Windows\System32\drivers\etc\hosts
Linux: /etc/hosts
MacOS: /etc/hosts
Android 此处不做讨论

如何使用

Windows

打开 C:\Windows\System32\drivers\etc 找到 hosts 并打开,将hosts_blacklist内的内容粘贴到文件最后面保存即可

Win7 及以下系统

右键选择打开方式,选择记事本打开后进行操作

Win8 及以上系统

双击打开,选择记事本打开后进行操作

Win10 修改 hosts 时提示权限不足的解决办法

把 hosts 复制到桌面并重命名为 hosts.txt,按照上文流程操作 hosts.txt 后重命名文件为 hosts 并把文件粘贴回原文件进行替换,提示需要权限时选择确定即可

Linux

方法1(图形化界面)

打开文件管理器,找到根目录下的 etc 文件夹并打开,找到 hosts 并以管理员模式打开,粘贴到文件最后面并保存

方法2 (命令行)

1
2
wget https://github.com/BH6AOV/hosts_blacklist/blob/master/hosts
cat hosts >> /etc/hosts

方法3 (命令行)

1
2
3
cd /etc/
sudo vim ./hosts
#粘贴至文件最后并保存即可

MacOS

方法同 Win10 修改 hosts 时提示权限不足的解决办法

特别提醒

某些安全软件或者流氓软件(360,百毒,金山,疼逊等)可能会阻止你修改hosts文件,请选择放行或卸载流氓软件,再修改hosts屏蔽

Nginx 配置阻断提示(可选)

简单粗暴的配置一个 Nginx 页面来提醒你此网站是不是被 hosts 的设置阻断了,该步骤可有可无

安装 Nginx 并设置自启动

Windows

点击下载 Nginx 1.16.1 安装包

解压到 C:\Program Files (x86)\

打开 C:\Program Files (x86)\nginx-1.16.1\html

使用记事本打开 index.html删除全部内容并复制粘贴保存以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hosts 阻断警告</title>
</head>
<body>
<div class="head" id="head">
<div class="caution">
<p align="center">本页面已被 hosts 阻断,阻断原因包括但不限于:</p><br/>
<p align="center">1. 流氓网站</p><br/>
<p align="center">2. 钓鱼网站</p><br/>
<center><a href="javascript:history.go(-1)"><input type="button" value="返回上一页"></a></center>
</div>
</div>
</body>
</html>

打开 C:\Program Files (x86)\nginx-1.16.1\并为nginx.exe创建快捷方式,将快捷方式复制到 C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup并双击启动即可

  • 把快捷方式粘贴到到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp有可能也可以,有兴趣的可以尝试一下

Linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Debian 系(如 Debian\Ubuntu)
sudo apt-get install -y nginx
#RedHat 系 (如 CentOS)
sudo yum install -y nginx
#设置自启动
systemctl restart nginx
systemctl enable nginx
#检查启动状态
systemctl status nginx

#更换提示页面
cd /usr/share/nginx/html/
sudo rm -rf ./index.html #最好别学这么写,这里只是为了求快
sudo vim index.html
#删除其中所有内容并粘贴下面的内容进去,保存退出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hosts 阻断警告</title>
</head>
<body>
<div class="head" id="head">
<div class="caution">
<p align="center">本页面已被 hosts 阻断,阻断原因包括但不限于:</p><br/>
<p align="center">1. 流氓网站</p><br/>
<p align="center">2. 钓鱼网站</p><br>
<center><a href="javascript:history.go(-1)"><input type="button" value="返回上一页"></a></center>
</div>
</div>
</body>
</html>

MacOS

因为本人对 MacOS 并不完全熟悉,相关安装教程还请自行搜索,安装后替换默认 html 文件即可。