訂閱連結回傳的就是一份 YAML。看懂它,你才能改它。
這篇按頂層欄位的順序過一遍,每一段都給出可以直接貼上的寫法。
一份最小可用設定
先看全貌,後面逐段拆:
mixed-port: 7897
allow-lan: false
mode: rule
log-level: info
ipv6: false
external-controller: 127.0.0.1:9090
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver: [223.5.5.5, 119.29.29.29]
fallback: [https://1.1.1.1/dns-query]
proxies:
- name: "HK-01"
type: trojan
server: hk01.example.com
port: 443
password: "your-password"
udp: true
proxy-groups:
- name: "PROXY"
type: select
proxies: ["AUTO", "HK-01"]
- name: "AUTO"
type: url-test
proxies: ["HK-01"]
url: "http://www.gstatic.com/generate_204"
interval: 300
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY這份設定能跑。下面把每個欄位說清楚。
一、基礎設定
mixed-port: 7897 # HTTP + SOCKS5 共用端口(推荐)
# port: 7890 # 單獨的 HTTP 連接埠,一般不用
# socks-port: 7891 # 單獨的 SOCKS5 連接埠,一般不用
redir-port: 7892 # 透明代理(Linux/macOS)
tproxy-port: 7893 # TProxy(Linux)
allow-lan: false # 是否允许局域网设备连接
bind-address: "*" # allow-lan 为 true 时的监听地址
mode: rule # rule / global / direct
log-level: info # silent / error / warning / info / debug
ipv6: false # 是否启用 IPv6
unified-delay: true # 统一延迟计算,测速更接近真实
tcp-concurrent: true # 并发握手,多 IP 域名连接更快
external-controller: 127.0.0.1:9090
secret: "" # 外部控制 API 密码二、dns
DNS 段決定了「網域解析成什麼 IP」,直接影響分流準確性和串流媒體解鎖。
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
enhanced-mode: fake-ip # fake-ip 或 redir-host
fake-ip-range: 198.18.0.1/16
fake-ip-filter: # 这些域名不用 fake-ip
- "*.lan"
- "*.local"
- "+.pool.ntp.org"
- "localhost.ptlogin2.qq.com"
default-nameserver: [223.5.5.5] # 用于解析下面的 DoH 域名
nameserver: # 主 DNS
- 223.5.5.5
- https://doh.pub/dns-query
fallback: # 境外 DNS
- https://1.1.1.1/dns-query
- tls://8.8.4.4:853
fallback-filter:
geoip: true
geoip-code: CNenhanced-mode 的兩種取值差別很大,單獨寫了一篇:DNS 設定詳解與 fake-ip 原理。
三、proxies
節點清單。每種協議的欄位不同,常見幾種:
proxies:
# Trojan
- name: "HK-Trojan"
type: trojan
server: hk.example.com
port: 443
password: "pwd"
sni: hk.example.com
udp: true
# VMess
- name: "JP-VMess"
type: vmess
server: jp.example.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
network: ws
ws-opts:
path: /ws
headers: { Host: jp.example.com }
# Shadowsocks
- name: "SG-SS"
type: ss
server: sg.example.com
port: 8388
cipher: aes-256-gcm
password: "pwd"
udp: true
# Hysteria2(Mihomo 支援)
- name: "US-HY2"
type: hysteria2
server: us.example.com
port: 443
password: "pwd"
sni: us.example.com四、proxy-groups
策略組,決定「一類流量用哪個節點」。五種類型的差異見策略組類型詳解,這裡給個常用結構:
proxy-groups:
- name: "🚀 节点选择"
type: select
proxies: ["♻️ 自动选择", "🇭🇰 香港", "🇯🇵 日本", "DIRECT"]
- name: "♻️ 自动选择"
type: url-test
include-all: true # Mihomo:自动纳入所有节点
filter: "香港|HK|Hong" # 只要匹配的
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
- name: "🎬 流媒体"
type: select
proxies: ["🇭🇰 香港", "🇸🇬 新加坡", "🚀 节点选择"]
- name: "🐟 漏网之鱼"
type: select
proxies: ["🚀 节点选择", "DIRECT"]include-all + filter 是 Mihomo 的實用特性:不用手寫節點名,按正則自動收編。寫法見節點命名與分組正則。
五、rules
從上往下逐條匹配,第一條命中即生效。
rules:
# 區域網路直連(必須放最前面)
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
# 具體網域規則
- DOMAIN-SUFFIX,openai.com,🚀 节点选择
- DOMAIN-SUFFIX,netflix.com,🎬 流媒体
- DOMAIN-KEYWORD,google,🚀 节点选择
# 規則集
- RULE-SET,cn-domain,DIRECT
- RULE-SET,proxy-domain,🚀 节点选择
# 地理位置兜底
- GEOIP,CN,DIRECT
- MATCH,🐟 漏网之鱼規則類型全表見規則類型速查。
六、rule-providers
把規則列表放在外部檔案裡,定期自動更新:
rule-providers:
cn-domain:
type: http
behavior: domain
format: text
url: "https://example.com/rules/cn.txt"
path: ./ruleset/cn-domain.txt
interval: 86400
private-ip:
type: http
behavior: ipcidr
url: "https://example.com/rules/private.txt"
path: ./ruleset/private.txt
interval: 86400behavior 有三種:domain(網域列表)、ipcidr(IP 段)、classical(完整規則語法)。用錯了會導致規則不生效但不報錯——這是個常見坑。詳見 rule-providers 完整用法。
七、proxy-providers
節點也可以來自外部:
proxy-providers:
main:
type: http
url: "你的订阅链接"
interval: 3600
path: ./providers/main.yaml
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300然後在策略組裡用 use: [main] 引用。這種寫法適合多訂閱合併,見 多 Profile 管理與合併。
八、tun
TUN 相關設定(Clash Verge 介面裡也能配,但知道底下是什麼有好處):
tun:
enable: true
stack: mixed # gvisor / system / mixed
auto-route: true
auto-detect-interface: true
dns-hijack: ["any:53"]
strict-route: false
mtu: 1500YAML 語法上最容易犯的三個錯
- 縮進用空格,不能用 Tab。 大多數報錯都是這個。
- 冒號後面要有空格。
port:443是錯的,port: 443才對。 - 特殊字元要加引號。 密碼裡帶
@、#、:的,必須用引號包起來:password: "p@ss#123"。
完整的報錯對照見 YAML 報錯速查。
改設定的正確姿勢
直接改訂閱下載下來的檔案,下次自動更新就被覆蓋了。
正確做法是用 Clash Verge 的「全局擴充設定 / Merge」,在不動原檔案的前提下追加內容:
# 全局擴充設定
prepend-rules:
- DOMAIN-SUFFIX,mycompany.com,DIRECT
append-rules:
- DOMAIN-SUFFIX,example.net,🚀 节点选择
prepend-proxy-groups:
- name: "我的分组"
type: select
proxies: ["DIRECT", "🚀 节点选择"]小結
八個頂層欄位,職責很清楚:基礎設定管監聽,dns 管解析,proxies 管出口,proxy-groups 管策略,rules 管決策,兩個 providers 管外部來源,tun 管網路層接管。
改設定之前先想清楚要改哪一層,然後用 Merge 而不是直接編輯訂閱檔案。
相關文件
每種策略組的實际行為、適用場景和關鍵參數,附帶一套可直接抄的分組結構,以及 Mihomo 特有的 include-all 與 filter 用法。
直接編輯訂閱檔案會在下次更新時前功盡棄。這篇講 Clash Verge 的擴充設定機制:prepend/append/override 的寫法、合併順序,以及幾個實用的擴充片段。
url-test 的測速原理、unified-delay 的作用、為什麼顯示的延遲和 ping 值對不上,以及三個關鍵參數的取值建議與副作用。