首先感谢大佬的开源项目https://github.com/Cats-Team/AdRules
脚本
#!/bin/bash
cd script/dns/src
# 下载广告规则源
wget -O i1.txt https://anti-ad.net/easylist.txt
wget -O i2.txt https://gitee.com/halflife/list/raw/master/ad.txt
wget -O i3.txt https://www.kbsml.com/wp-content/uploads/adblock/adguard/adg-kall-dns.txt
wget -O i4.txt https://banbendalao.coding.net/p/adgk/d/ADgk/git/raw/master/ADgk.txt
wget -O i5.txt https://cats-team.coding.net/p/adguard/d/AdRules/git/raw/main/dns.txt
wget -O i6.txt https://neodev.team/adblocker
wget -O i7.txt https://hblock.molinero.dev/hosts_adblock.txt
wget -O i8.txt https://abp.oisd.nl/
# 合并与删除重复项
cat i*.txt > mergd.txt
cat mergd.txt | grep '^|' > block.txt
cat mergd.txt | grep '^@' > allow.txt
cat mergd.txt | grep '^/' > test1.txt
cat test1.txt block.txt allow.txt > tmpp.txt
sort -n tmpp.txt | uniq > tmp.txt
# 计数规则
num=`cat tmp.txt | wc -l`
# 添加标题与日期
echo "! Version: `date +"%Y-%m-%d %H:%M:%S"`" >> tpdate.txt
echo "! Total count: $num" >> tpdate.txt
cat title.dd tpdate.txt tmp.txt > final.txt
mv final.txt ../../dns.txt
rm *.txt
cd ../../
exit
title.dd
[Adblock Plus 2.0]
! Title: xlxbj_dns
! Powerd by xlxbj
! Expires: 12 Hours
注意事项
- 必须在脚本同目录下生成文件夹(名为src)文件夹内必须有title.dd
- 脚本开头cd 需修改为脚本所在目录的绝对路径
- 广告源可自行添加,添加新的广告源时要把i后面的数字改一下
- 以上title.dd为合并后规则的头部信息,自行修改
使用方法
- 将脚本存储到一个文件里面重命名为 demo.sh
- 将文件上传到宝塔站点文件夹里面
- 新建一个文件夹名为dns
- 进入到dns文件夹里面再新建一个文件夹叫src
- 在src里面建立title.dd并且把上面的那个复制到文件里面来
- 回到宝塔站点目录,把 demo.sh 放到dns这个文件夹里面
- 把cd script/dns/src改为cd 宝塔站点目录绝对路径/dns/src
- 宝塔站点目录绝对路径(/www/wwwroot/这里为新建站点自定义的名字(默认为域名(以本站域名为例:www_xlxbk_cn)))
- 然后到宝塔面板计划任务新建shell脚本,名称和时间自己取,里面内容如下
#!/bin/bash
cd /www/wwwroot/(这里填站点目录)/dns
./demo.sh
© 版权声明
原创文章未经允许请勿转载。
THE END
请登录后查看评论内容