openwrt折腾记5 广告屏蔽大师adbyby深度调优(借用老毛子完美数据文件)

article/2025/9/17 0:31:20

广告屏蔽大师adbyby 深度调优

    • 本文的精进
    • 起始和结局
    • 一、探索试融合试用adbyby规则文件
    • 二、对luci-app-adbyby-plus更新lazy.txt,video.txt文件脚本adbybyupdate.sh中的地址修复和维护。
    • 三、规则更新-初步探索
    • 四、规则好像也只有HTTP,简化安装流程

本文的精进

(最新提醒:本文就是瞎折腾,运行半天后,直接断网,我就不知道这半天是怎么运行丝滑的) (反提醒,重启后断网是因为tmp内存主程序丢失,估计是被自己删除了。然而又判断data存在,继续重定向注册表,却没有主程序,造成了断网。手工把/etc/init.d/adbyby,中的判断逻辑给改一下,这样就可以用了。为此我把adblock给删除了。也是醉了)

(最终提醒,老毛子规则更新里面六个地址。只要把其中一对lazy,video加入adguardhome好像也能起到屏蔽的效果,和adbyby一模一样。虽然在我老慢牛的x86虚拟旁路由,有时会失效。但是也算省了本文的折腾了,adguarhome,好像只做dns。就行。网关还是原网关就可。)

(逆向提醒,adguardhome半天以后,突然失效,任何广告不阻挡了。按照adguardhome这样的表现,我开始怀疑我脑子出了问题。需要注意在是,有时候dns默认使用ipv6.而本地的IPv6多数在变动之中,所以应该是不得不关闭的。在dns中只留下唯一ADGHome的主机。测试一下拦截baidu.之类在自定义规则,一通操作后系统把电视盒子拦截了-或者是我以为ADG拦截的。然后写了最终提醒,接着马上打脸,突然失效,发现老毛子+adbyby规则的美妙)

(反思,做为仅靠dns和host在阻止工具,保德何能达到了去除广告的效果来着。我不禁陷入了沉思,当初是怎么起作用的呢。他不能拦截和分析内容啊。这是adbyby这样的东西才能干成的事啊。起码要能对地址后面的内容分析出来。难道我的adbyby在后台没有关。但是在从前,adguardhome也曾部分生效过,而且马上失效了。哎,)

起始和结局

高手看完这个可以走了,节省时间。有兴趣可以替换luci-app-adbyby-plus下,openwrt /usr/share/adbyby/adbybyupdate.sh 是程序首页手工更新调用之处。
它里面升级data/lazy.txt, video.txt可用老毛的规则生成bash函数替换。
借鉴来自于padavan始动脚本(原始文件/usr/scripte/前端后端监控状态)其中有用的代码如下:

update_ad_rules () {xwhyc_rules="$hiboyfile/video.txt"
xwhyc_rules2="https://opt.cn2qq.com/opt-file/video.txt"
xwhyc_rules1="https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/video.txt"
xwhyc_rules0="https://coding.net/u/adbyby/p/xwhyc-rules/git/raw/master/video.txt"
logger -t "【Adbyby】" "下载规则:$xwhyc_rules"
wgetcurl.sh /tmp/bin/data/video.txt $xwhyc_rules $xwhyc_rules1 N 5
[ ! -s /tmp/bin/data/video.txt ] && wgetcurl.sh /tmp/bin/data/video.txt $xwhyc_rules $xwhyc_rules0 N 5
xwhyc_rules="$hiboyfile/lazy.txt"
xwhyc_rules2="https://opt.cn2qq.com/opt-file/lazy.txt"
xwhyc_rules1="https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/lazy.txt"
xwhyc_rules0="https://coding.net/u/adbyby/p/xwhyc-rules/git/raw/master/lazy.txt"
logger -t "【Adbyby】" "下载规则:$xwhyc_rules"
wgetcurl.sh /tmp/bin/data/lazy.txt $xwhyc_rules $xwhyc_rules1 N 100
[ ! -s /tmp/bin/data/lazy.txt ] && wgetcurl.sh /tmp/bin/data/lazy.txt $xwhyc_rules $xwhyc_rules0 N 100}

