# OpenClash 通用链式代理配置模板（新手友好版）
# 作者：Hans
# 适用场景：链式住宅IP + Trojan机场节点，支持 OpenWrt OpenClash，防止DNS/WebRTC泄露
# 说明：请务必替换【必改】部分为自己的节点信息和账号密码

port: 7890                        # HTTP 代理端口，默认7890
socks-port: 7891                  # SOCKS5 代理端口，默认7891
allow-lan: true                   # 是否允许局域网设备连接
mode: rule                       # 使用规则模式分流
log-level: info                   # 日志级别
external-controller: :9090        # 外部控制面板端口

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-filter:
    - '*.lan'
    - localhost.ptlogin2.qq.com
    - '*.msftconnecttest.com'
    - '*.msftncsi.com'
    - 'stun.*.*'
    - '*.stun.*'
  default-nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - 114.114.114.114
  nameserver:
    - https://dns.cloudflare.com/dns-query
    - https://dns.google/dns-query
  nameserver-policy:
    "geosite:cn":
      - 119.29.29.29
      - 223.5.5.5
      - 114.114.114.114
  fallback:
    - https://doh.dns.sb/dns-query
    - https://dns.cloudflare.com/dns-query
    - https://dns.google/dns-query
  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - "+.google.com"
      - "+.facebook.com"
      - "+.youtube.com"
      - "+.x.com"
      - "+.openai.com"
      - "+.tiktok.com"
      - "+.icloud.com"
      - "+.apple.com"
      - "+.cloudflare.com"
      - "+.amazonaws.com"
      - "+.doubleclick.net"
      - "+.ghproxy.com"

proxies:
  # === 以下为用户需手动填写的 Trojan 节点 ===
  # 【必改】填写你自己的 Trojan 节点信息（机场提供）
  - {name: bpb01, server: "", port: 443, type: trojan, password: "", sni: "", skip-cert-verify: false, network: ws, ws-opts: {path: "", headers: {Host: ""}}}
  - {name: bpb02, server: "", port: 443, type: trojan, password: "", sni: "", skip-cert-verify: false, network: ws, ws-opts: {path: "", headers: {Host: ""}}}

  # === 以下为住宅 SOCKS5 代理节点（支持链式代理） ===
  # 【必改】填写你的住宅 SOCKS5 代理信息
  - name: 链式代理-住宅A
    type: socks5
    server:                    # 【必改】填写SOCKS5代理地址
    port: 0                    # 【必改】填写端口号
    username:                  # 【必改】填写用户名
    password:                  # 【必改】填写密码
    udp: true
    dialer-proxy: 住宅A-中继组   # 链式代理，指定中继组

#  - name: 链式代理-住宅B       # 【默认禁用】启用请去掉注释
#    type: socks5
#    server: 
#    port: 0
#    username: 
#    password: 
#    udp: true
#    dialer-proxy: 住宅B-中继组

#  - name: 链式代理-住宅C       # 【默认禁用】启用请去掉注释
#    type: socks5
#    server: 
#    port: 0
#    username: 
#    password: 
#    udp: true
#    dialer-proxy: 住宅C-中继组

proxy-groups:
  - name: 住宅A-中继组
    type: select
    proxies:
      - bpb01
      - bpb02

#  - name: 住宅B-中继组       # 【默认禁用】启用请去掉注释
#    type: select
#    proxies:
#      - bpb01
#      - bpb02

#  - name: 住宅C-中继组       # 【默认禁用】启用请去掉注释
#    type: select
#    proxies:
#      - bpb01
#      - bpb02

  - name: 节点选择
    type: select
    proxies:
#      - 链式代理-住宅A
#      - 链式代理-住宅B
#      - 链式代理-住宅C

rules:
  # 拦截STUN请求，防止 WebRTC 泄露（IP泄漏）
  - DOMAIN-SUFFIX,stun.l.google.com,REJECT
  - DOMAIN-KEYWORD,stun,REJECT
  - DOMAIN-KEYWORD,turn,REJECT
  - DOMAIN-KEYWORD,rtc,REJECT

  # 指定设备走不同链式代理，需配合路由器设置对应IP
#  - SRC-IP-CIDR,1.1.1.1/32,链式代理-住宅A
#  - SRC-IP-CIDR,1.2.2.2/32,链式代理-住宅B
#  - SRC-IP-CIDR,1.2.2.3/32,链式代理-住宅C

  # 常见跨境平台使用代理
  - DOMAIN-SUFFIX,google.com,节点选择
  - DOMAIN-KEYWORD,facebook,节点选择
  - DOMAIN-SUFFIX,youtube.com,节点选择
  - DOMAIN-KEYWORD,tiktok,节点选择
  - DOMAIN-KEYWORD,openai,节点选择
  - DOMAIN-SUFFIX,icloud.com,节点选择
  - DOMAIN-SUFFIX,apple.com,节点选择
  - DOMAIN-KEYWORD,instagram,节点选择

  # 国内IP直连，优化访问速度
  - GEOIP,CN,DIRECT

  # 其他流量默认走节点选择
  - MATCH,节点选择
