mode: rule
log-level: info
mixed-port: 10000
unified-delay: true
allow-lan: true
tcp-concurrent: true
enable-process: true
find-process-mode: always
global-client-fingerprint: chrome

profile:
  store-selected: true
  store-fake-ip: true

sniffer:
  enable: true
  force-dns-mapping: true
  parse-pure-ip: true
  sniff:
    HTTP:
      ports:
        - 80
        - 8080-8880
      override-destination: true
    TLS:
      ports:
        - 443
        - 8443
    QUIC:
      ports:
        - 443
        - 8443

dns:
  enable: true
  ipv6: false
  prefer-h3: false
  use-hosts: true
  use-system-hosts: true
  cache-algorithm: arc
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - rule-set:geosite-private
    - +.lan
    - +.local
    - +.localhost
    - +.msftconnecttest.com
    - +.msftncsi.com
    - captive.apple.com
    - connectivitycheck.gstatic.com
    - +.ntp.org
    - time.windows.com
    - time.nist.gov
    - +.time.apple.com
    - time.apple.com
    - +.time.google.com
    - time.google.com
    - stun.*.*
    - stun.*.*.*
    - +.stun.*.*
    - +.xboxlive.com
    - xbox.*.*.microsoft.com
    - "*.*.stun.playstation.net"
    - +.ipv6.microsoft.com
  default-nameserver:
    - 77.88.8.8#DIRECT
    - 1.1.1.1#DIRECT
    - 8.8.8.8#DIRECT
  proxy-server-nameserver:
    - 77.88.8.8#DIRECT
    - 195.208.4.1#DIRECT
    - 1.1.1.1#DIRECT
    - system
  direct-nameserver:
    - https://77.88.8.8/dns-query#DIRECT
    - 77.88.8.8#DIRECT
    - 195.208.4.1#DIRECT
  nameserver:
    - https://1.1.1.1/dns-query#Select Proxy
    - https://8.8.8.8/dns-query#Select Proxy
  hosts:
    'lkfl2.nalog.ru': 213.24.64.175
    'lknpd.nalog.ru': 213.24.64.181
  nameserver-policy:
    'rule-set:geosite-ru':
      - https://77.88.8.8/dns-query#DIRECT
      - 77.88.8.8#DIRECT
    'rule-set:ads_all':
      - rcode://refused
    'rule-set:oisd_big':
      - rcode://refused

proxy-providers:
  sub:
    type: http
    url: https://pharmaroyalty.chickenkiller.com/2TyEgb8XRO/ebp675v00jkqmmdg?provider=1
    path: ./proxy_providers/sub.yaml
    interval: 3600
    override:
      override-expr:
        - '(select(.type == "vless" and .["reality-opts"] != null) | .["reality-opts"]["support-x25519mlkem768"]) = true'
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300
      timeout: 5000
      lazy: true
      expected-status: 204

proxy-groups:
  - name: Select Proxy
    type: select
    proxies:
      - Auto Select
      - DIRECT
    use:
      - sub

  - name: Auto Select
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    lazy: true
    use:
      - sub

