{
  "log": {
    "level": "warn"
  },
  "dns": {
    "servers": [
      {
        "address": "tcp://1.1.1.1",
        "address_resolver": "dns-local",
        "strategy": "prefer_ipv4",
        "tag": "dns-remote",
        "detour": "Select"
      },
      {
        "address": "223.5.5.5",
        "detour": "direct",
        "tag": "dns-local"
      },
      {
        "address": "rcode://success",
        "tag": "dns-block"
      }
    ],
    "rules": [
      {
        "domain": [
          "cdn.jsdelivr.net",
          "1.1.1.1"
        ],
        "server": "dns-remote"
      },
      {
        "domain_suffix": [
          "google.com",
          "googleapis.com",
          "googlevideo.com",
          "gstatic.com",
          "ggpht.com",
          "gvt1.com",
          "gvt2.com",
          "dl.google.com",
          "android.clients.google.com"
        ],
        "server": "dns-remote"
      },
      {
        "domain_suffix": [
          "cn"
        ],
        "server": "dns-local"
      },
      {
        "rule_set": "geosite-cn",
        "server": "dns-local"
      },
      {
        "outbound": "direct",
        "server": "dns-local"
      }
    ],
    "final": "dns-remote",
    "reverse_mapping": true,
    "strategy": "prefer_ipv4",
    "independent_cache": true
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "listen_port": 6450,
      "override_address": "8.8.8.8",
      "override_port": 53,
      "tag": "dns-in",
      "type": "direct"
    },
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "tun0",
      "address": [
        "172.19.0.1/30"
      ],
      "mtu": 9000,
      "auto_route": true,
      "strict_route": true,
      "stack": "system",
      "sniff": true,
      "domain_strategy": "prefer_ipv4",
      "sniff_override_destination": false,
      "endpoint_independent_nat": true
    },
    {
      "domain_strategy": "prefer_ipv4",
      "listen": "127.0.0.1",
      "listen_port": 2334,
      "sniff": true,
      "sniff_override_destination": false,
      "tag": "mixed-in",
      "type": "mixed"
    }
  ],
  "outbounds": [
    {
      "type": "selector",
      "tag": "Select",
      "outbounds": [
        "direct"
      ],
      "default": "direct"
    },
    {
      "type": "direct",
      "tag": "direct"
    },
    {
      "type": "direct",
      "tag": "bypass"
    },
    {
      "type": "dns",
      "tag": "dns-out"
    }
  ],
  "route": {
    "auto_detect_interface": true,
    "override_android_vpn": true,
    "final": "Select",
    "rule_set": [
      {
        "tag": "geosite-cn",
        "type": "remote",
        "format": "binary",
        "url": "https://cdn.jsdelivr.net/gh/chocolate4u/Iran-sing-box-rules@rule-set/geosite-geolocation-cn.srs",
        "download_detour": "Select"
      },
      {
        "tag": "geoip-cn",
        "type": "remote",
        "format": "binary",
        "url": "https://cdn.jsdelivr.net/gh/chocolate4u/Iran-sing-box-rules@rule-set/geoip-cn.srs",
        "download_detour": "Select"
      }
    ],
    "rules": [
      {
        "inbound": [
          "tun-in",
          "mixed-in"
        ],
        "port": [
          53
        ],
        "action": "hijack-dns"
      },
      {
        "inbound": [
          "dns-in"
        ],
        "action": "hijack-dns"
      },
      {
        "inbound": [
          "tun-in",
          "mixed-in"
        ],
        "action": "sniff",
        "timeout": "1s"
      },
      {
        "domain_suffix": [
          "google.com",
          "googleapis.com",
          "googlevideo.com",
          "gstatic.com",
          "ggpht.com",
          "gvt1.com",
          "gvt2.com",
          "dl.google.com",
          "android.clients.google.com"
        ],
        "outbound": "Select"
      },
      {
        "domain_suffix": [
          "cn"
        ],
        "outbound": "bypass"
      },
      {
        "rule_set": "geoip-cn",
        "outbound": "bypass"
      },
      {
        "rule_set": "geosite-cn",
        "outbound": "bypass"
      },
      {
        "protocol": "quic",
        "port": [
          443
        ],
        "action": "reject"
      },
      {
        "ip_cidr": [
          "224.0.0.0/3",
          "ff00::/8"
        ],
        "source_ip_cidr": [
          "224.0.0.0/3",
          "ff00::/8"
        ],
        "action": "reject"
      }
    ]
  },
  "experimental": {
    "clash_api": {
      "external_controller": "127.0.0.1:9090"
    },
    "cache_file": {
      "enabled": true,
      "path": "cache.db",
      "store_fakeip": true
    }
  }
}