mode: rule
log-level: info

dns:
  default-nameserver:
    - 223.5.5.5
    - 114.114.114.114
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://doh.pub/dns-query

sniffer:
  enable: true
  sniff:
    HTTP:
      ports: [80, 8080-8880]
      override-destination: true
    TLS:
      ports: [443]

proxies:
  - name: "V.PS-TYO-Reality"
    type: vless
    server: 103.201.130.18
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: lDygZPzNThnjbu2jt-yX41zfrGG_I9JMDHGsfdWCrWA
      short-id: 9910a13ee5c44b5a

  - name: "V.PS-TYO-Hysteria2"
    type: hysteria2
    server: 103.201.130.18
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "V.PS-TYO-Reality-v6"
    type: vless
    server: "2a12:a301:2008::12"
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: lDygZPzNThnjbu2jt-yX41zfrGG_I9JMDHGsfdWCrWA
      short-id: 9910a13ee5c44b5a

  - name: "V.PS-TYO-Hysteria2-v6"
    type: hysteria2
    server: "2a12:a301:2008::12"
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "V.PS-OSA-Reality"
    type: vless
    server: 45.8.115.4
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: DviSkRllStyZC1vNlR9B9Xy2cci7Up78MQMv1_esNTs
      short-id: 6415fa6e5cfe4d13

  - name: "V.PS-OSA-Hysteria2"
    type: hysteria2
    server: 45.8.115.4
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "V.PS-OSA-Reality-v6"
    type: vless
    server: "2a10:480:1::1004"
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: DviSkRllStyZC1vNlR9B9Xy2cci7Up78MQMv1_esNTs
      short-id: 6415fa6e5cfe4d13

  - name: "V.PS-OSA-Hysteria2-v6"
    type: hysteria2
    server: "2a10:480:1::1004"
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "HK-VOLL-Reality"
    type: vless
    server: 103.20.223.42
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: wTI4MDSc4vmTYXgGTovzjL_58ctVw67idclnLxT75wc
      short-id: 0855fbaa51db3636

  - name: "HK-VOLL-Hysteria2"
    type: hysteria2
    server: 103.20.223.42
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "HK-YT-Reality"
    type: vless
    server: 149.104.5.239
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: ITSO8iEAX-E0d-qFI4qF736C0M9aNhpmjgeRDaOZlW0
      short-id: 8fff1986529caf0a

  - name: "HK-YT-Hysteria2"
    type: hysteria2
    server: 149.104.5.239
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "HK-YT-Reality-v6"
    type: vless
    server: "2400:f880:d05:5a95::38fc"
    port: 443
    uuid: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    tls: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: ITSO8iEAX-E0d-qFI4qF736C0M9aNhpmjgeRDaOZlW0
      short-id: 8fff1986529caf0a

  - name: "HK-YT-Hysteria2-v6"
    type: hysteria2
    server: "2400:f880:d05:5a95::38fc"
    port: 12443
    auth: cdd59f1c-46f7-4eb7-9084-a254c5540ce9
    sni: www.bing.com
    skip-cert-verify: true
    up-speed: 50
    down-speed: 200

  - name: "NY-SOCKS5-V.PS-TYO-Rea"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-TYO-Reality"

  - name: "NY-SOCKS5-V.PS-TYO-HY2"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-TYO-Hysteria2"

  - name: "NY-SOCKS5-V.PS-OSA-Rea"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-OSA-Reality"

  - name: "NY-SOCKS5-V.PS-OSA-HY2"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-OSA-Hysteria2"

  - name: "TYO-SOCKS5-V.PS-TYO-Rea"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-TYO-Reality"

  - name: "TYO-SOCKS5-V.PS-TYO-HY2"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-TYO-Hysteria2"

  - name: "TYO-SOCKS5-V.PS-OSA-Rea"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-OSA-Reality"

  - name: "TYO-SOCKS5-V.PS-OSA-HY2"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-OSA-Hysteria2"

  - name: "TYO-SOCKS5-V.PS-TYO-Rea-v6"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-TYO-Reality-v6"

  - name: "TYO-SOCKS5-V.PS-TYO-HY2-v6"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-TYO-Hysteria2-v6"

  - name: "TYO-SOCKS5-V.PS-OSA-Rea-v6"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-OSA-Reality-v6"

  - name: "TYO-SOCKS5-V.PS-OSA-HY2-v6"
    type: socks5
    server: 103.244.220.149
    port: 443
    username: AhaKTpUzyMiK
    password: "UkR2V4Apxb"
    udp: true
    dialer-proxy: "V.PS-OSA-Hysteria2-v6"

  - name: "NY-SOCKS5-HK-VOLL-Rea"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-VOLL-Reality"

  - name: "NY-SOCKS5-HK-VOLL-HY2"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-VOLL-Hysteria2"

  - name: "NY-SOCKS5-HK-YT-Rea"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-YT-Reality"

  - name: "NY-SOCKS5-HK-YT-HY2"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-YT-Hysteria2"

  - name: "NY-SOCKS5-HK-YT-Rea-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-YT-Reality-v6"

  - name: "NY-SOCKS5-HK-YT-HY2-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "HK-YT-Hysteria2-v6"

  - name: "NY-SOCKS5-V.PS-TYO-Rea-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-TYO-Reality-v6"

  - name: "NY-SOCKS5-V.PS-TYO-HY2-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-TYO-Hysteria2-v6"

  - name: "NY-SOCKS5-V.PS-OSA-Rea-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-OSA-Reality-v6"

  - name: "NY-SOCKS5-V.PS-OSA-HY2-v6"
    type: socks5
    server: 64.50.130.241
    port: 443
    username: GxwiQnWNLZBH
    password: "CmgsxsOGyJ"
    udp: true
    dialer-proxy: "V.PS-OSA-Hysteria2-v6"