rule-providers:
  geosite-private:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/private.mrs
    path: ./rule-sets/geosite-private.mrs
    interval: 86400
  geoip-private:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geoip/private.mrs
    path: ./rule-sets/geoip-private.mrs
    interval: 86400
  geosite-ru:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/category-ru.mrs
    path: ./rule-sets/geosite-ru.mrs
    interval: 86400
  geoip-ru:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geoip/ru.mrs
    path: ./rule-sets/geoip-ru.mrs
    interval: 86400
  ru-apps:
    type: http
    behavior: classical
    format: yaml
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/other/ru-app-list.yaml
    path: ./rule-sets/ru-apps.yaml
    interval: 86400
  oisd_big:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/oisd/big.mrs
    path: ./rule-sets/oisd_big.mrs
    interval: 86400
  ads_all:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/category-ads-all.mrs
    path: ./rule-sets/ads_all.mrs
    interval: 86400
  torrent-trackers:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/other/torrent-trackers.mrs
    path: ./rule-sets/torrent-trackers.mrs
    interval: 86400
  torrent-clients:
    type: http
    behavior: classical
    format: yaml
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/other/torrent-clients.yaml
    path: ./rule-sets/torrent-clients.yaml
    interval: 86400
  games-direct:
    type: http
    behavior: classical
    format: yaml
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/other/games-direct.yaml
    path: ./rule-sets/games-direct.yaml
    interval: 86400
  ru-bundle:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/ru-bundle/rule.mrs
    path: ./rule-sets/ru-bundle.mrs
    interval: 86400
  refilter_domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/re-filter/domain-rule.mrs
    path: ./rule-sets/refilter-domains.mrs
    interval: 86400
  refilter_ipsum:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/re-filter/ip-rule.mrs
    path: ./rule-sets/refilter-ips.mrs
    interval: 86400
  telegram-domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/telegram.mrs
    path: ./rule-sets/telegram-domains.mrs
    interval: 86400
  telegram-ips:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geoip/telegram.mrs
    path: ./rule-sets/telegram-ips.mrs
    interval: 86400
  itdog-discord-domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://github.com/itdoginfo/allow-domains/releases/download/2026-08-17_09-09/discord_domain.mrs
    path: ./rule-sets/itdog-discord-domains.mrs
    interval: 86400
  itdog-discord-ipcidr:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://github.com/itdoginfo/allow-domains/releases/download/2026-08-17_09-09/discord_ipcidr.mrs
    path: ./rule-sets/itdog-discord-ipcidr.mrs
    interval: 86400
  itdog-cloudflare-domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://github.com/itdoginfo/allow-domains/releases/download/2026-08-17_09-09/cloudflare_domain.mrs
    path: ./rule-sets/itdog-cloudflare-domains.mrs
    interval: 86400
  itdog-cloudflare-ipcidr:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://github.com/itdoginfo/allow-domains/releases/download/2026-08-17_09-09/cloudflare_ipcidr.mrs
    path: ./rule-sets/itdog-cloudflare-ipcidr.mrs
    interval: 86400
  discord-voiceips:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/legiz-ru/mihomo-rule-sets@main/other/discord-voice-ip-list.mrs
    path: ./rule-sets/discord-voiceips.mrs
    interval: 86400
  twitch-domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/twitch.mrs
    path: ./rule-sets/twitch-domains.mrs
    interval: 86400
  tiktok-domains:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/tiktok.mrs
    path: ./rule-sets/tiktok-domains.mrs
    interval: 86400
  ai:
    type: http
    behavior: domain
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/category-ai-!cn.mrs
    path: ./rule-sets/ai.mrs
    interval: 86400
  cloudflare-ips:
    type: http
    behavior: ipcidr
    format: mrs
    proxy: Select Proxy
    url: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geoip/cloudflare.mrs
    path: ./rule-sets/cloudflare-ips.mrs
    interval: 86400
  quic_block:
    type: inline
    behavior: classical
    payload:
      - AND,((NETWORK,udp),(DST-PORT,443))
  ip-check:
    type: inline
    behavior: classical
    payload:
      - DOMAIN-KEYWORD,2ip
      - DOMAIN,ipwho.is
      - DOMAIN,api.myip.com
      - DOMAIN,ipapi.co
      - DOMAIN,ident.me
      - DOMAIN,ip-api.com
      - DOMAIN,ipinfo.io
      - DOMAIN,api.ip.sb
      - DOMAIN,flclashx.app
  push-direct:
    type: inline
    behavior: classical
    payload:
      - IP-CIDR,17.0.0.0/8,no-resolve
      - DOMAIN-SUFFIX,push.apple.com
      - DST-PORT,5223
      - DOMAIN-SUFFIX,fcm.googleapis.com
      - DOMAIN-SUFFIX,fcm-xmpp.googleapis.com
      - DOMAIN-KEYWORD,mtalk
      - DST-PORT,5228-5230
  my-proxy:
    type: inline
    behavior: classical
    payload:
      - DOMAIN-KEYWORD,spurdoverse
      - DOMAIN-KEYWORD,anitype
      - DOMAIN-KEYWORD,67anitype
      - DOMAIN-KEYWORD,plisio
      - DOMAIN-KEYWORD,pellix
      - DOMAIN-KEYWORD,btcpay
      - DOMAIN-KEYWORD,slack
      - DOMAIN-KEYWORD,viktor
      - DOMAIN-KEYWORD,uiparser
      - DOMAIN-KEYWORD,petuh.me
      - DOMAIN-KEYWORD,animego
      - DOMAIN-KEYWORD,xernel.cc
      - DOMAIN-KEYWORD,nextcheat
      - DOMAIN-KEYWORD,malevolencecheats
      - DOMAIN-KEYWORD,eden.moe
      - DST-PORT,1337
  media-proxy:
    type: inline
    behavior: classical
    payload:
      - DOMAIN-KEYWORD,tiktok
      - DOMAIN-KEYWORD,tiktokcdn
      - DOMAIN-KEYWORD,tiktokv
      - DOMAIN-KEYWORD,byteoversea
      - DOMAIN-KEYWORD,bytecdn
      - DOMAIN-KEYWORD,byted
      - DOMAIN-KEYWORD,ibytedtos
      - DOMAIN-KEYWORD,ibyteimg
      - DOMAIN-KEYWORD,spotify
      - DOMAIN-KEYWORD,scdn
      - DOMAIN-KEYWORD,spotifycdn
      - DOMAIN-KEYWORD,musica
      - DOMAIN-KEYWORD,muscdn
      - DOMAIN-KEYWORD,musemuse

