0%

手把手教你去掉电视的开机广告

背景

随着智能电视的普及率越来越高,越来越多的厂家不想错失广告的红利,会厚颜无耻的在电视开机或者关机的时候植入广告。而且在默认的电视首页也会发布各种广告,尤其是最近我的电视的开机广告时间越来越长,声音越来越大,已经忍无可忍了。我决定屏蔽掉这些广告。

前置条件

  • Android TV or TV Box
  • 智能路由器 (以Merlin固件为例)
  • 熟悉简单的Linux操作,我也会尽量的写得通俗一些

操作步骤

打开路由器的ssh登录
  1. 打开梅林路由器页面:http://192.168.50.1/
  2. 系统管理 - 系统设置 - 按照下图勾选相关选项

SSH设置

下载并安装tcpdump
1
2
3
4
5
6
7
8
# 在本机下载tcpdump
curl https://willwangcn.github.io/downloads/tcpdump -o tcpdump
# 将tcpdump copy到路由器
scp tcpdump admin@192.168.50.1:/koolshare/bin/
# 登录路由器
ssh admin@192.168.50.1
# 修改tcpdump权限
chmod +x /koolshare/bin/tcpdump
采集抓包数据

由于路由器平常的流量都比较大,所以我们只抓取电视的流量包

  1. 我们从路由器中页面中找到电视或者电视盒子的IP,并记录下来。
  2. 将电视或者盒子彻底关闭
1
2
3
4
# 在路由器执行,注意这里不要用重定向的方式记录
# 重定向写的只是标准输出打印的LOG,
# 而 -w 写的是原始包,可以供wireshark分析
tcpdump host ip -w tv.pcap # ip换成上面记录的电视的真实ip
  1. 此时将电视开机,并静静等待几分钟,期间不要做任何操作
  2. ctrl + c 停止采集数据
  3. 从本机将数据从路由器copy到自己机器上
1
scp admin@192.168.50.1:~/tv.pcap .
使用wireshark进行抓包分析

打开wireshare - 选择刚才下载的抓包数据打开 - 参照下图进行下面的步骤

Wireshark

  1. 在wireshare的搜索栏中过滤http请求
  2. 点击每一条交互信息
  3. 查看具体的访问的域名并记录,我们只记录域名即可,比如图中的 scs.openspeech.cn
使用路由器的进行过滤

方案一:使用防火墙过滤

  1. 打开梅林路由器页面:http://192.168.50.1
  2. 防火墙 - 网址过滤 - 启用
  3. 将刚才整理的网址列表一条一条的添加,如果你觉得某一个网站一级域名就想屏蔽也可以直接填写一级域名

方案二:使用koolshare - koolproxy软件屏蔽

  1. 打开梅林路由器页面:http://192.168.50.1
  2. 软件中心 - koolproxy - 自定义规则
重启路由器

重启路由器之后查看电视开机广告是否被屏蔽。
如果没有被屏蔽,建议恢复出厂设置。

欢迎关注我的公众号

欢迎关注我的公众号