OpenWrt 路由器过滤广告的N种方法

Stella981
• 阅读 8700

路由器已经成为每个家庭不可缺少的角色,手机、电脑、电视,凡是需要互联网的设备都要用到它。那么路由器除了给我们的网络设备分发网络外,还有其他用途吗?

现在很多人家里都用着智能路由器,智能路由器究竟怎么智能,各个厂家卖点不一样,有些是支持安装插件,有些是 USB 延伸出来的扩展功能,归根结底,都离不开一个系统: OpenWrt (以下简称:OP)。

OP 是适用于嵌入式设备的 Linux 发行版,大多数智能路由器运行的系统都是基于 OP ,比如:小米、极路由、Newifi 这些,软件包是 OP 的一大特色,开发者可以基于 OP 来开发软件包,也就是俗称的插件。这些插件里,最常用的可能就是广告过滤,看视频终于不用等待长达几十秒和那些无节操的广告,只要连接 WiFi,就可以过滤广告,非常方便。

今天就教大家如何在 OP 系列系统上过滤广告,此教程不适用上面提到的智能路由,只适用没有原版 OP 固件,如:OpenWrt、LEDE、PandoraBox 等。

OpenWrt 路由器过滤广告的N种方法

准备工作

  1. 一台运行 OpenWrt 的设备
  2. SSH 连接工具,为了登陆到系统终端,可以使用 PuTTY 等 SSH 工具,下载地址:PuTTY

使用方法参考《OpenWrt/LEDE 新手指南

1 . Hosts

Hosts 是每个系统都会有的一个文件,它的作用就是将域名指向指定 IP,如果把广告域名指向一个无法访问的 IP,是不是就可以达到过滤广告的需求了。

优点:占用空间少,不需要依赖,可以过滤大多数网盟和视频广告

缺点:容易误杀(有些域名不一定都是广告),过滤视频广告效果不是 100%,无法去除广告占位符。

适用于一些低性能和剩余空间不多的设备,根据小山测试,可以过滤掉手机端大多数视频广告、PC 端可能还会被检测出来。

配置方法

  1. 输入 cp /etc/hosts /etc/hosts.bak 备份原有 Hosts
  2. 输入 wget https://raw.githubusercontent.com/vokins/yhosts/master/hosts -O /etc/hosts --no-check-certificate 下载屏蔽广告 Hosts
  3. 输入 /etc/init.d/dnsmasq restart 重启 Dnsmasq 使 Hosts 生效
  4. 浏览器打开路由器管理页面,依次点击 [系统] → [计划任务],在新的一行填写 0 4 * * * wget https://raw.githubusercontent.com/vokins/yhosts/master/hosts -O /etc/hosts --no-check-certificate && /etc/init.d/dnsmasq restart # 每天4点自动更新 Hosts

如果你固件的 wget 不支持 HTTPS,那么 Hosts 会下载失败。

解决方法

  1. 输入opkg update && opkg install wget 安装完整 wget 重新执行上面的命令。
  2. 将下载源替换为小山的镜像,这个镜像不是缓存,是 cURL 源地址,同时可以加速下载,GitHub 在国内速度并不是多好,地址:http://x.mivm.cn/Hosts/?URL=https://raw.githubusercontent.com/vokins/yhosts/master/hosts ,支持 HTTPS。
  3. 这个方法就比较麻烦了,在电脑上下载好 Hosts 上传至路由器。
    下载 https://raw.githubusercontent.com/vokins/yhosts/master/hosts ,然后将文件复制到跟 pscp.exe 相同的位置,就是上面下载的 PuTTY 里面附带的 pscp.exe ,接着在 PuTTY 文件夹窗口按住 Shift 键点击鼠标右键,点击 [在此处打开命令窗口],然后输入 pscp -scp -l root hosts 192.168.1.1:/etc/hosts 接着输入密码,即可上传至路由器。

OpenWrt 路由器过滤广告的N种方法

删除 Hosts 屏蔽:输入命令 mv /etc/hosts.bak /etc/hosts 还原 Hosts,接着删除计划任务的任务即可。

这种方法有一定几率误杀也可能导致某些网站打不开或者显示错误。

