该如何对付智能电视开机广告? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1465726777
V2EX    CentOS

该如何对付智能电视开机广告?

  •  
  •   1465726777 2017-05-02 23:46:19 +08:00 7009 次点击
    这是一个创建于 3151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    准确说是电视机检测到软件更新,不升级就不能看,之前断掉 Wi-Fi 进入软件后重连就绕过了,正好最近在 CentOS 上安装了 dnsmasq,抓包得到广告是 api.xx.com/ads/ad.xml。原本打算把它直接指向 127.0.0.1 来着,但是这个域名还负责其它信息的初始化。

    现在觉得唯一的办法是把该名指向本地,电视机请求时,无关流量原样发给真正服务器,相关流量从远程获取后在本地修改后再发回电视。

    现在的问题是不知道有什么软件能做到这一点,ettercap 发动 mimt 后修改不够稳定,而 apache 没有修改 http 请求的能力,最好的是抓包工具(指的 Fiddle,Charles 这种基于 http 的),可以任意放行、监听、修改流量,但是电视机没法设置 http 代理,并且 CentOS 下貌似也没有基于命令行的抓包工具,python 的话也不知道具体怎样实现,网上有没有合适的开源代码可供参考

    一筹莫展,请大家指教

    如有好的不改动软件为前提的屏蔽广告思路(最好是基于 http 流量修改),也请不吝赐教。

    7 条回复    2017-05-03 21:29:51 +08:00
    JJaicmkmy
        1
    JJaicmkmy  
       2017-05-02 23:50:58 +08:00   1
    把这个域名 DNS 劫持到本地,然后用 Nginx:
    location / {
    proxy_pass http://api.xx.com;
    }
    location /ads/ {
    return 403;
    }
    bibizhang
        2
    bibizhang  
       2017-05-02 23:54:04 +08:00
    撒泡尿回来就没了
    1465726777
        3
    1465726777  
    OP
       2017-05-03 00:01:24 +08:00 via iPhone
    @JJaicmkmy 谢谢。 我仔细研究下,一直在用 apache。
    其实我还打算做一些更复杂的,百度搜索结果页面最上方的广告标签是动态的,我一直想屏蔽掉。不知道 nginx 自身实现不了的话有插件可以实现吗?
    还想问大家这个:
    在海外可以修改 DNS 可以听到完整的网易云音乐,我觉得中间的 http 流量肯定被修改了,不知道有现成的软件可以用吗?
    1465726777
        4
    1465726777  
    OP
       2017-05-03 00:03:06 +08:00 via iPhone
    @bibizhang 主要还是为了学习 况且开机广告这东西也挺不爽的 要是机顶盒广告也就算了
    JJaicmkmy
        5
    JJaicmkmy  
       2017-05-03 00:06:31 +08:00
    @1465726777
    修改 DNS 听百度云音乐,应该是解析到了境内的反向代理,具体可以搜索 SNIProxy。
    百度的搜索是 HTTPS 的,只能用自签名证书,应该可以通过 ngx_http_substitutions_filter_module 这个模组来修改。
    sholmesian
        6
    sholmesian  
       2017-05-03 09:11:10 +08:00 via iPhone
    这个还是得从电视入手,否则即使你网络层面屏蔽干净了,电视还是会播放最初始的自带广告。 例如乐视……

    https://holmesian.org/remove-letv-boot-ads
    1465726777
        7
    1465726777  
    OP
       2017-05-03 21:29:51 +08:00
    今天搞成了。

    apache 拦截海信电视强制升级的配置:
    vi /etc/httpd/conf/httpd.conf

    <VirtualHost *:80 >
    ServerAdmin admin@localhost
    ServerName api.hismarttv.com
    DocumentRoot "/var/www/html/"
    ProxyPass /upgrade/ !
    ProxyPass / http://api.hismarttv.com/
    #不代理 upgrade 目录,其它目录正常处理
    </VirtualHost>

    可能还有其它域名有广告,把它劫持到本地,然后按照上面的配置修改一份即可。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4913 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 09:40 PVG 17:40 LAX 01:40 JFK 04:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86