Knowledge VaultReading Workbench
Reading Detail

[教程] 如何修改Clash配置文件?草履虫也能学会的 无DNS泄露、精确分流 和 链式代理 配置(已过时,请阅读3.0版本)

IDC Flare - 热门话题 · 2025-10-24
#教程
Open Original
archivedone

Snapshot Reader

Captured

1. 背景

很多佬友在使用代理时可能会有以下一条或者多条需求

  1. 能够完美分流:可以24小时开启,不想因为访问国内/国外服务而频繁开关代理。
  2. 对机场配置不满意:希望能有自己的配置文件,或希望将不同机场的配置文件融合成一个
  3. 担心DNS泄露但不想开全局代理。
  4. 希望配置链式代理

因此,本文提供了一份无DNS泄露、高效分流的配置文件模板及新手向配置指南. 实现24小时静默运行,一边使用家宽访问AI,一边使用送中节点看油管,一边直连访问B站…

为了让小白能看懂流程,基本不会有太复杂的原理和解释。本文的配置文件基于Clash Verge Rev V2.3.1。若你的代理软件不同,则可能会有不兼容的地方。

2. 配置

一份配置文件可以分成以下几部分。其中大部分内容不需要频繁修改,每次节点有改动只需要修改代理节点配置代理组配置。根据本文流程,第一次配置完成后,以后每次修改只需花一两分钟

[!failure] 需要修改的部分
代理节点配置

代理组配置

[!warning] 按需可选的部分

端口监听配置

[!success] 无需改动的部分

基础配置

DNS配置

配置文件管理

域名/流量嗅探

Geo 数据获取

规则集获取

分流规则

2.1 获取yaml格式代理节点

[!success] 1. 从机场等处获取的Clash订阅链接
右键订阅(配置)文件,点击编辑文件

image

然后找到yaml文件中的proxies:部分,整个复制即可,大概长这样:

image

[!warning] 2. 通过自建等方式获得的节点信息

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

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帮你转,可以使用以下提示词:

你是一个“节点转化助手”。请把我给出的节点链接(如 vless://、hysteria2:// 等)转换成固定格式的 YAML 列表。务必严格遵守以下规则与输出格式。

【输出唯一格式(键顺序与缩进必须完全一致)】
- vless 节点:
(注意缩进规范:行首必须是「␠-␠」(一个空格、一个短横线、一个空格);后续每一行键前**正好两个空格**。)
 - name: <原#片段或生成的名称>
   type: vless
   server: <主机/IP>
   port: <端口>
   uuid: <用户ID>
   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: <若 insecure=1 则 true,否则 false>


- hysteria2 节点:
 - name: <原#片段或生成的名称>
   type: hysteria2
   server: <主机/IP>
   port: <端口>
   password: <URL 用户名部分或 password/uuid>
   sni: <从 sni= 取值>
   alpn:
     - <把 alpn= 的逗号分隔值逐项列出;无则填 h3>
   skip-cert-verify: <若 insecure=1 则 true,否则 false>


【解析/映射规则】
1) 通用
- name:优先使用 URL 片段(#后内容);若无,则按「<scheme>-<host>-<port>」生成。
- server/port:来自 URL 主机与端口。
- 不要输出任何解释文字、注释或多余空行;只输出一个 YAML 代码块。
- 多个输入节点按**原顺序**依次输出为同一 YAML 列表。
- 所有键的顺序必须与上方模板一致;不存在的字段整行省略(除非模板要求固定存在,例如 `tls`、`udp`、`skip-cert-verify`、`dialer-proxy` 仍须给出合理默认/推导值)。

2) vless 专项
- uuid:取 URL 的用户字段或 `uuid` 参数。
- 若 `security=reality`,则 `tls: true` 并输出 `reality-opts`;`public-key` 来自 `pbk=`,`short-id` 来自 `sid=`(若缺失则留空字符串)。
- servername:来自 `sni=`。
- client-fingerprint:来自 `fp=`;若缺失,默认 `chrome`。
- network:来自 `type=`,默认 `tcp`。
- flow:来自 `flow=`,若无则整行省略。
- skip-cert-verify:由 `insecure=1` 判定;`1`→`true`,否则 `false`。
- udp:恒为 `true`(按目标格式要求)。

3) hysteria2 专项
- password:取 URL 用户字段(`hysteria2://<这里>@host:port`),若没有则用 `password=` 或用户 ID/uuid。
- sni:来自 `sni=`。
- alpn:来自 `alpn=`(用逗号分割逐项列出);若缺省,列表仅包含 `h3`。
- skip-cert-verify:同上,由 `insecure=1` 判定。
- 省略未出现在模板中的键(如 bandwidth、obfs 等)。

