sanqi
发布于 2025-12-23 / 54 阅读
0
0

草履虫也能学会的 Clash 配置:无DNS泄露、精确分流、链式代理

1. 版本更新说明

因此对1.0版本进行了大幅简化,现在只需要粘贴机场订阅即可使用。

改进

说明

订阅链接支持

新增 proxy-providers,填入链接即可使用,无需手动复制节点

自动包含节点

使用 include-all-proxies 自动填充代理组,新增节点无需逐个添加

配置大幅精简

从 ~800 行压缩至 ~300 行,使用 Flow Style 紧凑格式

新增高级特性说明

domain-strategyexclude-filter

兼容性说明

本配置依赖 Mihomo (Clash Meta) 内核。推荐使用 Clash Verge Rev、Clash Party 等支持 Meta 内核的客户端。

2. 配置

一份配置文件可以分成以下几部分。大部分内容我们不用管,只需向配置中添加自己的节点:配置支持两种添加节点的方式,可以单独使用,也可以同时使用。

需要改动的部分

代理节点配置

方式一:订阅链接(最简单)

  • 把订阅链接填入 proxy-providers 的 url 即可,自动拉取节点

方式二:手动添加节点

  • proxies: 部分粘贴 yaml 格式的节点(链式代理必须使用此方式

按需可选的部分

端口监听配置

无需改动的部分

代理组配置、基础配置、DNS配置、分流规则等

2.1 复制以下配置文件模板

有条件的话,建议新建个文件夹,使用VS Code编辑(AI可以帮忙修改)

DNS泄露、高效分流配置文件模板(融合了多位大佬的配置):

# =========================
# 手动节点(可选)
# =========================
proxies:
# 在此粘贴你的节点,格式示例:
#   - name: 节点名称
#     type: vless
#     server: xxx
#     ...


# =========================
# 订阅链接(填入后自动拉取节点)
# =========================
# 把 url 替换成你的 Clash 订阅链接,不用的订阅保持不变即可
proxy-providers:
  订阅1: {type: http, url: "https://ryanvanson.github.io/emptyyaml/empty.yaml", path: ./providers/sub1.yaml, interval: 3600, health-check: {enable: true, url: "https://www.gstatic.com/generate_204", interval: 300, lazy: true}}
  订阅2: {type: http, url: "https://ryanvanson.github.io/emptyyaml/empty.yaml", path: ./providers/sub2.yaml, interval: 3600, health-check: {enable: true, url: "https://www.gstatic.com/generate_204", interval: 300, lazy: true}}
  订阅3: {type: http, url: "https://ryanvanson.github.io/emptyyaml/empty.yaml", path: ./providers/sub3.yaml, interval: 3600, health-check: {enable: true, url: "https://www.gstatic.com/generate_204", interval: 300, lazy: true}}
  订阅4: {type: http, url: "https://ryanvanson.github.io/emptyyaml/empty.yaml", path: ./providers/sub4.yaml, interval: 3600, health-check: {enable: true, url: "https://www.gstatic.com/generate_204", interval: 300, lazy: true}}
  订阅5: {type: http, url: "https://ryanvanson.github.io/emptyyaml/empty.yaml", path: ./providers/sub5.yaml, interval: 3600, health-check: {enable: true, url: "https://www.gstatic.com/generate_204", interval: 300, lazy: true}}


# =========================
# 代理组配置
# =========================
# - include-all-proxies: true  包含手动节点
# - use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5] 包含订阅节点
# - domain-strategy: ipv4-only 强制仅使用 IPv4
# =========================
proxy-groups:
  - name: 🚀 节点选择
    type: select
    proxies: [DIRECT, REJECT, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: ⚡ 自动选择
    type: url-test
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
    url: https://www.gstatic.com/generate_204
    interval: 300
    lazy: false
  - name: 🛑 广告拦截
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
  - name: 💬 AI 服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 📹 油管视频
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🔍 谷歌服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🏠 私有网络
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]    
  - name: 🔒 国内服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]    
  - name: 📲 电报消息
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🐱 Github
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: Ⓜ️ 微软服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🍏 苹果服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🌐 社交媒体
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🎬 流媒体
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🎮 游戏平台
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 📚 教育资源
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: ☁️ 云服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 💰 金融服务
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🌐 非中国
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
  - name: 🐟 漏网之鱼
    type: select
    proxies: [DIRECT, REJECT, 🚀 节点选择, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]


