首页 > 其他分享 >阻止列表和白名单来更新主机文件!

阻止列表和白名单来更新主机文件!

时间:2023-09-29 12:31:42浏览次数:32  
标签:脚本 文件 python 主机 列表 hosts 白名单

网上有许多持续维护的含有不同垃圾域的有用列表。将这些列表复制到你的主机文件中可以轻松阻止大量的域,你的系统将根本不用去连接它们。此方法可以在不安装浏览器插件的情况下工作,并且将为系统上任何浏览器(和任何其他程序)提供阻止操作。

在本教程中,我将向你展示如何在 Linux 中启动并运行 Steven Black 的统一主机脚本。该脚本将使用来自多个来源的最新已知的广告服务器、网络钓鱼网站和其他网络垃圾的地址来更新你的计算机主机文件,同时提供一个漂亮、干净的方式来管理你自己的黑名单/白名单,其分别来自于该脚本管理的各个列表。

在将 30,000 个域放入主机文件之前,需要注意两点。首先,这些巨大的列表包含可能需要解除封锁的服务器,以便进行在线购买或其他一些临时情况。如果你弄乱了你的主机文件,你要知道网上的某些东西可能会出现问题。为了解决这个问题,我将向你展示如何使用方便的打开/关闭开关,以便你可以快速禁用你的阻止列表来购买喜马拉雅盐雾灯(它是等离子灯)。我仍然认为这些列表的目的之一是将所有的一切都封锁(有点烦人,直到我想到了做一个关闭开关)。如果你经常遇到你需要的服务器被阻止的问题,只需将其添加到白名单文件中即可。

第二个问题是性能受到了轻微的影响, 因为每次调用一个域时, 系统都必须检查整个列表。只是有一点点影响, 而没有大到让我因此而放弃黑名单,让每一个连接都通过。你具体要怎么选择自己看着办。

主机文件通过将请求定向到 127.0.0.1 或 0.0.0.0(换句话说定向到空地址)来阻止请求。有人说使用 0.0.0.0 是更快,问题更少的方法。你可以将脚本配置为使用 -ip nnn.nnn.nnn.nnn 这样的 ip 选项来作为阻止 ip,但默认值是 0.0.0.0,这是我使用的值。

我曾经将 Steven Black 的脚本做的事每隔一段时间就手动做一遍,进到每一个站点,将他们的列表拷贝/粘贴到我的主机文件中,做一个查找替换将其中的 127 变成 0 等等。我知道整件事情可以自动化,这样做有点傻,但我从来没有花时间解决这个问题。直到我找到这个脚本,现在这事已经是一个被遗忘的杂务。

让我们先下载一份最新的 Steven Black 的代码拷贝(大约 150MB),以便我们可以进行下一步。你需要安装 git,因此如果还没安装,进入到终端输入:

sudo apt-get install git

安装完之后,输入:

mkdir unifiedhosts
cd unifiedhosts
git clone https://github.com/StevenBlack/hosts.git
cd hosts

当你打开了 Steven 的脚本时,让我们来看看有什么选项。该脚本有几个选项和扩展,但扩展我不会在这里提交,但如果你到了这一步并且你有兴趣,readme.md 可以告诉你所有你需要知道的。

你需要安装 python 来运行此脚本,并且与版本有关。要找到你安装的 Python 版本,请输入:

python --version

如果你还没安装 Python:

sudo apt-get install python

对于 Python 2.7,如下所示,输入 python 来执行脚本。对于 Python 3,在命令中的 python 替换成 python3。执行后,该脚本会确保它具有每个列表的最新版本,如果没有,它会抓取一个新的副本。然后,它会写入一个新的主机文件,包括了你的黑名单/白名单中的任何内容。让我们尝试使用 -r 选项来替换我们的当前的主机文件,而 -a 选项可以脚本不会问我们任何问题。回到终端:

python updateHostsFile.py -r -a

该命令将询问你的 root 密码,以便能够写入 /etc/。为了使新更新的列表处于激活状态,某些系统需要清除 DNS 缓存。在同一个硬件设备上,我观察到不同的操作系统表现出非常不同的行为,在没有刷新缓存的情况下不同的服务器变为可访问/不可访问所需的时间长度都不同。我已经看到了从即时更新(Slackware)到重启更新(Windows)的各种情况。有一些命令可以刷新 DNS 缓存,但是它们在每个操作系统甚至每个发行版上都不同,所以如果没有生效,只需要重新启动就行了。

现在,只要将你的个人例外添加到黑名单/白名单中,并且只要你想要更新主机文件,运行该脚本就好。该脚本将根据你的要求调整生成的主机文件,每次运行文件时会自动追加你额外的列表。

