DOWNCLASH.COM · CONFIG DOCS

Clash 設定文件中心 — config.yaml 完整欄位參考

逐欄位說明 config.yaml 的完整結構:基礎連接埠設定、proxies 節點、proxy-groups 策略群組、rules 規則、rule-providers 規則集、dns 與 tun 設定,每個欄位附類型、預設值與設定範例,作為日常查閱的參考手冊。

涵蓋欄位:40+ 章節:6 大類 適用核心:mihomo / Clash Premium 通用

01 基礎連接埠與運行欄位

這些欄位位於 config.yaml 的頂層,控制核心的基礎運行方式。

欄位類型預設值說明
port數字7890HTTP 代理監聽連接埠。
socks-port數字7891SOCKS5 代理監聽連接埠。
mixed-port數字同時支援 HTTP 與 SOCKS5 的混合連接埠,推薦只設定這一個連接埠,系統代理指向它即可。
allow-lan布林false是否允許區域網路內其他裝置連接本機的代理連接埠,路由器/共享情境需開啟。
bind-address字串*搭配 allow-lan 使用,指定監聽的網路卡位址,* 表示監聽所有網路卡。
mode字串rule運行模式:rule(按規則分流)、global(全域走同一節點)、direct(全部直連)。
log-level字串info日誌詳細程度:silent / error / warning / info / debug。
external-controller字串開啟外部控制 API 的監聽位址(如 127.0.0.1:9090),Dashboard 面板依賴此介面。
secret字串存取 external-controller 介面所需的金鑰,區域網路暴露該介面時建議設定。
ipv6布林false是否啟用 IPv6 支援,包括 IPv6 出站連接與規則比對。
提示:推薦只使用 mixed-port 而不單獨設定 portsocks-port,可以減少一個需要記憶的連接埠號。

02 proxies 節點欄位

每個節點是 proxies 清單下的一項,不同協議共享一部分通用欄位,另有各自專屬的欄位。

欄位適用範圍說明
name通用節點名稱,在策略群組與介面顯示中作為唯一識別,建議不要重複。
type通用協議類型:ss(Shadowsocks)、vmess、trojan、snell、socks5 等。
server / port通用節點伺服器位址與連接埠。
cipherss / snell加密方式,如 aes-256-gcm、chacha20-ietf-poly1305。
passwordss / trojan / snell連接密碼或金鑰。
uuid / alterIdvmessVMess 協議專屬的身分識別欄位。
udp通用是否啟用 UDP 轉發,影響遊戲、語音、DNS 等 UDP 類流量能否走代理。
tls / skip-cert-verifytrojan 等是否啟用 TLS 加密,以及是否跳過憑證驗證(自簽憑證情境可能需要)。
networkvmess 等傳輸層協議,如 tcp、ws(WebSocket)、grpc。
# 一個 Trojan 節點的設定範例
proxies:
  - name: "HK-01"
    type: trojan
    server: example.com
    port: 443
    password: "your-password"
    udp: true
    skip-cert-verify: false

03 proxy-groups 策略群組欄位

欄位說明
name策略群組名稱,在 rules 中作為目標策略被引用。
typeselect(手動選擇)、url-test(自動測速選優)、fallback(容錯移轉)、load-balance(負載平衡)、relay(多級串聯)。
proxies該策略群組包含的節點名稱清單,也可以引用其他策略群組名稱實現嵌套。
urlurl-test / fallback 類型使用的測速位址,通常使用一個輕量的可用性檢測介面。
interval自動測速的時間間隔(秒),到時間自動重新測速一次。
toleranceurl-test 類型的容差值(毫秒),延遲差異在容差範圍內不會頻繁切換節點。
use引用某個 Proxy Provider 提供的節點清單,而非手動列出的 proxies。
# 自動測速策略群組範例
proxy-groups:
  - name: "PROXY"
    type: url-test
    proxies: ["HK-01", "SG-01", "JP-01"]
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 50

04 rules 規則欄位

規則的寫法統一為 類型,比對內容,目標策略,按從上到下順序比對,命中即停止。

規則類型範例說明
DOMAINDOMAIN,ad.example.com,REJECT精確比對完整網域。
DOMAIN-SUFFIXDOMAIN-SUFFIX,github.com,PROXY比對該網域及其所有子網域,最常用。
DOMAIN-KEYWORDDOMAIN-KEYWORD,ad-track,REJECT網域包含指定關鍵字即符合。
GEOIPGEOIP,CN,DIRECT按目標 IP 所屬國家/地區比對。
IP-CIDR / IP-CIDR6IP-CIDR,192.168.0.0/16,DIRECT按 IPv4/IPv6 位址範圍比對。
SRC-IP-CIDRSRC-IP-CIDR,192.168.1.100/32,DIRECT按發起請求的來源 IP 比對,常用於區域網路多裝置差異化分流。
DST-PORT / SRC-PORTDST-PORT,443,PROXY按目標/來源連接埠號比對。
PROCESS-NAMEPROCESS-NAME,chrome.exe,PROXY按發起請求的程序名稱比對,僅桌面端支援。
RULE-SETRULE-SET,reject,REJECT引用一個已定義的 rule-providers 規則集。
MATCHMATCH,PROXY兜底規則,必須放在最後一行。

05 rule-providers 規則集欄位

規則集把大量規則統一放在遠端檔案中維護,用戶端定期拉取更新,避免手動逐條編寫。

欄位說明
typehttp(遠端 URL)或 file(本地檔案)。
behaviordomain(網域清單)、ipcidr(IP 段清單)、classical(完整規則語法混合清單)。
urltype 為 http 時的遠端位址。
path規則集快取到本地的檔案路徑。
interval自動更新間隔(秒)。
# 定義一個遠端規則集,並在 rules 中引用
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://example.com/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - MATCH,PROXY
提示:更多規則集的實際選型與更新策略,見部落格文章《Rule Provider 規則集完全指南》。

06 dns 與 tun 欄位

dns 設定欄位

欄位說明
enable是否啟用核心自帶的 DNS 伺服器(取代系統 DNS),推薦開啟以搭配 Fake-IP 使用。
listen核心 DNS 服務的本地監聽位址,如 0.0.0.0:53。
enhanced-modefake-ip 或 redir-host,決定網域解析後續如何搭配規則分流。
fake-ip-rangeFake-IP 使用的虛擬位址段,通常使用私有位址段避免衝突。
nameserver正常解析使用的上游 DNS 伺服器清單。
fallback當 nameserver 解析結果被判定為污染時使用的備用 DNS 清單。

tun 設定欄位

欄位說明
enable是否開啟 TUN 模式,需要管理員/root 權限或系統網路擴充功能授權。
stack協議堆疊實現:gVisor(使用者態,相容性更好)或 System(系統態,效能更高)。
auto-route是否自動接管系統路由表,開啟後無需手動設定路由規則。
auto-detect-interface自動偵測出站網路卡,避免虛擬網路卡與實體網路卡路由衝突。
提示:TUN 模式與 Fake-IP 通常搭配使用效果最好,具體開啟步驟與常見問題見進階設定教學
需要更高階的用法? 進階設定教學涵蓋 TUN 模式、策略群組高階用法、Fake-IP 與規則集的深入設定方法。