【缩进与封装要求(务必遵守)】
- 每个条目的第一行前缀必须是:**一个空格 + 短横线 + 一个空格**(`␠-␠`)。
- 后续键值行必须**正好两个空格**缩进,`reality-opts` 子键再缩进**四个空格**。
- **必须**使用一个围栏代码块包裹全部输出,并标注语言为 `yaml`,以保证前导空格不被破坏。
- 不允许输出除 YAML 之外的任何文字、标题或说明。

【示例(仅示意,实际以输入为准)】
输入:
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
hysteria2://[email protected]:23456?alpn=h3,h2&insecure=1&sni=www.bing.com#my-hy2

输出(精确缩进与键序):
```yaml
 - name: my-vless
   type: vless
   server: 1.2.3.4
   port: 12345
   uuid: <uuid>
   tls: true
   client-fingerprint: chrome
   servername: apple.com
   network: tcp
   udp: true
   reality-opts:
     public-key: PUBKEY
     short-id: ABCD1234
   flow: xtls-rprx-vision
   skip-cert-verify: false

 - name: my-hy2
   type: hysteria2
   server: 5.6.7.8
   port: 23456
   password: mypass
   sni: www.bing.com
   alpn:
     - h3
     - h2
   skip-cert-verify: true```

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

image

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

2.2 修改配置文件

1. 复制以下配置文件模板

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

DNS泄露、高效分流的配置文件模板(融合了多位大佬的配置)Clash-Sample.7z (4.0 KB)

# =========================
# 代理节点配置
# =========================
proxies:
# =========================
# - name: <节点的名字>                   只是显示名,随便改。但与下面”代理组配置“里引用的名字必须一字不差
#  type:                                ===中间的一大坨直接用你的节点粘贴覆盖即可===  
#  ...                                  ===中间的一大坨直接用你的节点粘贴覆盖即可===
#  ...                                  ===中间的一大坨直接用你的节点粘贴覆盖即可===
#  ...                                  ===中间的一大坨直接用你的节点粘贴覆盖即可===
#  skip-cert-verify: false              ===中间的一大坨直接用你的节点粘贴覆盖即可===
# - dialer-proxy: <线路节点的名字>       可选,想把这个节点用于链式代理时加上这一行。
# ========================= 



# =========================
# 代理组配置
# =========================
# - select:    手动切换(推荐)
# - url-test:  自动测速择优(定时探测并选延迟最低者)
# - DIRECT:    直连,不走代理
# - REJECT:    拒绝连接(一般用于广告流量)
# =========================
proxy-groups:
 - name: 🚀 节点选择
   type: select
   proxies:
   - DIRECT
   - REJECT
   - ⚡ 自动选择 
   - 将你的节
   - 点粘贴并
   - 覆盖这里   
 - name: ⚡ 自动选择
   type: url-test
   proxies:
   - 将你的节
   - 点粘贴并
   - 覆盖这里
   url: https://www.gstatic.com/generate_204
   interval: 300
   lazy: false 
 - name: 🛑 广告拦截
   type: select
   proxies:   
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 💬 AI 服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 📹 油管视频
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🔍 谷歌服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🏠 私有网络
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🔒 国内服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 📲 电报消息
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🐱 Github
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: Ⓜ️ 微软服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🍏 苹果服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🌐 社交媒体
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🎬 流媒体
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🎮 游戏平台
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 📚 教育资源
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: ☁️ 云服务
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🌐 非中国
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里
 - name: 🐟 漏网之鱼
   type: select
   proxies:
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 将你的节
   - 点粘贴并
   - 覆盖这里

# =========================
# 端口监听配置
# =========================
# listeners:
#   - name: mixed0
#     type: mixed
#     port: 42000
#     proxy: 日本谷歌云
#   - name: mixed1
#     type: mixed
#     port: 42001
#     proxy: 美国家宽
  
# =========================
# 基础配置
# =========================
port: 7890                         # 本机 HTTP 代理端口
socks-port: 7891                   # 本机 SOCKS5 代理端口
allow-lan: true                    # 允许局域网设备连接(如不共享,建议改为 false)
mode: rule                         # 按规则分流(global 会全局走同一路由)
log-level: info                    # 生产默认 info;排障需要改 debug
unified-delay: true                # 以“完成握手后”的 RTT 统计延迟,更贴近真实体验
tcp-concurrent: true               # 并发拨号择优保留,跨境网络通常更稳更快
find-process-mode: strict          # 更精准地识别连接来源进程(Windows 需管理员权限)
global-client-fingerprint: chrome  # 统一 TLS 指纹为 Chrome;如遇个别站点校验可改 randomized