路由器固件仓库广告屏蔽工具老毛子胜openwrt
在上个文章中介绍了,我极力推荐的padavan,虽然是老版本 3.4.3.9-099_23-02-1,它的adbyby能力是真强,截至2023-04012,对电视应用来说十分可行。而且有后备adm阿呆猫也能达到一样效果,且koolproxy我没来及试用。
openwrt折腾记2-广告拦截adbyby与pass

而在这个文章中介绍了openwrt下的luci-app-adbyby-plus。广告屏蔽大师。它就弱了很多,最新的也不行。而看完本文才知道他为什么不行了

完成了两个系统下,广告屏蔽的规则融合。
一开始我没有搞更改下载地址,动态下载好像不太有用,高级设置第三方订阅也没用,后来知道这里只对adblock也就是域名IP拦截有用,对地址目录失效。。

一、探索试融合试用adbyby规则文件

经过我两周时间的比对源码分析原理,
测试思路openwrt下的openwrt adbyby-plus做了很多过分的事, 一切规则下载 先停用,关闭adblock功能,因为他会屏蔽有用的内容。打开全局模式最保险的作法。全部复制padavan老毛adbyby的data包-开始融合 。重启服务。
并把升级sh脚本替换成没有规则url的版本。
因为要彻底转老毛的规则,一切关闭。免得影响。
之所以这样是因为老毛的好用,临时验证一下。是否可以,


#!/bin/bash
#adblock的临时文件,下载下来的规则在这里
rm /tmp/adnew.conf
# rm /usr/share/adbyby/dnsmasq.adblock 卸载用
#下载规则的脚本cp /root/ad-update /usr/share/adbybycp /root/adblock.sh /usr/share/adbyby#下载规则的lua,页面订阅按钮cp /root/adbyby.lua  /usr/lib/lua/luci/controller/#规则文件夹cp -r  /root/data /usr/share/adbybycp -r /root/data /tmp/adbyby#涉及到lua,为了停止规则需要清空lua缓存
rm /tmp/luci-indexcache

如果想避免以前规则的影响,可以卸载一次从头 开始,卸载后清理一下再重装一个干净的

rm /usr/share/adbyby/dnsmasq.adblock 
rm /etc/config/adbyby

然后运行一下我的脚本
或手工改变那几个地方,把data拷贝过去。
下载地址
目录结构如上
tar -zvxf root.tar.gz
安装luci-app-adbyby-plus
然后运行iniadby.sh

最后更新-
还想到一个更笨的方法,
安装完adbyby和luci-app-adbyby-plus以后,
下载地址https://op.supes.top/packages/x86_64/
ssh进去,找到
/usr/share/adbyby/data/
/tmp/adbyby/data/
下载

https://opt.cn2qq.com/opt-file/video.txt
https://opt.cn2qq.com/opt-file/lazy.txt

不管用什么方法,提前替换user.txt,.video.txt两个文件,最好在tmp复制了目录前,不然要连/tmp/adbyby/data
一块改。

二、对luci-app-adbyby-plus更新lazy.txt,video.txt文件脚本adbybyupdate.sh中的地址修复和维护。

最后终于发现老毛子用三个地址给规则保险,而openwrt只用了一个失效的地址获取规则。所以才失败了。
它的升级文件在三个地方,但地址都是不能用的。我这里也没有能用的地址,
https://github.com/adbyby/xwhyc-rules
关键点也就算这个官方文件,不仅仅没能更新。还停在很久以前。
adupdate.sh
手工改代码,量最小也要把uclient-fetch给换了,它访问github会报404错。 uclient-fetch --no-check-certificate
但是opt.cn2qq.com不报错但是缺少一个md5.json。所以不能直接在openwrt上用。
adbybyupdate.sh


