一、从多个广告过滤器中提取拦截域名条目,删除重复项,并将它们转换为兼容Sing-box的json格式和srs二进制格式,其中列表的每行都是被拦截域名,一行仅一条规则。该列表可以用作Sing-box的rule_set.以阻止广告域名, powershell脚本每20分钟自动执行并将生成的文件发布在release中.三个文件的下载地址分别如下,其中adblock_reject_domain.txt是单纯的带引号和逗号的被拦截域名列表
,adblock_reject.json是json格式的域名拦截rule_set规则集,adblock_reject.srs则是由sing-box核心将adblock_reject.json编译转化得来的规则集
| 订阅地址 | |
| JSON | Github原始链接 | jsDelivr 加速链接 | Statically 加速链接 |
| SRS | Github原始链接 | jsDelivr 加速链接 | Statically 加速链接 |
| 拦截域名 | Github原始链接 | jsDelivr 加速链接 | Statically 加速链接 |
二、使用方式: 修改sing-box配置中的DNS模块和路由模块,JSON注意去掉注释,"route.rules"和 "route.rule_set"中的 "tag" 值需要保持一致
{
"dns":
{
"rules":
[
{
"rule_set": ["adblock"], // 在DNS查询域名阶段使用名为"adblock"的规则集来匹配域名
"action": "reject" // DNS层动作:拦截命中"adblock"规则集的域名
}
]
},
"route":
{
"rule_set":
[
{
"tag": "adblock", // 定义名为"adblock"的规则集
"type": "remote", // 规则集来源为远程拉取
"format": "source", // 规则文件格式为 source
"url": "https://raw.githubusercontent.com/REIJI007/AdBlock_Rule_For_Sing-box/main/adblock_reject.json",
"update_interval": "1h" // 自动更新间隔:1 小时
}
],
"rules":
[
{
"rule_set": ["adblock"], // 路由层使用名为"adblock"的规则集
"action": "reject" // 路由层动作:拒绝建立连接(注意:旧的 "outbound": "block" 已弃用)
}
]
}
}
三、本仓库引用的广告过滤规则来源请查看Referencing rule sources.txt(目前300个来源)。至于是否误杀域名完全取决于这些处于上游的广告过滤器的域名拦截行为,你可按在本地使用powershell脚本进行DIY本地定制化,亦或者fork本仓库自行DIY
四、特别鸣谢