# =========================
# 端口监听配置(可选)
# =========================
# listeners:
#   - {name: mixed0, type: mixed, port: 42000, proxy: 日本谷歌云}
#   - {name: mixed1, type: mixed, port: 42001, proxy: 美国家宽}


# =========================
# 基础配置
# =========================
mixed-port: 7897
allow-lan: true
mode: rule
log-level: info
unified-delay: true
tcp-concurrent: true
find-process-mode: strict
global-client-fingerprint: chrome


# =========================
# DNS配置
# =========================
dns:
  enable: true
  listen: "127.0.0.1:5335"
  use-system-hosts: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  default-nameserver: [180.76.76.76, 182.254.118.118, 8.8.8.8, 180.184.2.2]
  nameserver: [180.76.76.76, 119.29.29.29, 180.184.1.1, 223.5.5.5, 8.8.8.8, "https://223.6.6.6/dns-query#h3=true", "https://dns.alidns.com/dns-query", "https://cloudflare-dns.com/dns-query", "https://doh.pub/dns-query"]
  fallback: ["https://000000.dns.nextdns.io/dns-query#h3=true", "https://dns.alidns.com/dns-query", "https://doh.pub/dns-query", "https://public.dns.iij.jp/dns-query", "https://101.101.101.101/dns-query", "https://208.67.220.220/dns-query", "tls://8.8.4.4", "tls://1.0.0.1:853", "https://cloudflare-dns.com/dns-query", "https://dns.google/dns-query"]
  fallback-filter: {geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32, 127.0.0.1/32], domain: [+.google.com, +.facebook.com, +.twitter.com, +.youtube.com, +.xn--ngstr-lra8j.com, +.google.cn, +.googleapis.cn, +.googleapis.com, +.gvt1.com]}
  fake-ip-filter: ["*.lan", "stun.*.*.*", "stun.*.*", time.windows.com, time.nist.gov, time.apple.com, time.asia.apple.com, "*.ntp.org.cn", "*.openwrt.pool.ntp.org", time1.cloud.tencent.com, time.ustc.edu.cn, pool.ntp.org, ntp.ubuntu.com, ntp.aliyun.com, ntp1.aliyun.com, ntp2.aliyun.com, ntp3.aliyun.com, ntp4.aliyun.com, ntp5.aliyun.com, ntp6.aliyun.com, ntp7.aliyun.com, time1.aliyun.com, time2.aliyun.com, time3.aliyun.com, time4.aliyun.com, time5.aliyun.com, time6.aliyun.com, time7.aliyun.com, "*.time.edu.cn", time1.apple.com, time2.apple.com, time3.apple.com, time4.apple.com, time5.apple.com, time6.apple.com, time7.apple.com, time1.google.com, time2.google.com, time3.google.com, time4.google.com, music.163.com, "*.music.163.com", "*.126.net", musicapi.taihe.com, music.taihe.com, songsearch.kugou.com, trackercdn.kugou.com, "*.kuwo.cn", api-jooxtt.sanook.com, api.joox.com, joox.com, y.qq.com, "*.y.qq.com", streamoc.music.tc.qq.com, mobileoc.music.tc.qq.com, isure.stream.qqmusic.qq.com, dl.stream.qqmusic.qq.com, aqqmusic.tc.qq.com, amobile.music.tc.qq.com, "*.xiami.com", "*.music.migu.cn", music.migu.cn, "*.msftconnecttest.com", "*.msftncsi.com", localhost.ptlogin2.qq.com, "*.*.*.srv.nintendo.net", "*.*.stun.playstation.net", "xbox.*.*.microsoft.com", "*.ipv6.microsoft.com", "*.*.xboxlive.com", speedtest.cros.wr.pvp.net]