2 . Adbyby (广告屏蔽大师)

OpenWrt 路由器过滤广告的N种方法

Adbyby,国人开发的一款屏蔽广告软件,可能很多小伙伴都用过,效果不错,配置也相对简单。

优点:广告过滤全面,可以过滤非 HTTPS 广告,设置简单,适合小白使用。

缺点:会影响网速,如果你的带宽是 100M,CPU 是 MT7620 这种低性能处理器,那么可能达不到 100M 的速度或者不稳定。这是所有广告过滤软件的缺点。

安装方法

  1. 浏览器打开路由器管理页面或者 SSH 登陆至路由器后台
  2. 点击 [系统] → [软件包] → 在 [下载并安装软件包] 复制下载链接,或者输入 opkg update && opkg install 下载链接 ,下载链接见下方,比如:opkg update && opkg install http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby_2.7_mtk.ipk
  3. 由于主程序和 Luci 界面是分开的,还需要安装 Luci 界面,安装地址:http:https://cdn.mivm.cn/OpenWrt/adbyby/luci-app-adbyby\_2016-01-27\_all.ipk
  4. 刷新路由器页面,在 [服务] 找到 [广告屏蔽大师] 开启即可。

在下方选择适合自己路由器的版本,按照 CPU 架构区分,输入 cat /proc/cpuinfo 查看 CPU 架构。

比如:cpu model : MIPS 24KEc V5.0 就是 ramips_24kec ( 一般都是MTK系列 ) ,使用:http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_mtk.ipk。

http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_ar71xx.ipk
ar71xx
http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_arm-926t.ipk
arm-926t
http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_arm-v7.ipk
arm-v7
http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_mtk.ipk
MTK系列
http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_x64.ipk
X64
http:https://cdn.mivm.cn/OpenWrt/adbyby/adbyby\_2.7\_x86.ipk
X86

你可以使用过滤指定设备,比如,只过滤手机,那样你电脑的网速就不会受影响了。

官网:www.adbyby.com

3 . KoolProxy

KoolProxy,是 KoolShare 团队开发的广告过滤软件,支持 HTTPS,而且功能和规则方面,比 Adbyby 要丰富。

优点:支持 HTTPS 过滤,支持黑名单模式,过滤指定域名广告,内存占用比 Adbyby 少。

缺点:占用空间和所需依赖项较多。

OpenWrt 路由器过滤广告的N种方法

准备工作

由于这个插件需要很多依赖,且不支持自动安装,所以我们需要先安装下依赖插件。一个个来。

首先更新软件源:opkg update

HTTPS 广告过滤:opkg install openssl-util

黑名单模式:opkg remove dnsmasq && opkg install ipset dnsmasq-full diffutils

以 MAC 地址过滤指定设备:opkg install iptables-mod-nat-extra

更新 Host 过滤规则,如果没有,会导致 Host 规则数目为0:opkg install wget libustream-openssl ca-bundle ca-certificates

如果只需要全局 HTTPS 过滤,那么只需要安装:opkg install openssl-util iptables-mod-nat-extra
推荐 K2 等小闪存设备使用这种方案。

KoolProxy 新版已支持自动安装所需依赖

安装方法

  1. 浏览器打开路由器管理页面或者 SSH 登陆至路由器后台
  2. 点击 [系统] → [软件包] → 在 [下载并安装软件包] 复制下载链接,或者输入 opkg update && opkg install 下载链接,下载链接见下方,比如:opkg install http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_mipsel.ipk
  3. 如需中文翻译,安装 http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-i18n-koolproxy-zh-cn.ipk ,方法同上。 中文翻译已集成
  4. 刷新路由器页面,在 [服务] 找到 [KoolProxy] 开启即可。

版本同样按照 CPU 架构区分,查看 CPU 架构方法见上面。

http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_mips.ipk
mips ar系列基本是这个
http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_mipsel.ipk
mipsel mtk系列基本是这个
http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_arm.ipk
arm
http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_i386.ipk
x86
http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_x86_64.ipk
x64

HTTPS 过滤方法 (Windows)

