mixed-port: 7890 # http(s) and SOCKS5
redir-port: 7892 # Redirect TCP and TProxy UDP

ipv6: true # 监听 ipv6，如果你网络不支持 ipv6 就别开

mode: rule # rule/global/direct/script

geodata-mode: true # 使用 .dat 格式
geodata-loader: standard # geo data 加载模式： standard 标准模式 、memconservative 小内存加载模式
geo-auto-update: true # 自动更新 geo 文件
geo-update-interval: 72 #每 72 小时更新一次 geo 文件
# geox-url:
#   # geoip: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
#   # geosite: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
#   # mmdb: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb"
#   # geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat"
#   geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip-only-cn-private.dat"
#   geosite: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat"

log-level: info

allow-lan: true # 允许局域网其他机器使用代理
bind-address: "*" # 配合上面字段，允许全部局域网机器 ip

external-controller: 0.0.0.0:9090 # webui 监听 IP 端口
external-ui: ui # webui 相对目录
external-ui-url: "https://github.allproxy.dpdns.org/https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip" #从 GitHub Pages 分支获取

profile:
  store-selected: true
  store-fake-ip: true

tun:
  enable: true
  stack: mixed # system(系统模式) or gvisor(google 的一种沙盒模式) or mixed(混合堆栈,tcp使用 `system`栈,udp使用 `gvisor`栈,使用体验可能相对更好)
  dns-hijack: # dns 劫持
    - any:53
  auto-route: true # 全局路由
  strict-route: true # 严格模式 # 配合 auto-route: true 使用
  auto-detect-interface: true # 自动选择出口网卡
  # auto-redir: false # Linux 系统下将 route-address-set route-xxx 设置的规则写入防火墙

dns:
  enable: true # 启用 dns 处理
  ipv6: true # 使用 ipv6 dns 解析，如果你网络不支持 ipv6 就别开
  respect-rules: true # 匹配 rules 规则（直连或代理）决定是否走 proxy-server-nameserver
  nameserver:
    - 180.76.76.76
    - 114.114.114.114
  proxy-server-nameserver:
    - tls://8.8.4.4:853
    - tls://1.0.0.1:853

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - _p_udp
      - Sall

  - name: "P_AI_GEMINI"
    type: select
    proxies:
      - _p_ai_gemini
      - Sall

  - name: "P_PORN_X"
    type: select
    proxies:
      - _p_porn_x
      - Sall

  - name: "P_PORN_ALL"
    type: select
    proxies:
      - _p_porn_all
      - Sall

  - name: "Sall"
    type: select
    use:
      - p_all
      - anaer

  - name: "_p_udp"
    type: load-balance
    use:
      - p_udp
    strategy: sticky-sessions # 会话保持 round-robin=轮询 consistent-hashing=相同目标地址聚合 sticky-sessions=相同来源+目标聚合

  - name: "_p_ai_gemini"
    type: url-test
    use:
      - p_ai_gemini

  - name: "_p_porn_x"
    type: url-test
    use:
      - p_porn_x

  - name: "_p_porn_all"
    type: url-test
    use:
      - p_porn_all

proxy-providers:
  anaer:
    type: http
    path: ./proxy/anaer.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/anaer/Sub/main/proxies.yaml"
    interval: 3600
    proxy: DIRECT
    exclude-filter: "中国|China"
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: true
      expected-status: 204

  p_udp:
    type: http
    path: ./proxy/udp.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/udp.yaml"
    interval: 3600
    proxy: DIRECT
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: false
      expected-status: 204

  p_ai_gemini:
    type: http
    path: ./proxy/ai_gemini.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/ai_gemini.yaml"
    interval: 3600
    proxy: DIRECT
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: false
      expected-status: 204

  p_porn_x:
    type: http
    path: ./proxy/porn_x.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/porn_x.yaml"
    interval: 3600
    proxy: DIRECT
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: false
      expected-status: 204

  p_porn_all:
    type: http
    path: ./proxy/porn_all.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/porn_all.yaml"
    interval: 3600
    proxy: DIRECT
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: false
      expected-status: 204

  p_all:
    type: http
    path: ./proxy/all.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/all.yaml"
    interval: 3600
    proxy: DIRECT
    health-check:
      enable: true
      url: "https://www.google.com/generate_204"
      interval: 1800
      timeout: 3000
      lazy: false
      expected-status: 204

rules:
  #  RULE-SET x.com
  - DOMAIN,x.com,P_PORN_X
  # RULE-SET Google Gemini AI
  - RULE-SET,AIDomain,P_AI_GEMINI
  # RULE-SET PROXY
  - RULE-SET,ProxyMyDomain,PROXY
  # RULE-SET DIRECT
  - RULE-SET,DirectMyDomain,DIRECT
  # GETSITE
  # - GEOSITE,category-ads-all,REJECT
  - GEOSITE,private,DIRECT
  - GEOSITE,category-porn,P_PORN_ALL
  - GEOSITE,apple-cn,DIRECT
  - GEOSITE,google-cn,DIRECT
  - GEOSITE,microsoft@cn,DIRECT
  - GEOSITE,category-games@cn,DIRECT
  - GEOSITE,cn,DIRECT # 相当于 geolocation-cn 和 tld-cn 的合集
  - GEOSITE,geolocation-!cn,PROXY
  # GETIP
  - GEOIP,private,DIRECT,no-resolve
  - GEOIP,CN,DIRECT
  # MATCH
  - MATCH,PROXY

rule-providers:
  # 直连规则
  DirectMyDomain:
    type: http
    path: ./rule-set/direct_domain.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/direct_domain.yaml"
    interval: 86400
    proxy: DIRECT
    behavior: domain
    format: yaml
  # 代理规则
  ProxyMyDomain:
    type: http
    path: ./rule-set/proxy_domain.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/proxy_domain.yaml"
    interval: 86400
    proxy: DIRECT
    behavior: domain
    format: yaml
  # AI 规则
  AIDomain:
    type: http
    path: ./rule-set/ai_domain.yaml
    url: "https://github.allproxy.dpdns.org/https://raw.githubusercontent.com/FanchangWang/clash_config/main/ai_domain.yaml"
    interval: 86400
    proxy: DIRECT
    behavior: domain
    format: yaml
