10
11月
2022
17:00

基于hosts文件从网页中删除广告的脚本

10 11月 2022 17:00

在我的智能手机上,我使用一个程序来阻止广告 阿德威。 对于 Linux 计算机,我在 sh 中编写了一个简短的脚本,从 4 个源创建一个主机文件(其中 3 个是从 www 下载的,其中一个是我自己的)。

该脚本的本质是从 url 和文件加载特殊主机来阻止广告,然后将它们组合成一个文件并将它们复制到 /etc/hosts 文件中。

我将脚本附加到 ZIP 存档中(更新于 01/16/2025)。

获取主机.zip

! 在运行脚本之前,您需要制作 /etc/hosts 文件的备份副本。

该脚本的优点是只能偶尔运行;频繁发射是禁忌的。
替换hosts文件后,不仅去除了广告,而且加载网页的时间也减少了。

2025 年 1 月 15 日起添加:

为了使广告拦截功能正常工作,本地 PC 上不应运行任何侦听端口 80 和 443 的服务。

!!!执行检查。 您可以使用以下命令检查端口 80 和 443 上是否没有任何服务正在运行:
! !! 须藤 netstat -tlpn | grep -E ':80|:443'

如果安装了 Apache2,您应该在文件中将其端口 80 更改为另一个端口,例如 82:
! !! /etc/apache2/ports.conf
! !!
/etc/apache2/sites-enabled/000-default.conf
!!! 编辑配置文件后,需要重新启动Web服务器: sudo service apache2 restart

2025 年 1 月 23 日更新:
!要在更新主机文件后清除已解析服务的本地 DNS 服务器缓存中的记录,我建议使用以下命令重置本地 DNS 缓存:
sudo resolvectl flush-caches
! 对 gethosts.sh 命令文件进行了适当的更改。