最后,我们来创建一个打开/关闭开关,对于打开和关闭功能每个都创建一个脚本,所以回到终端输入下面的内容创建关闭开关(用你自己的文本编辑器替换 leafpad):

leafpad hosts-off.sh

在新文件中输入下面的内容:

#!/bin/sh
sudo mv /etc/hosts /etc/hostsDISABLED

接着让它可执行:

chmod +x hosts-off.sh

相似地,对于打开开关:

leafpad hosts-on.sh

在新文件中输入下面的内容:

#!/bin/sh
sudo mv /etc/hostsDISABLED /etc/hosts

最后让它可执行:

chmod +x hosts-on.sh

你所需要做的是为每个脚本创建一个快捷方式,标记为 HOSTS-ON 和 HOSTS-OFF,放在你能找到它们的地方。


标签:脚本,文件,python,主机,列表,hosts,白名单
From: https://blog.51cto.com/u_16223856/7649488

相关文章

  • Python之列表
    目标列表的应用场景列表的格式列表的常用操作列表的循环遍历列表的嵌套使用一.列表的应用场景思考:有一个人的姓名(TOM)怎么书写存储程序?答:变量。思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?答:列表即可,列表一次性可以存储多个数据。二.列表的......
  • hp 7010dt 主机升级独立显卡,外接2K/4k显示器。
    HTPC主机,你现在的cpu是i5的还是i7的,您的电源实际功率应该是275W,按照转化率倒推,额定功率差不多是350W。显卡推荐:技嘉GTX1050Ti4G半高(刀卡);技嘉GTX1650IXOC4G半高(刀卡),这两款卡都是1150元,GTX10502G刀卡也得900左右,还有盈通RX5504G500元(性能略高于GTX750)这款机器有i53570和......
  • zabbix监控主机异常,反复的报警,恢复
    【!!突发:严重问题】PROBLEM:Zabbixagentxxxxisunreachablefor5minutes【主机】:xxxx:122.16.120.165【告警时间】:2022.08.2615:05:17最后发现是,服务器挂着了。另一个服务器的目录,刚好另一个服务器关机了,df-h,卡主看不了磁盘,导致监控异常,开启关闭的服务器,取消监控异......
  • vmare平台上esxi主机,搭建虚拟机ping不通网关
    环境描述:虚拟化平台:vmare5.5物理机系统:esxi虚拟机:centos7.5交换机2台:锐捷和华为机柜位置–》上面的交换机是华为的26机柜1台物理机ip10.1.1.1机柜位置–》上面的交换机是锐捷的12机柜3台物理机IP10.1.1.210.1.1.310.1.1.4物理机插了2个网线,a网线是物理机-管理网10.1.1.......
  • K8s Pod与宿主机时区不同步
    目录本机替换上海时间一、通过定制Dockerfile添加时区二、通过将时区文件挂在到Pod中三、通过环境变量定义时区四、修改k8s表空间时区本机替换上海时间sudotimedatectlset-timezoneAsia/Shanghai&&sudontpdatetime.windows.com一、通过定制Dockerfile添加时区$catDockerf......
  • ansible-主机清单
    1.ansible清单-默认默认位置/etc/ansible/hosts查看主机清单文件[root@localhostansible]#cathosts[webservers]192.168.235.152[outlocatservers]43.143.98.52[localhost]127.0.0.1[webservers],[outlocatservers],[localhost]是主机名2.ansible主机清单-自......
  • 等待多个元素 放入一个列表 WebDriverWait(driver,10).until(EC.visibility_of_all_el
     这里需要百度的热点新闻标题是多个元素    #导包fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC......
  • 【Vue】彻底搞懂条件&列表渲染
    hello,我是小索奇哈,精心制作的Vue系列持续发放,涵盖大量的经验和示例,由浅入深进行讲解。本章给大家讲解的是条件&列表渲染,前面的章节已经更新完毕,后面的章节持续输出,有任何问题都可以留言或私信哈,一起加油~条件渲染1.v-if这个指令根据表达式的真假来决定是否渲染元素例如:<divv-if......
  • Redis系列 - Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合
    转自:https://blog.csdn.net/u011485472/article/details/109460490Redis系列-Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合、压缩列表)简单动态字符串(simpledynamicstring,SDS)链表字典跳跃表整数集合压缩列表RedisObject在介绍Redis底......
  • ssh添加白名单限制登录
    集团分公司内网环境下的zabbix主机需要远程管理,那么就需要将ssh22端口从公司出口路由器中映射出来,如果不加以登录限制,那么被黑的几率就很高了,现将具体方法记录如下:编辑/etc/hosts.allow文件,将允许远程登录的主机ip添加到该文件中:sshd:50.30.150.158:allowsshd:50.194.2.1......