```bash
#!/bin/shif [ ! -f "/tmp/adbyby.updated" ];thenwget_ok="0"while [ "$wget_ok" = "0" ] do uclient-fetch --spider --quiet --timeout=3 http://www.baidu.comif [ "$?" == "0" ]; thenwget_ok="1"touch /tmp/md5.json && curl -k -o  /tmp/md5.json https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/md5.jsonadm5=$(md5sum /tmp/md5.json | awk -F' ' '{print $1}')touch /tmp/adbyby/admd5.json && bmd5=$(md5sum /tmp/adbyby/admd5.json | awk -F' ' '{print $1}')if [ "$adm5" == "$bmd5" ];thenecho "Rules MD5 are the same!"echo $(date "+%Y-%m-%d %H:%M:%S") > /tmp/adbyby.updatedexit 0elif [ -s /tmp/md5.json ];thentouch /tmp/lazy.txt && curl -k -o /tmp/lazy.txt https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/lazy.txt   touch /tmp/video.txt && curl -k -o /tmp/video.txt    https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/video.txttouch /tmp/local-md5.json && md5sum /tmp/lazy.txt /tmp/video.txt > /tmp/local-md5.jsonlazy_local=$(grep 'lazy' /tmp/local-md5.json | awk -F' ' '{print $1}')video_local=$(grep 'video' /tmp/local-md5.json | awk -F' ' '{print $1}')  lazy_online=$(sed  's/":"/\n/g' /tmp/md5.json  |  sed  's/","/\n/g' | sed -n '2p')video_online=$(sed  's/":"/\n/g' /tmp/md5.json  |  sed  's/","/\n/g' | sed -n '4p')if [ "$lazy_online"x == "$lazy_local"x -a "$video_online"x == "$video_local"x ]; thenecho "adbyby rules MD5 OK!"mv /tmp/lazy.txt /tmp/adbyby/data/lazy.txtmv /tmp/video.txt /tmp/adbyby/data/video.txtmv /tmp/md5.json /tmp/adbyby/admd5.jsonecho $(date "+%Y-%m-%d %H:%M:%S") > /tmp/adbyby.updatedfifi  elsesleep 10fidonerm -f /tmp/adbyby/data/*.bakkill -9 $(busybox ps -w | grep "/tmp/adbyby/adbyby" | grep -v grep | grep -v update| grep -v adblock | awk '{print $1}') >/dev/null 2>&1/tmp/adbyby/adbyby >/dev/null 2>&1 &
fi`

md5是个综合的文件。
有为了省事的用户。可以直接在这里,存储两个文件就算了。
不折腾了。
这是对supes.top 提交的更新issues
https://github.com/kiddin9/OpenWrt_x86-r2s-r4s-r5s-N1/issues/1322#issue-1670022064

三、规则更新-初步探索

期望全靠DNS,Adguardhome,adblock,dnsfilter,这些应该是不行的。adbyby有对内容的分析,慢但不在乎性能。
太麻烦了,最近想升级lazy。但是无法监听网络包,分析不出广告特性来。
使用wireshark
可以对 路由器进行远程检测网络数据,在网卡中选择 ssh remote capture:sshdump。进行用户名和指令的设定。
请添加图片描述
点ssh前的圆点
请添加图片描述
远cature,写入网卡名,我用的br-lan这个网关,输入远程指令

tcpdump  host 192.168.1.102 -w-

在这之前在openwrt中opkg update && opkg install tcpdump
选择用户名密码,就能远程检测数据包了。

但是有巨大缺点也是adbyby奇怪的地方,对于https他是怎么分析和拦截的。还是说他是放过了呢。

四、规则好像也只有HTTP,简化安装流程