# =========================
# DNS配置
# =========================
dns:
    enable: true
    listen: '127.0.0.1:5335'        
    use-system-hosts: false        # 若你改过系统 hosts,可改为 true
    enhanced-mode: fake-ip         # 使用虚拟 IP 提升兼容性与分流精度
    fake-ip-range: 198.18.0.1/16   # 推荐从网段基地址 .0 开始(IETF 预留测试网段)
                                   
    # bootstrap:解析 DoH/DoT 域名的起始解析器(纯 IP、直连可达)
    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 的判据
    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,避免连通性/认证异常
    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             # 存储 fake-ip 映射会导致DNS泄露
                                   
# =========================
# 域名/流量嗅探
# =========================
sniffer:
  enable: true
  parse-pure-ip: true              # 对直连 IP 连接尝试解析出 SNI/Host
  sniff:
    TLS:
      ports: [443, 8443]           # 要嗅探的 TLS 流量端口,包括标准 HTTPS 端口 443 和备用的 8443
    HTTP:
      ports: [80, 8080-8880]       # 要嗅探的 HTTP 流量端口,包括标准 HTTP 端口 80 和常用的 8080-8880
      override-destination: true   # 用嗅探到的域名覆盖原始目标 IP/域名

# =========================
# 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
  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,aws,☁️ 云服务
 - RULE-SET,azure,☁️ 云服务
 - RULE-SET,digitalocean,☁️ 云服务
 - RULE-SET,heroku,☁️ 云服务
 - RULE-SET,dropbox,☁️ 云服务
 - RULE-SET,geolocation-!cn,🌐 非中国
 - MATCH,🐟 漏网之鱼

image

2. 将你的节点粘贴进代理节点配置(proxies:部分)

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

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

[!warning]注意
- name:前是1个空格,type:等其它参数前是3个空格;
- name:右边填写的名字可以随意改,但必须和下面”代理组配置“里引用的名字一字不差。

3. 修改代理组配置(proxy-groups:部分)

将你所有节点的名字(就是- name:右边的内容)粘贴到proxy-groups:下每个proxies:里。还以我上面的两个节点为例,修改后会变成这样:

proxy-groups:
 - name: 🚀 节点选择
   type: select
   proxies:
   - DIRECT
   - REJECT
   - ⚡ 自动选择 
   - 日本谷歌云
   - 美国家宽
 - name: ⚡ 自动选择
   type: url-test
   proxies:
   - 日本谷歌云
   - 美国家宽
   url: https://www.gstatic.com/generate_204
   interval: 300
   lazy: false 
 - name: 🛑 广告拦截
   type: select
   proxies:   
   - DIRECT
   - REJECT
   - 🚀 节点选择   
   - ⚡ 自动选择
   - 日本谷歌云
   - 美国家宽
...
...

经过了这一步,你的配置文件就可以使用啦,但还可以进一步完善。

2.3 配置链式代理(可选)

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

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

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

 - name: 美国家宽
   type: vless
   server:  
   port:  
   uuid:  
   tls: true
   client-fingerprint: chrome
   servername:  
   network: tcp
   udp: true   
   reality-opts:
     public-key:  
     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
   - ⚡ 自动选择 
   - 日本谷歌云
   - 美国家宽
 - name: ⚡ 自动选择
   type: url-test
   proxies:
   - 日本谷歌云
   - 美国家宽
   url: https://www.gstatic.com/generate_204
   interval: 300
   lazy: false 
...
...
...

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

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

[!warning]非刚需的话建议关闭本地IPV6

3.2 按照教程获得了一个yaml配置文件,然后怎么用它呢?

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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

image

image

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

长期维护的规则集推荐GitHub - Loyalsoldier/v2ray-rules-dat: 🦄 🎃 👻 V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 和 leaf。Enhanced edition of V2Ray rules dat files, applicable to V2Ray, Xray-core, mihomo(Clash-Meta), hysteria, Trojan-Go and leaf.GitHub - MetaCubeX/meta-rules-dat: rules-dat for mihomoGitHub - DustinWin/ruleset_geodata: 定制适合 Clash、mihomo 和 sing-box 内核的 ruleset&geodata 文件

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

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

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

  1. 检查代理节点配置中是否有udp: true
  2. 服务器防火墙是否开启了udp流量。
  3. 都不行的话关闭浏览器quic: chrome://flags/#enable-quic

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

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

image

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

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

image

码字不易,若觉得本文有帮助可以点个或者评论支持一下,谢谢大家!
有不足或者错误欢迎批评指正!

189 个帖子 - 154 位参与者

阅读完整话题