IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何利用SB高效科学的屏蔽广告

    ysicing (i@ysicing.me)发表于 2024-03-03 11:20:48
    love 0

    最近在研究如何科学的利用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"
    ]
    }
    

    路由配置

    核心部分

    最后

    忙活了半天,还是不写了😂

    有兴趣的可以看看官方文档或者米开朗基杨基础教程



沪ICP备19023445号-2号
友情链接