草稿 如何利用SB高效科学的屏蔽广告
本文最后更新于 302 天前, 如有失效请评论区留言.
最近在研究如何科学的利用SB进行广告屏蔽,本文主要记录一下
什么是SB
sb 是新一代超强通用网络工具,对标目前已经删库的工具。
特性
- 新的协议都支持
- 平台支持多
- 更新迭代频繁
- 免费会手搓就行
分析一下
如果我想屏蔽广告,通常只有两个途径,
- dns劫持, 主要是针对广告域名
- 流量黑洞,主要是针对部分广告服务商IP
配置解析
方便操作,我将按模块拆分相关文件
log.json
{
"log": {
"timestamp": false,
"disabled": false,
"level": "info"
}
}
这个log.json
通过不需要调整,刚开始的时候可能需要改下日志级别debug
, 测试完成后就可以改成info
ntp.json
{
"ntp": {
"enabled": true,
"server": "ntp.tencent.com",
"server_port": 123,
"interval": "30m0s",
"detour": "direct"
}
}
主要保持时间同步,避免时间差。如果你的机器本身就有时间同步,这个也是可选的
DNS 配置
主要用于分流。举个简单例子,公司内部有些域名是使用内网dns解析的,就可以通过它分流。具体参数含义我就不解释了,自己看官方文档(下同)
这里我给出多云组网环境下的配置
{
"dns": {
"servers": [
{
"tag": "dns_ts",
"address": "100.100.100.100",
"detour": "ts"
},
{
"tag": "dns_ali",
"address": "https://223.5.5.5/dns-query",
"strategy": "prefer_ipv4",
"detour": "direct"
},
{
"tag": "dns_block",
"address": "rcode://success"
}
],
"rules": [
{
"domain_keyword": [
"ysicing",
"12306.work"
],
"server": "dns_ts"
},
{
"rule_set": [
"geosite-category-ads-all",
"ban",
"networktest"
],
"server": "dns_block"
},
{
"process_name": [
"tailscale",
"tailscaled",
"kubectl"
],
"server": "dns_ts"
}
],
"final": "dns_ali",
"strategy": "prefer_ipv4"
}
}
这里简单说下, dns有4个分流规则,两个dns。
ysicing
和12306.work
走集群内部的dns解析,因为这里大多数都是内部域名,没必要走公网dns解析- 订阅了三个规则集,如果匹配到直接屏蔽请求,且无错误
- 几个命令行工具也走内部网络
- 最后有个保守规则,都没匹配都走公网dns解析
另外我的环境没开启双栈,要求优先ipv4查询域名A记录
出站规则
因为仅仅是屏蔽广告,出站规则也很简单。
入站规则
开启tun即可
{
"inbounds": [
{
"type": "tun",
"inet4_address": "198.18.0.1/16",
"auto_route": true,
"stack": "mixed"
]
}
路由配置
核心部分
最后
忙活了半天,还是不写了😂
有兴趣的可以看看官方文档或者米开朗基杨基础教程