20230422使用说明
临时下载地址:http://pan.ezdial.cn/nasone/a/
主程序来源:github/luci-app-adbyby-plus-lite/
1,下载两个luci ipk文件,opkg install ,或者去https://github.com/kongfl888/luci-app-adbyby-plus-lite/ 查看使用说明。
2,在指定adbyby的平台后,启动一次服务。(手工关闭,它有可能造成dnsmasq启动失败,影响后面的更新,无法解析DNS)
3,进入ssh覆盖/usr/share/adbyby/ 下的两个sh, adupdate和adbybyupdate,chmod +X 。
4,执行两个sh。查看data是否成为我想用的xwhys,旧规则为啥有用我也不知道
5,的PLUS+模式下,把个别IP,加入成全局模式。

注意:以上方法在旁路由也有效
0422
修复开启adbyby,dnsmasq失败的问题。表现为无法dns,系统日志有报错
https://github.com/coolsnowwolf/lede/issues/10461
将adddns中的出错地址改成别的地方
把新的 adbyby 放入 /etc/init.d/覆盖原文件

add_dns()
{---	mkdir -p /var/etc/dnsmasq-adbyby.d+++	mkdir -p /tmp/dnsmasq.d/dnsmasq-adbyby.d

http://chatgpt.dhexx.cn/article/aUsdggH8.shtml

相关文章

openwrt折腾记2-广告拦截adbyby与pass

以上两个软件都是在这个地方源 https://op.supes.top/packages/mipsel_24kc/ 访问前确认自己的openwrt cpu型号,MediaTek MT7621 从固件常用包我的是这个型号, 在这里搜索adbyby.出现两个包, 下载安装,或者 ssh入后台改https为http. opkg update opkg install http://url如…

十、Linux文件 - fread函数讲解

目录 1.fread函数讲解 2.fread函数实战 1.fread函数讲解 从文件中读入数据到指定的地址中 函数原型: size_t fread(void*buff , size_t size, size_t count , FILE* stream) /* * description :对已打开的流进行数据读取 * param ‐ ptr :指向 数据块的…

提升用户体验!专家级前端工程师如何进行前端性能优化?

作为一个前端工程师,前端性能优化是一个非常重要的领域。优化的目标是提高页面的加载速度和响应速度,以提供更好的用户体验。为了实现这个目标,我们需要考虑以下几个方面: 确定优化指标:在进行前端性能优化之前&#x…

最近面试高级前端工程师的一些感受

我最近面了一个前端开发,4 年经验, 应聘的是前端高级开发工程师。 他的简历中提到很多技术点,从 HTML、CSS、JavaScript 再到 Vue.js 和 React 一个都不缺,跨平台PC、移动端、小程序也都经历过,看着像个实战派。 深度聊…

一份优秀的前端开发工程师简历是怎样的?

简历不仅仅是履历,它的重要作用是展示能力!!! 在阿里常年招聘,筛过各式各样的简历,每到招聘季,筛简历、面试过程非常耗精力,当然,原因之一是我想招非常优秀的人,宁可多花些时间,另一方面,除了那些不合格的简历之外,还有好多简历语焉不详,不得不在电面时反复确认…

前端工程师简历怎么写才更容易进入面试呢?

对于一名想找工作的前端开发工程师而言,简历直接关系到面试概率甚至薪资水平,其重要性已不用多说。在HR快速筛选简历的情况下,你的简历要脱颖而出,就得在短时间内将自己的亮点展示给招聘方。具体怎么做?往下看&#xf…

拿到月薪20k的前端工程师简历是什么样的?

“ 陈XX去了字节跳动、李XX刚拿到了网易Offer......我身边的朋友都趁着金三银四季成功上岸了,但我的简历投出去却迟迟没有消息。我技术不比他们差,我到底该怎么办? 4月临近尾声,最近我在后台收到特别多粉丝们的吐槽或求助&#xf…

简约前端工程师简历PPT模板

模板介绍 简约前端工程师简历PPT模板。一套个人简历幻灯片模板,内含黑色,灰色多种配色,风格设计,动态播放效果,精美实用。 希望下面这份精美的PPT模板能给你带来帮助,温馨提示:本资源使用PPT或PPTX等格式…

一个优秀的前端工程师简历应该是怎样的?

很多Web前端工程师在求职时很容易掉坑里,今天就聊聊怎么避坑。 一、简历中这些坑,千万别再踩了 大厂门的敲门砖,是一张拿得出手的简历。 毫不夸张地说,不管大厂还是其他公司HR每天经手的简历不少于50份,要是你的简历没有抓人眼球的关键词,连初筛都过不了。下面这两点,…

php前端开发工程师简历,web前端工程师简历自我评价范文

web前端工程师简历自我评价范文一 有3年以上经验,积极向上,有良好的人际沟通能力,良好的工作协调能力,踏实肯干的工作精神,不断学习新技术,对知识有强烈的求知欲,良好的前端编程能力和编程习惯&…

前端工程师简历怎么写

前阵子知乎有个话题叫做《为什么前端工程师很难找》很火,你可以发现在社交网络上到处都在招前端工程师,但又有一堆前端工程师觉得怀才不遇。 其实前端工程师并不少,但很多时候合适的前端工程师难找。可能是由于程序员比较内向,前端工程师都没有把自己最厉害的那一面表现出…

一份来自前端开发工程师的规范简历

个人资料 姓名:嘻嘻 性别:女 电话:12132323613 邮箱:12132143285163.com 现居地:上海市 工作年限:3年 求职意向 期望职位:前端开发工程师期望薪资:面议 工作性质:全职到岗…

powerha_IBM PowerHA集群中的自动存储库磁盘替换(ARR)

IBM PowerHA SystemMirror 7.2版引入了一项称为自动存储库磁盘替换(ARR)的新功能。 配置此功能后,当活动集群存储库磁盘发生故障或无法访问时,可以防止集群进入受限模式 。 当检测到存储库磁盘故障,集群感知AIX&#…

orecol与mysql_MDPI News | Entropy期刊被PubMed数据库收录

原标题:MDPI News | Entropy期刊被PubMed数据库收录 Entropy 2020年12月,MDPI期刊Entropy (ISSN 1099-4300, IF 2.494) 被PubMed数据库收录。在本期刊上发表的论文现已被编入索引,目前可以在PubMed检索到自第20卷开始的全部文章,这…

python常见的特异点

编码问题 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #codingutf-8 就行了。 注意:Python3.X 源码文件默认使用utf-8编码…

mysql的cell_这篇发生Cell的数据库到底特殊在哪里?

原标题:这篇发生Cell的数据库到底特殊在哪里? 一个表面上“很水”实际上“很牛逼”的数据库 各位小伙伴们大家早上好~欢迎大家继续来听我碎碎念circRNA。我们承接上文,继续来说说circRNA与疾病之间的关系。今天介绍的主角是MiOncoCirc数据库&…

php mysql数据库驱动程序_PHP数据库驱动扩展概述与不同方式连接数据库总结

作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN极客小俊,原创文章, B站技术分享 个人博客: cnblogs.com 前端htmlcssjavascript技术讨论交流群: 281499395 后端phpmysqlLinux技…

linux openldap mysql_linux ldap openldapadmin

LINUX下安装openldap,并用phpldapadmin进行管理 BDB:Berkeley DB,openldap需要使用的数据库(貌似还有别的数据库可用,但这次我要用到它) phpldapadmin:openldap的网页管理软件,需要php支持,所以会有apachep…

mysql +cobar_数据库中间件Cobar功能探究

一、Cobar项目介绍 一)、Cobar背景概述 Cobar是提供分布式数据库服务的中间件,由阿里巴巴中间件团队开发,是阿里巴巴B2B前台应用访问数据库的统一入口,目前已在github上开源。 Cobar的分布式方案是分库和分表,可以按照业务需求将数…

mysql 的基本表的应用_mysql数据库应用(五)----表的基本操作(创建,删除,显示)...

------------------------------表的基本概念------------------------------------------ 表是包含数据库中所有数据的数据库对象 表中的数据库对象包括列,索引,触发器 列:在具体创建表时,必须指定列的名字和数据类型 索引&#…