proxy-groups:
  - name: "DEFAULT"
    type: select
    url: https://www.gstatic.com/generate_204
    interval: 300
    timeout: 5000
    proxies:
      - "AUTO-TOKYO-HOME-v4"
      - "AUTO-TOKYO-HOME-v6"
      - "AUTO-TOKYO-v4"
      - "AUTO-TOKYO-v6"
      - "AUTO-HK-v4"
      - "AUTO-HK-v6"
      - "V.PS-TYO-Reality"
      - "V.PS-TYO-Hysteria2"
      - "V.PS-TYO-Reality-v6"
      - "V.PS-TYO-Hysteria2-v6"
      - "V.PS-OSA-Reality"
      - "V.PS-OSA-Hysteria2"
      - "V.PS-OSA-Reality-v6"
      - "V.PS-OSA-Hysteria2-v6"
      - "HK-VOLL-Reality"
      - "HK-VOLL-Hysteria2"
      - "HK-YT-Reality"
      - "HK-YT-Hysteria2"
      - "HK-YT-Reality-v6"
      - "HK-YT-Hysteria2-v6"

  - name: "AI"
    type: select
    url: https://www.gstatic.com/generate_204
    interval: 300
    timeout: 5000
    proxies:
      - "AI-AUTO-JP-v4"
      - "AI-AUTO-JP-v6"
      - "AI-AUTO-HK-v4"
      - "AI-AUTO-HK-v6"
      - "NY-SOCKS5-V.PS-TYO-Rea"
      - "NY-SOCKS5-V.PS-TYO-HY2"
      - "NY-SOCKS5-V.PS-OSA-Rea"
      - "NY-SOCKS5-V.PS-OSA-HY2"
      - "NY-SOCKS5-V.PS-TYO-Rea-v6"
      - "NY-SOCKS5-V.PS-TYO-HY2-v6"
      - "NY-SOCKS5-V.PS-OSA-Rea-v6"
      - "NY-SOCKS5-V.PS-OSA-HY2-v6"
      - "NY-SOCKS5-HK-VOLL-Rea"
      - "NY-SOCKS5-HK-VOLL-HY2"
      - "NY-SOCKS5-HK-YT-Rea"
      - "NY-SOCKS5-HK-YT-HY2"
      - "NY-SOCKS5-HK-YT-Rea-v6"
      - "NY-SOCKS5-HK-YT-HY2-v6"

  - name: "AUTO-HK-v4"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "HK-VOLL-Reality"
      - "HK-VOLL-Hysteria2"
      - "HK-YT-Reality"
      - "HK-YT-Hysteria2"

  - name: "AUTO-HK-v6"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "HK-YT-Reality-v6"
      - "HK-YT-Hysteria2-v6"

  - name: "AUTO-TOKYO-HOME-v4"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "TYO-SOCKS5-V.PS-TYO-Rea"
      - "TYO-SOCKS5-V.PS-TYO-HY2"
      - "TYO-SOCKS5-V.PS-OSA-Rea"
      - "TYO-SOCKS5-V.PS-OSA-HY2"

  - name: "AUTO-TOKYO-HOME-v6"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "TYO-SOCKS5-V.PS-TYO-Rea-v6"
      - "TYO-SOCKS5-V.PS-TYO-HY2-v6"
      - "TYO-SOCKS5-V.PS-OSA-Rea-v6"
      - "TYO-SOCKS5-V.PS-OSA-HY2-v6"

  - name: "AUTO-TOKYO-v4"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "V.PS-TYO-Reality"
      - "V.PS-TYO-Hysteria2"
      - "V.PS-OSA-Reality"
      - "V.PS-OSA-Hysteria2"

  - name: "AUTO-TOKYO-v6"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "V.PS-TYO-Reality-v6"
      - "V.PS-TYO-Hysteria2-v6"
      - "V.PS-OSA-Reality-v6"
      - "V.PS-OSA-Hysteria2-v6"

  - name: "AI-AUTO-JP-v4"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "NY-SOCKS5-V.PS-TYO-Rea"
      - "NY-SOCKS5-V.PS-TYO-HY2"
      - "NY-SOCKS5-V.PS-OSA-Rea"
      - "NY-SOCKS5-V.PS-OSA-HY2"

  - name: "AI-AUTO-JP-v6"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "NY-SOCKS5-V.PS-TYO-Rea-v6"
      - "NY-SOCKS5-V.PS-TYO-HY2-v6"
      - "NY-SOCKS5-V.PS-OSA-Rea-v6"
      - "NY-SOCKS5-V.PS-OSA-HY2-v6"

  - name: "AI-AUTO-HK-v4"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "NY-SOCKS5-HK-VOLL-Rea"
      - "NY-SOCKS5-HK-VOLL-HY2"
      - "NY-SOCKS5-HK-YT-Rea"
      - "NY-SOCKS5-HK-YT-HY2"

  - name: "AI-AUTO-HK-v6"
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "NY-SOCKS5-HK-YT-Rea-v6"
      - "NY-SOCKS5-HK-YT-HY2-v6"

