Day_28 Ad blocking

相信有许多人很讨厌网页广告,会在网页上安装广告拦截器如AdBlock、AdGuard等。但有很多装置或软件没有这样的扩充可以安装,那我们何不直接在路由器上直接拦截呢?在openwrt上有数个套件可以安装与执行,多数都是透过解析DNS时直接挡下广告网站的内容,相比网页浏览器上的阻挡,广告纪录档也得不断更新才能有较好的效果。来试试吧~

adblock

也可以选simple-adblock,功能较简单易用,而adblock功能设定较多。

  • 安装

    opkg update
    opkg install adblock 
    opkg install luci-app-adblock
    
  • 设定

    • 其实安装完就自动会开启功能,如果没有就在介面中开启
    • 自行可以设定黑/白名单,如果有误挡或想要自行增加防堵的网址都可以加上。记得储存後需要重启才会生效(指令:/etc/init.d/adblock restart)
    • 把wiki加入黑名单,网页就开不起来了
  • 测试。

    • 上下图是功能开启的对比
    • 不是所有广告都能挡得住,youtybe还是有前置短片与广告栏

AdGuard

安装与设定会相对更复杂一些,套件库中虽然有AdGuardhome,不过版本不会是最新,路径也不太相同。我还是依照教学由github上的进行安装与执行。

  • 安装

    • 先确认所使用硬体,可到openwrt查询cpu硬体资讯,或以指令uname -a查询
    • AdGuardHome下载连结中找适合自己硬体的连结。openwrt/pi 4b可以选Linux ARM:64-bit版本,并复制连结
    • 安装指令
    # 新增资料夹及移动位置
    mkdir /opt/ && cd /opt
    # 下载压缩包,连结需要匹配硬体的版本
    wget -c https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz
    # 解压缩,名称也是看下载的名字替换
    tar xfvz AdGuardHome_linux_arm64.tar.gz
    # 移除压缩包节省空间
    rm AdGuardHome_linux_arm64.tar.gz
    
    • 直接启动
    /opt/AdGuardHome/AdGuardHome
    
  • AdGuard 设定

    • 以openwrt的IP:3000,进入设定页面
    • 调整IP与服务的port,若有冲突port也会提示
    • 输入帐号与密码
    • 完成所有设定後,要以新port进入页面
    • 开启设定AdGuard浏览安全服务
    • 设定阻挡表。
    • 还有许多热门社群或网站可以直接阻挡,网管必备
  • openwrt 设定

    • 网路->DHCP与DNS 设定。加入AdGuard DNS
    • 防火墙设定。强制所有连接的设备使用新的DNS端口
  • 用户端与测试

    • 因为我将AdGuard架设在架在区网内的pi,所以电脑端得将gateway指向这台设备
    • 测试
    • 可以回到控制页面看看阻挡状况

Troubleshooting

adblock 更新失败

安装教学有提到需要安装libustream-mbedtls後才提供https更新广告列表,但我安装失败。除套件包名称已经不同之外,核心套件已存在於其他套件包中。若久不维护阻挡效果就会不好,再找方式解决。

wget版本

原先使用opkg install wget安装wget指令,从网路上下载网页、档案或目录等功能。目前替换成wget-nosslwget-ssl或是也可用uclient-fetch套件的功能。

AdGuard

前面使用的方式是直接启动,重启openwrt或关闭ssh登入会失效。

所以若要长期使用需要进行安装与设定背景运作等操作。

or install it directly with:
/opt/AdGuardHome/AdGuardHome -s install

It is also possible to run it in the background (manually started):
opkg update && opkg install coreutils-nohup
nohup /mnt/usb/AdGuardHome/AdGuardHome > /dev/null 2>&1&

DNS转换需要维护,目前粗浅测试还是有些还无法阻挡,得再多加些AD的规则,预设上面已经有很多可以选择,或参考加入下两个网址,也可以喂狗会有许多列表

https://firebog.net/
https://dbl.oisd.nl/

另如果是自家广告,网域相同就不会有效果。

Ref.


<<:  Day25 - LIFF 使用入门

>>:  #26 初探 Electron

Day10 - 如何用手机连 Ruby on Rails Local 开发中的专案

前言 在开发时,除了用 Chrome 开发者工具切成不同尺寸确认外,若想在手机上操作的话... 说明...

API

今天先来看一段MuleSoft公司介绍API的影片吧! 从影片中我们能够很清楚的知道API其实就是扮...

Vue.js 从零开始:Vue Router

Router 是什麽? Router翻译为路由,依照网址结构,网路的服务器才会知道什麽时候要提供资料...

Day-03 认识Android模拟器

本次要来介绍如何建立Android Studio上的模拟器,以及有哪些优缺点。 首先我认为最大的优点...

[Day 3] SRE - Log写好一点,对团队好一些

LogSeverity 有在写Log的人都知道Log需要被分级,而分级对於问题的除错,是很重要的,当...