# =========================
# 配置文件管理
# =========================
profile:
  store-selected: true
  store-fake-ip: false


# =========================
# 域名/流量嗅探
# =========================
sniffer:
  enable: true
  parse-pure-ip: true
  sniff:
    TLS: {ports: [443, 8443]}
    HTTP: {ports: [80, 8080-8880], override-destination: true}


# =========================
# Geo 数据获取
# =========================
geodata-mode: true
geo-auto-update: true
geodata-loader: standard
geo-update-interval: 24
geox-url:
  geoip: https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat
  geosite: https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat
  mmdb: https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb
  asn: https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb


# =========================
# 规则集获取
# =========================
rule-providers:
  category-ads-all: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/category-ads-all.mrs", path: ./ruleset/category-ads-all.mrs, interval: 86400}
  category-ai-chat-!cn: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/category-ai-chat-!cn.mrs", path: ./ruleset/category-ai-chat-!cn.mrs, interval: 86400}
  youtube: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/youtube.mrs", path: ./ruleset/youtube.mrs, interval: 86400}
  google: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/google.mrs", path: ./ruleset/google.mrs, interval: 86400}
  private: {type: http, format: mrs, behavior: ipcidr, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geoip/private.mrs", path: ./ruleset/private.mrs, interval: 86400}
  geolocation-cn: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/geolocation-cn.mrs", path: ./ruleset/geolocation-cn.mrs, interval: 86400}
  cn: {type: http, format: mrs, behavior: ipcidr, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geoip/cn.mrs", path: ./ruleset/cn.mrs, interval: 86400}
  telegram: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/telegram.mrs", path: ./ruleset/telegram.mrs, interval: 86400}
  github: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/github.mrs", path: ./ruleset/github.mrs, interval: 86400}
  gitlab: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/gitlab.mrs", path: ./ruleset/gitlab.mrs, interval: 86400}
  microsoft: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/microsoft.mrs", path: ./ruleset/microsoft.mrs, interval: 86400}
  apple: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/apple.mrs", path: ./ruleset/apple.mrs, interval: 86400}
  facebook: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/facebook.mrs", path: ./ruleset/facebook.mrs, interval: 86400}
  instagram: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/instagram.mrs", path: ./ruleset/instagram.mrs, interval: 86400}
  twitter: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/twitter.mrs", path: ./ruleset/twitter.mrs, interval: 86400}
  tiktok: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/tiktok.mrs", path: ./ruleset/tiktok.mrs, interval: 86400}
  linkedin: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/linkedin.mrs", path: ./ruleset/linkedin.mrs, interval: 86400}
  netflix: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/netflix.mrs", path: ./ruleset/netflix.mrs, interval: 86400}
  hulu: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/hulu.mrs", path: ./ruleset/hulu.mrs, interval: 86400}
  disney: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/disney.mrs", path: ./ruleset/disney.mrs, interval: 86400}
  hbo: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/hbo.mrs", path: ./ruleset/hbo.mrs, interval: 86400}
  amazon: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/amazon.mrs", path: ./ruleset/amazon.mrs, interval: 86400}
  bahamut: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/bahamut.mrs", path: ./ruleset/bahamut.mrs, interval: 86400}
  steam: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/steam.mrs", path: ./ruleset/steam.mrs, interval: 86400}
  epicgames: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/epicgames.mrs", path: ./ruleset/epicgames.mrs, interval: 86400}
  ea: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/ea.mrs", path: ./ruleset/ea.mrs, interval: 86400}
  ubisoft: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/ubisoft.mrs", path: ./ruleset/ubisoft.mrs, interval: 86400}
  blizzard: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/blizzard.mrs", path: ./ruleset/blizzard.mrs, interval: 86400}
  coursera: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/coursera.mrs", path: ./ruleset/coursera.mrs, interval: 86400}
  edx: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/edx.mrs", path: ./ruleset/edx.mrs, interval: 86400}
  udemy: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/udemy.mrs", path: ./ruleset/udemy.mrs, interval: 86400}
  khanacademy: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/khanacademy.mrs", path: ./ruleset/khanacademy.mrs, interval: 86400}
  category-scholar-!cn: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/category-scholar-!cn.mrs", path: ./ruleset/category-scholar-!cn.mrs, interval: 86400}
  paypal: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/paypal.mrs", path: ./ruleset/paypal.mrs, interval: 86400}
  visa: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/visa.mrs", path: ./ruleset/visa.mrs, interval: 86400}
  mastercard: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/mastercard.mrs", path: ./ruleset/mastercard.mrs, interval: 86400}
  stripe: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/stripe.mrs", path: ./ruleset/stripe.mrs, interval: 86400}
  wise: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/wise.mrs", path: ./ruleset/wise.mrs, interval: 86400}
  aws: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/aws.mrs", path: ./ruleset/aws.mrs, interval: 86400}
  azure: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/azure.mrs", path: ./ruleset/azure.mrs, interval: 86400}
  digitalocean: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/digitalocean.mrs", path: ./ruleset/digitalocean.mrs, interval: 86400}
  heroku: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/heroku.mrs", path: ./ruleset/heroku.mrs, interval: 86400}
  dropbox: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/dropbox.mrs", path: ./ruleset/dropbox.mrs, interval: 86400}
  geolocation-!cn: {type: http, format: mrs, behavior: domain, url: "https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/meta/geo/geosite/geolocation-!cn.mrs", path: ./ruleset/geolocation-!cn.mrs, interval: 86400}


# =========================
# 分流规则
# =========================
# 注意:分流规则按自上而下、首次命中即停的原则匹配
rules:
  - RULE-SET,category-ads-all,🛑 广告拦截
  - RULE-SET,category-ai-chat-!cn,💬 AI 服务
  - RULE-SET,youtube,📹 油管视频
  - RULE-SET,coursera,📚 教育资源
  - RULE-SET,edx,📚 教育资源
  - RULE-SET,udemy,📚 教育资源
  - RULE-SET,khanacademy,📚 教育资源
  - RULE-SET,category-scholar-!cn,📚 教育资源
  - RULE-SET,google,🔍 谷歌服务
  - RULE-SET,google,🔍 谷歌服务,no-resolve
  - RULE-SET,private,🏠 私有网络,no-resolve
  - RULE-SET,geolocation-cn,🔒 国内服务
  - RULE-SET,cn,🔒 国内服务,no-resolve
  - RULE-SET,telegram,📲 电报消息,no-resolve
  - RULE-SET,github,🐱 Github
  - RULE-SET,gitlab,🐱 Github
  - RULE-SET,microsoft,Ⓜ️ 微软服务
  - RULE-SET,apple,🍏 苹果服务
  - RULE-SET,facebook,🌐 社交媒体
  - RULE-SET,instagram,🌐 社交媒体
  - RULE-SET,twitter,🌐 社交媒体
  - RULE-SET,tiktok,🌐 社交媒体
  - RULE-SET,linkedin,🌐 社交媒体
  - RULE-SET,netflix,🎬 流媒体
  - RULE-SET,hulu,🎬 流媒体
  - RULE-SET,disney,🎬 流媒体
  - RULE-SET,hbo,🎬 流媒体
  - RULE-SET,amazon,🎬 流媒体
  - RULE-SET,bahamut,🎬 流媒体
  - RULE-SET,steam,🎮 游戏平台
  - RULE-SET,epicgames,🎮 游戏平台
  - RULE-SET,ea,🎮 游戏平台
  - RULE-SET,ubisoft,🎮 游戏平台
  - RULE-SET,blizzard,🎮 游戏平台
  - RULE-SET,paypal,💰 金融服务
  - RULE-SET,visa,💰 金融服务
  - RULE-SET,mastercard,💰 金融服务
  - RULE-SET,stripe,💰 金融服务
  - RULE-SET,wise,💰 金融服务
  - RULE-SET,aws,☁️ 云服务
  - RULE-SET,azure,☁️ 云服务
  - RULE-SET,digitalocean,☁️ 云服务
  - RULE-SET,heroku,☁️ 云服务
  - RULE-SET,dropbox,☁️ 云服务
  - RULE-SET,geolocation-!cn,🌐 非中国
  - MATCH,🐟 漏网之鱼

2.2 在配置中添加自己的节点

方式一:使用订阅链接(最简单)

如果你有机场的 Clash 订阅链接,只需把链接填入配置文件的 proxy-providers 部分:

proxy-providers:
  订阅1: {type: http, url: "把这里替换成你的订阅链接", ...}

配置预设了 5 个订阅位置,不用的保持默认即可。填入链接后即可使用,无需其他修改

遇到问题?

修改 URL 后不刷新、导入失败等问题,见 FAQ 3.13

这样就能用了,是不是很简单。


方式二:手动添加节点

适用场景

  • 自建节点

  • 需要配置链式代理

  • 订阅链接无法使用

1 获取 yaml 格式节点

从机场订阅获取

image

右键订阅(配置)文件,点击编辑文件,找到 proxies: 部分复制即可

自建节点(vless://、ss:// 等格式)

如果获取的节点是如下形式:

vless://<uuid>@1.2.3.4:12345?security=reality&sni=apple.com&fp=chrome&pbk=PUBKEY&sid=ABCD1234&flow=xtls-rprx-vision&type=tcp#my-vless

那么你需要将节点转为为yaml格式。有很多免费的网站可以转化,但个人推荐让AI帮你转,可以使用以下提示词:

<summary>「节点转化助手」提示词</summary>你是一个"节点转化助手"。请把我给出的节点链接(如 vless://、hysteria2://、ss:// 等)转换成 Clash/Mihomo 的 YAML 格式。


【缩进规范】
- 统一使用 2 空格缩进
- 节点条目:`  - name:` (2空格 + 短横线 + 空格)
- 属性行:4 空格缩进
- 嵌套属性(如 reality-opts):6 空格缩进


【vless 节点模板】
  - name: <节点名称>
    type: vless
    server: <服务器地址>
    port: <端口>
    uuid: <UUID>
    tls: true
    client-fingerprint: <fp= 的值,默认 chrome>
    servername: <sni= 的值>
    network: <type= 的值,默认 tcp>
    udp: true
    reality-opts:
      public-key: <pbk= 的值>
      short-id: <sid= 的值,无则留空>
    flow: <flow= 的值,无则省略此行>
    skip-cert-verify: false


【hysteria2 节点模板】
  - name: <节点名称>
    type: hysteria2
    server: <服务器地址>
    port: <端口>
    password: <密码>
    sni: <sni= 的值>
    alpn: [h3]
    skip-cert-verify: false


【ss (Shadowsocks) 节点模板】
  - name: <节点名称>
    type: ss
    server: <服务器地址>
    port: <端口>
    cipher: <加密方式>
    password: <密码>
    udp: true


【输出要求】
1. 只输出 YAML 代码块,不要任何解释
2. 节点名称:优先用 URL 的 # 后内容,无则生成
3. 多个节点按输入顺序输出
4. 不存在的字段直接省略

可以将提示词写入Cherry Studio,构建一个节点转化助手,这样每次直接发他节点就行,一劳永逸。

image

总之,经过这一步后,你手头应该有了 yaml 格式的节点。

2 粘贴节点到代理节点配置(proxies:部分)

比如我现在有日本谷歌云美国家宽两个节点,那么该部分会变成这样:

proxies:
  - name: 日本谷歌云
    type: vless
    server: xxx
    port: xxx
    uuid: xxx
    tls: true
    client-fingerprint: chrome
    servername: apple.com
    network: tcp
    udp: true
    reality-opts:
      public-key: xxx
      short-id: ""
    flow: xtls-rprx-vision
    skip-cert-verify: false
    
  - name: 美国家宽
    type: vless
    server: xxx
    port: xxx
    uuid: xxx
    tls: true
    client-fingerprint: chrome
    servername: xxx
    network: tcp
    udp: true     
    reality-opts:
      public-key: xxx
      short-id: " "
    flow: xtls-rprx-vision
    skip-cert-verify: false

注意

统一使用 2 空格缩进;

- name:前是2个空格,type:等其它参数前是4个空格;- name:右边填写的名字可以随意改,但如果要配置链式代理,需要和代理组里引用的名字一字不差。

完成! 如果你需要链式代理,还可以继续优化。


2.3 配置链式代理(可选)

重要提示

链式代理必须使用手动添加节点的方式,不能使用订阅链接。因为需要在节点配置中添加 dialer-proxy 参数。

确定你需要中转的节点。以我上面的两个节点为例,显然我希望中转美国家宽节点。让流量先经过日本谷歌云再到美国家宽

我的流量 → 日本谷歌云(中转/线路节点) → 美国家宽(落地节点)

那么只需要在美国家宽节点配置文件加上一行:dialer-proxy: 🇯🇵 日本中转,那么该部分会变成这样:

  - name: 美国家宽
    type: vless
    server: xxx
    port: xxx
    uuid: xxx
    tls: true
    client-fingerprint: chrome
    servername: xxx
    network: tcp
    udp: true     
    reality-opts:
      public-key: xxx
      short-id: " "
    flow: xtls-rprx-vision
    skip-cert-verify: false
    dialer-proxy: 🇯🇵 日本中转    # 新增这一行

然后在代理组配置里新增一个代理组🇯🇵 日本中转,只包含用于中转的线路节点日本谷歌云

proxy-groups:
  - name: 🇯🇵 日本中转    # 新增这个代理组
    type: select
    proxies: [DIRECT, REJECT, 日本谷歌云]
  - name: 🚀 节点选择
    type: select
    proxies: [DIRECT, REJECT, ⚡ 自动选择]
    include-all-proxies: true
  # ... 其他代理组保持不变 ...

注意

链式代理的中转代理组不要使用 include-all-proxies: true,建议手动指定线路节点。

2.4 配置端口监听(可选)

有些软件(如指纹浏览器)只支持socks5/https代理协议,但你的节点不支持这个协议。这时候,可以通过本地端口转发实现将任意协议转化为socks5/https供本地应用使用。

只需要在配置文件中加上:

listeners:
  - {name: mixed1, type: mixed, port: 42029, proxy: 美国家宽}
  - {name: mixed0, type: mixed, port: 42030, proxy: 日本谷歌云}

然后在软件中设置代理为:socks5://127.0.0.1:端口

image

就大功告成啦。

3. 常见问题

3.1 什么是DNS泄露?如何知道DNS是否泄露?

在访问一些原则上不能访问的网站时,查询DNS的请求,没有从代理节点发出,而是从我们本地网络发出的,这样就发生了DNS泄露。

你的行为被会本地运营商检测到。同时由于网站cdn机制会返回最近的站点ip。这样你拿到的ip可能是在香港,若你的代理节点在美国,则会明显拖慢访问速度

很多网站能查询是否有DNS泄露,个人推荐使用:DNS Leak Test - BrowserLeaks

Windows用户建议禁用智能多宿主名称解析

Win+Rgpedit.msc计算机配置-管理模板网络DNS客户端禁用智能多宿主名称解析已启用应用

非刚需的话建议关闭本地IPV6

3.2 按照教程获得了一个yaml配置文件,怎么用它呢?为什么连不上网?

把文件拖动到代理软件的订阅页面即可导入。

连不上网的话,先确认在代理软件的UI界面,对所有代理组都手动指定了节点,而不是direct

3.3 如何将配置文件上传,变成机场那样的订阅,通过域名下载?

如果是按我之前的建议,使用VS Code编辑配置文件的话,只需将配置文件上传到GitHub私有仓库。然后去https://github.com/用户名/仓库名/settings/pages开启GitHub Pages。这样就获取了url下载链接啦。

当然,这样还是有一定安全风险的,建议仓库名复杂点,配置文件嵌套在多个文件夹里。

3.4 这配置文件也太复杂了,而且有些内容是不是过时且冗余了?

冗余 是因为:这是适用于小白的配置,直接复制粘贴后复杂部分的内容永远不用改。既然只用配置一次,那么复杂点也无所谓。

我能用到其中六七条分流吧,24小时运行,完全不用切换节点、开关代理。退一步说,不需要的规则不手动分流就行,也没什么损失。说不定哪天能用上呢。

过时 的语法是为了兼容性,我还在用旧版本的代理软件,很多人可能也是。

所以这种配置很适合小白。

3.5 配置中的 include-all-proxiesuse 是什么?

这是 Mihomo/Clash Meta 的特性,让代理组自动包含节点

参数

作用

include-all-proxies: true

自动包含 proxies: 中的手动节点

use: [订阅1, 订阅2, ...]

自动包含 proxy-providers 中的订阅节点

两者可以同时使用,这样手动节点和订阅节点都会出现在代理组中。

如果需要排除某些节点(如中转线路节点),可以配合 exclude-filter 使用:

  - name: 🚀 节点选择
    type: select
    proxies: [DIRECT, REJECT, ⚡ 自动选择]
    include-all-proxies: true
    use: [订阅1, 订阅2, 订阅3, 订阅4, 订阅5]
    exclude-filter: "中转"    # 排除名字包含"中转"的节点

3.6 什么是 domain-strategy

domain-strategy 是代理组的域名解析策略,用于控制 IPv4/IPv6 的使用:

说明

prefer-ipv4

优先使用 IPv4(推荐)

ipv4-only

强制仅使用 IPv4

prefer-ipv6

优先使用 IPv6

ipv6-only

强制仅使用 IPv6

使用场景

如果你的网络 IPv6 不稳定,或者某些节点不支持 IPv6,可以在代理组中添加:

  - name: 🚀 节点选择
    type: select
    domain-strategy: ipv4-only   # 强制仅使用 IPv4

3.7 系统代理 OR 虚拟网卡(TUN)模式?什么情况下只能使用系统代理模式?

如果你不知道两者区别,无脑虚拟网卡(TUN)模式就可以了。

只有你的本地网络情况复杂时才考虑系统代理模式。如当你的设备是多网卡多ip时,TUN模式可能引发混乱;某些系统不兼容虚拟网卡;内网环境复杂时,TUN模式难以分流。

安装WSL或者VMware等需要配置虚拟网卡的服务时,切记关闭TUN模式,否则容易导致配置错误!

3.8 有什么推荐的代理软件吗?

很遗憾,目前还没有任何一款软件让我完全满意。所有软件都有不同方面的问题,使用哪个取决于你能忍受哪方面的缺点。

3.9 分流规则集有哪些,怎么选?

长期维护的规则集推荐:

或者直接用我配置文件默认的即可。

3.10 为什么部分网站的分流失效了,同个域名部分走代理部分走直连?

可能是因为你的节点没有转发udp流量,触发回退。

  1. 检查代理节点配置中是否有udp: true

  2. 服务器防火墙是否开启了udp流量。

  3. 都不行的话关闭浏览器quic: chrome://flags/#enable-quic

3.11 为什么微软登录报错,Onedrive等微软服务连不上网?

微软服务需要解除 uwp 回环,才能让流量通过代理。

image

3.12 如何对少数特定网站自定义分流规则?

右键订阅(配置)文件,点击编辑规则。以对linux.do及所有子域分配直连的分流规则为例:

image

3.13 proxy-providers 订阅问题

问题

解决方法

修改 URL 后节点不刷新

删除 providers 文件夹

方式一无法导入

部分加密订阅无法导入,只能用方式二

网络问题导入失败

开代理后再导入


评论