确保已安装 HTTPS 过滤所需依赖:openssl-util

  1. KoolProxy 启动后,浏览器输入 110.110.110.110 下载 HTTPS 过滤 SSL 证书,这个证书每个路由器是独一无二的,所以无需担心。
  2. 双击打开证书,点击 [安装证书] → 存储位置选择 [本地计算机] → [下一步] → 选择 [将所有的证书都放入下列存储] → [浏览] → [受信任的根颁发机构] → [确定] → [下一步] → [完成]。
  3. 浏览器打开路由器管理页面,进入 KoolProxy 设置页面,在 [KoolProxy 访问控制] 添加规则,[内部IP地址] 或 [内部MAC地址] 选择一个即可,选择 MAC 地址确保已安装相应的依赖,过滤方式选择 [全局HTTPS过滤] 或者 [仅过滤HTTPS黑名单广告],黑名单模式确保已安装相应的依赖,保存应用即可。

至于手机端不建议使用 HTTPS 过滤,手机涉及的敏感信息太多。

如果你想去除 HTTPS 广告过滤,删除 HTTPS 证书,方法如下:

  1. Win + R 键 输入 certmgr.msc 运行
  2. 点击 [受信任的根证书颁发机构] → [证书] → 找到 koolproxy.com 这个证书,右键删除。
  3. 浏览器打开路由器管理页面,进入 KoolProxy 设置页面,在 [KoolProxy 访问控制] 删除对应规则。

KoolProxy 使用ipk安装的可能不是最新版,所以这里给大家说一下简单更新的方法。

关闭 KoolProxy,SSH 登陆至路由器系统后台,输入:wget http://firmware.koolshare.cn/binary/KoolProxy/mipsel -O /usr/share/koolproxy/koolproxy ,这个地址根据你的 CPU 架构决定,比如 arm 架构:http://firmware.koolshare.cn/binary/KoolProxy/arm,查看版本号:`/usr/share/koolproxy/koolproxy -v` ,更新完成后再次开启 KoolProxy 即可。

KoolProxy 新版已支持自动更新二进制文件

KoolProxy 的优势就在于可以过滤 HTTPS 广告,至于安全性我不敢保证,还有黑名单模式,网速方面不会有太多限制。

K2 For PandoraBox 安装方法

K2 刷了 PandoraBox 后,可用空间不多,如果直接安装 KoolProxy 的话,空间不足会导致安装失败,所以需要使用命令忽略依赖安装,不过黑名单模式会不可用。

  1. 使用 SSH 工具连接至路由器
  2. 输入 opkg update && opkg install openssl-util 安装 HTTPS 依赖
  3. 输入 opkg install http://firmware.koolshare.cn/binary/KoolProxy/luci/luci-app-koolproxy_3.5.2-1_mipsel.ipk --nodeps 忽略依赖安装

除了黑名单模式无法使用外,其他功能都能正常使用。

更新日志:http://koolshare.cn/thread-64086-1-1.html


以上就是 OpenWRT 路由器过滤广告的几种方法,造成的任何后果与本站和本人无关。

测试视频

优酷:http://v.youku.com/v_show/id_XMTQ2MjA5MzE5Ng==.html

爱奇艺:http://www.iqiyi.com/v_19rrl6p15k.html

腾讯视频:http://v.qq.com/cover/5/5fs2bn3beyv0rbo/r00192d3ruz.html

乐视网:http://www.letv.com/ptv/vplay/24371048.html

芒果 TV:http://www.mgtv.com/v/2/166072/f/2949223.html

PPTV 聚力:http://v.pptv.com/show/4atBviaaMicDqdGibc.html

如果你有其他的过滤方法,可以在下方留言给我,文中有不懂的也可以留言给我。

点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
1年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
Easter79 Easter79
1年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Stella981 Stella981
1年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
1年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序selectfromtable_nameorderiddesc;2.按照指定(多个)字段排序selectfromtable_nameorderiddesc,statusdesc;3.按照指定字段和规则排序selec
Stella981 Stella981
1年前
Angular material mat
IconIconNamematiconcode_add\_comment_addcommenticon<maticonadd\_comment</maticon_attach\_file_attachfileicon<maticonattach\_file</maticon_attach\
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
helloworld_34035044 helloworld_34035044
6个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为