当前位置: 首页 > 科技观察

使用统一的黑名单和白名单更新您的主机文件

时间:2023-03-13 20:35:49 科技观察

有许多有用的不同垃圾邮件域列表,这些列表不断在线维护。将这些列表复制到您的主机文件中可以轻松阻止如此多的域,以至于您的系统甚至不必连接到它们。此方法无需安装浏览器插件即可运行,并且将为系统上的任何浏览器(和任何其他程序)提供阻止操作。在本教程中,我将向您展示如何在Linux中启动和运行StevenBlack的统一主机脚本。此脚本将使用最知名的广告服务器、网络钓鱼站点和来自多个来源的其他垃圾邮件的地址更新您计算机的主机文件,同时提供一种漂亮、干净的方式来管理您自己的来自此脚本管理的每个列表的黑名单/白名单。在将30,000个域放入主机文件之前,需要注意两件事。首先,这些巨大的列表包含可能需要为在线购买或其他一些临时情况解锁的服务器。如果您弄乱了主机文件,请知道网络上的某些内容可能已损坏。为了解决这个问题,我将向您展示如何使用方便的开/关开关,以便您可以快速禁用购买喜马拉雅盐雾灯(它是等离子灯)的黑名单。我仍然认为这些列表的目的之一是阻止所有内容(在我想到执行终止开关之前有点烦人)。如果您的服务器经常出现问题,您需要被阻止,只需将其添加到您的白名单文件即可。第二个问题是性能受到轻微影响,因为系统每次调用字段时都必须检查整个列表。只是一点点,但不要太多以至于我会删除黑名单并让每个连接都通过。你想如何选择取决于你。主机文件通过将请求定向到127.0.0.1或0.0.0.0(换句话说,定向到空地址)来阻止请求。有人说使用0.0.0.0是更快、问题更少的方法。您可以将脚本配置为使用诸如-ipnnn.nnn.nnn.nnn之类的ip选项作为阻止ip,但默认值为0.0.0.0,这是我使用的。我曾经每隔一段时间手动执行StevenBlack的脚本执行的操作,转到每个站点,将他们的列表复制/粘贴到我的主机文件中,执行查找替换以将127更改为0等。我知道整个事情可以自动化,这样做有点傻,但我从来没有花时间去弄明白。在我找到这个脚本之前,这现在是一件被遗忘的苦差事。让我们先下载一份StevenBlack代码的干净副本(大约150MB),以便我们可以继续下一步。需要安装git,所以如果没有安装,到终端输入:sudoapt-getinstallgit安装完成后,输入:mkdirunifiedhostscdunifiedhostsgitclonehttps://github.com/StevenBlack/hosts.gitcdhosts当你打开Steven的脚本时,让我们看看有哪些选项可用。该脚本有多个选项和扩展,但我不会在此处提交扩展,但如果您了解了这一点并且感兴趣,readme.md可以告诉您所有您需要知道的信息。您需要安装python才能运行此脚本,并且它依赖于版本。要找出您安装的Python版本,请键入:python--version如果您没有安装Python:sudoapt-getinstallpython对于Python2.7,键入python以执行脚本,如下所示。对于Python3,将命令中的python替换为python3。执行时,脚本会确保它拥有每个列表的最新版本,如果不是,它会获取一个新副本。然后它会写入一个新的主机文件,包括黑名单/白名单中的任何内容。让我们尝试使用-r选项来替换我们当前的主机文件,并使用-a选项,这样脚本就不会问我们任何问题。回到终端:pythonupdateHostsFile.py-r-a这个命令会询问你的root密码,以便能够写入/etc/。某些系统需要清除DNS缓存才能使新更新的列表处于活动状态。在同一硬件设备上,我观察到不同操作系统的行为截然不同,不同的服务器在不刷新缓存的情况下花费不同的时间来访问/不可访问。我见过从即时更新(Slackware)到重启更新(Windows)的所有内容。有刷新DNS缓存的命令,但它们在每个操作系统甚至每个发行版上都不同,所以如果它不起作用,只需重新启动即可。现在,只需将您的个人例外添加到黑名单/白名单,并在您想要更新主机文件时运行脚本。该脚本将根据您的要求调整生成的主机文件,并在您每次运行该文件时自动附加您的额外列表。***,让我们创建一个开/关开关,为每个开和关功能创建一个脚本,所以回到终端并输入以下内容来创建关闭开关(用您自己的文本编辑器替换leafpad):leafpadhosts-off.sh在新文件中输入以下内容:#!/bin/shsudomv/etc/hosts/etc/hostsDISABLED并使其可执行:chmod+xhosts-off.sh与on开关类似:leafpadhosts-on。sh在新文件中输入以下内容:#!/bin/shsudomv/etc/hostsDISABLED/etc/hosts***使其可执行:chmod+xhosts-on.sh您需要做的就是创建一个快捷方式,标记为HOSTS-ON和HOSTS-OFF,就放在你能找到它们的地方。