rules:
  # LAN / Private IPs - DIRECT, no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
  - IP-CIDR,169.254.0.0/16,DIRECT,no-resolve
  - IP-CIDR6,::1/128,DIRECT,no-resolve
  - IP-CIDR6,fc00::/7,DIRECT,no-resolve
  - IP-CIDR6,fe80::/10,DIRECT,no-resolve

  # VPS servers - DIRECT
  - IP-CIDR,103.201.130.18/32,DIRECT,no-resolve
  - IP-CIDR,45.8.115.4/32,DIRECT,no-resolve
  - IP-CIDR,103.20.223.42/32,DIRECT,no-resolve
  - IP-CIDR,149.104.5.239/32,DIRECT,no-resolve
  - IP-CIDR6,2a12:a301:2008::12/128,DIRECT,no-resolve
  - IP-CIDR6,2a10:480:1::1004/128,DIRECT,no-resolve
  - IP-CIDR6,2400:f880:d05:5a95::38fc/128,DIRECT,no-resolve

  # Custom
  - DOMAIN-SUFFIX,binance.com,DEFAULT
  - DOMAIN-SUFFIX,bybit.com,DEFAULT

  # AI providers - GEOSITE
  - GEOSITE,category-ai-!cn,AI
  - GEOSITE,spotify,AI

  # AI providers - KEYWORD matching (supplementary)
  - DOMAIN-KEYWORD,ping0,AI
  - DOMAIN-KEYWORD,openai,AI
  - DOMAIN-KEYWORD,chatgpt,AI
  - DOMAIN-KEYWORD,oai,AI
  - DOMAIN-KEYWORD,anthropic,AI
  - DOMAIN-KEYWORD,claude,AI
  - DOMAIN-KEYWORD,gemini,AI
  - DOMAIN-KEYWORD,deepmind,AI
  - DOMAIN-KEYWORD,generativelanguage,AI
  - DOMAIN-KEYWORD,aistudio,AI
  - DOMAIN-KEYWORD,antigravity,AI
  - DOMAIN-KEYWORD,grok,AI
  - DOMAIN-KEYWORD,groq,AI
  - DOMAIN-KEYWORD,perplexity,AI
  - DOMAIN-KEYWORD,pplx,AI
  - DOMAIN-KEYWORD,cohere,AI
  - DOMAIN-KEYWORD,mistral,AI
  - DOMAIN-KEYWORD,huggingface,AI
  - DOMAIN-KEYWORD,replicate,AI
  - DOMAIN-KEYWORD,together,AI
  - DOMAIN-KEYWORD,midjourney,AI
  - DOMAIN-KEYWORD,stability,AI
  - DOMAIN-KEYWORD,runway,AI
  - DOMAIN-KEYWORD,poe,AI
  - DOMAIN-KEYWORD,character,AI
  - DOMAIN-KEYWORD,inflection,AI
  - DOMAIN-KEYWORD,suno,AI
  - DOMAIN-KEYWORD,udio,AI
  - DOMAIN-KEYWORD,cursor,AI
  - DOMAIN-KEYWORD,replit,AI
  - DOMAIN-KEYWORD,windsurf,AI
  - DOMAIN-KEYWORD,codeium,AI
  - DOMAIN-KEYWORD,copilot,AI
  - DOMAIN-KEYWORD,github,AI
  - DOMAIN-KEYWORD,notebooklm,AI
  - DOMAIN-KEYWORD,llama,AI
  - DOMAIN-KEYWORD,bolt,AI
  - DOMAIN-KEYWORD,sentry,AI
  - DOMAIN-KEYWORD,crisp,AI
  - DOMAIN-KEYWORD,revenuecat,AI
  - DOMAIN-KEYWORD,coze,AI
  - DOMAIN-KEYWORD,auth0,AI
  - DOMAIN-KEYWORD,lmstudio,AI
  - DOMAIN-KEYWORD,sift,AI
  - DOMAIN-KEYWORD,o3pro,AI
  - DOMAIN-KEYWORD,kiro,AI
  - DOMAIN-KEYWORD,factory,AI
  # Too short for KEYWORD, keep DOMAIN-SUFFIX
  - DOMAIN-SUFFIX,x.ai,AI
  - DOMAIN-SUFFIX,pi.ai,AI
  - DOMAIN-SUFFIX,meta.ai,AI
  - DOMAIN-SUFFIX,v0.dev,AI
  - DOMAIN-SUFFIX,ant.dev,AI

  # China direct
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT

  # Everything else
  - MATCH,DEFAULT