rules:
  - DST-PORT,22005,DIRECT
  - RULE-SET,geoip-private,DIRECT,no-resolve
  - RULE-SET,geosite-private,DIRECT
  - RULE-SET,push-direct,DIRECT
  - PROCESS-NAME-REGEX,(?i).*tailscale.*,DIRECT
  - PROCESS-NAME-REGEX,(?i).*wireguard.*,DIRECT
  - PROCESS-NAME-REGEX,(?i).*anydesk.*,DIRECT
  - PROCESS-NAME-REGEX,(?i).*rustdesk.*,DIRECT
  - PROCESS-NAME-REGEX,(?i).*bsglauncher.*,DIRECT
  - PROCESS-NAME-REGEX,(?i).*escapefromtarkov.*,DIRECT
  - DOMAIN-KEYWORD,escapefromtarkov,DIRECT
  - DOMAIN-KEYWORD,battlestategames,DIRECT
  - DOMAIN-KEYWORD,spiritx,Select Proxy
  - DOMAIN-KEYWORD,neverlose,Select Proxy
  - RULE-SET,games-direct,DIRECT
  - RULE-SET,torrent-clients,DIRECT
  - RULE-SET,torrent-trackers,DIRECT
  - PROCESS-NAME-REGEX,(?i).*torrent.*,DIRECT
  - RULE-SET,ads_all,REJECT
  - RULE-SET,oisd_big,REJECT
  - RULE-SET,quic_block,REJECT
  - RULE-SET,ip-check,Select Proxy
  - RULE-SET,telegram-ips,Select Proxy
  - RULE-SET,telegram-domains,Select Proxy
  - PROCESS-NAME-REGEX,(?i).*telegram.*,Select Proxy
  - PROCESS-NAME-REGEX,(?i).*ayugram.*,Select Proxy
  - PROCESS-NAME-REGEX,(?i)discord.*,Select Proxy
  - PROCESS-NAME-REGEX,(?i).*vesktop.*,Select Proxy
  - RULE-SET,itdog-discord-domains,Select Proxy
  - RULE-SET,itdog-discord-ipcidr,Select Proxy
  - AND,((RULE-SET,discord-voiceips),(NETWORK,udp),(DST-PORT,50000-50100)),Select Proxy
  - RULE-SET,ru-bundle,Select Proxy
  - RULE-SET,refilter_domains,Select Proxy
  - RULE-SET,refilter_ipsum,Select Proxy
  - DOMAIN-SUFFIX,ru,DIRECT
  - DOMAIN-SUFFIX,su,DIRECT
  - DOMAIN-SUFFIX,by,DIRECT
  - DOMAIN-SUFFIX,xn--p1ai,DIRECT
  - RULE-SET,geosite-ru,DIRECT
  - RULE-SET,ru-apps,DIRECT
  - RULE-SET,geoip-ru,DIRECT,no-resolve
  - RULE-SET,my-proxy,Select Proxy
  - RULE-SET,media-proxy,Select Proxy
  - RULE-SET,tiktok-domains,Select Proxy
  - OR,((DOMAIN-SUFFIX,ads.twitch.tv),(DOMAIN-SUFFIX,playlist.ttvnw.net)),DIRECT
  - RULE-SET,twitch-domains,Select Proxy
  - RULE-SET,ai,Select Proxy
  - RULE-SET,itdog-cloudflare-domains,Select Proxy
  - RULE-SET,itdog-cloudflare-ipcidr,Select Proxy
  - RULE-SET,cloudflare-ips,Select Proxy
  - MATCH,DIRECT
