DOCS · 設定與規則參考

config.yaml
讀明白

面向已經會用用戶端的進階使用者:這裡整理 Clash / Mihomo 的設定結構、代理協定、策略組、規則語法、DNS 與 TUN 說明,方便查閱與客製化。

01 · OVERVIEW

文件能幫你做什麼

教學頁負責「怎麼裝、怎麼連」;文件頁負責「設定項是什麼意思、怎麼改」。兩者搭配使用效率最高。

適合誰看

已經匯入過訂閱、想自己改規則、調 DNS、開 TUN,或排查策略不生效的使用者。

設定檔在哪

圖形用戶端通常在「設定 / Profiles」裡編輯;命令列核心預設讀取工作目錄下的 config.yaml

核心說明

本站文件以 mihomo(Clash Meta)語法為主,相容常見 Clash 設定寫法。

改設定前先備份

手動修改 YAML 後請檢查縮排與冒號空格;語法錯誤會導致核心無法啟動。

還不熟悉匯入訂閱?請先閱讀 使用教學,再回來查閱本頁欄位說明。
02 · CONFIG

設定結構一覽

一份完整的設定通常由「基礎連接埠 → 代理清單 → 策略組 → 規則 → DNS」幾大區塊組成。下面是最小可讀骨架:

# config.yaml — minimal skeleton port: 7890 socks-port: 7891 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090 proxies: - name: "範例節點" type: ss server: example.com port: 8388 cipher: aes-128-gcm password: "password" proxy-groups: - name: "PROXY" type: select proxies: - "範例節點" - DIRECT rules: - DOMAIN-SUFFIX,tw,DIRECT - MATCH,PROXY

常用基礎欄位

欄位類型說明
portnumberHTTP 代理連接埠,瀏覽器 / 系統代理常用
socks-portnumberSOCKS5 連接埠
mixed-portnumberHTTP 與 SOCKS 混合連接埠(二選一即可)
allow-lanbool是否允許區域網路裝置接入本機代理
modestringrule / global / direct
log-levelstringsilent / error / warning / info / debug
ipv6bool是否啟用 IPv6
開啟 allow-lan: true 時,請同時設定 secret 保護外部控制介面,避免區域網路他人隨意改設定。
03 · PROXIES

代理節點(proxies)

每個節點是一個出站通道。訂閱匯入後通常會自動產生這一段;手動新增時需保證 name 在設定內唯一。

ss ssr vmess vless trojan hysteria2 tuic wireguard http socks5

通用欄位

欄位類型說明
namestring顯示名稱,策略組與規則會引用它
typestring協定類型,如 ssvmess
serverstring伺服器網域或 IP
portnumber伺服器連接埠
udpbool是否允許 UDP 轉發(預設視協定而定)

Shadowsocks 範例

- name: "HK-SS" type: ss server: hk.example.com port: 8388 cipher: aes-128-gcm password: "your-password" udp: true
不同協定還有各自的專有欄位(如 VMess 的 uuidalterId,Trojan 的 passwordsni)。以服務商提供的設定為準,勿隨意刪改。
04 · PROXY-GROUPS

策略組(proxy-groups)

策略組把多個節點歸為一類,並決定「怎麼選」。規則裡通常引用策略組名稱,而不是直接寫某個節點。

select

手動選擇。適合「香港 / 日本 / 美國」這類地區分組。

url-test

依延遲自動選最快節點,可設 intervaltolerance

fallback

依清單順序嘗試,目前節點失敗則切換到下一個。

load-balance

在可用節點間負載平衡,適合多線路分流。

url-test 範例

- name: "自動選擇" type: url-test proxies: - "HK-01" - "JP-01" - "US-01" url: http://www.gstatic.com/generate_204 interval: 300 tolerance: 50
05 · RULES

規則語法(rules)

規則自上而下比對,命中第一條即停止。最後通常以 MATCH 兜底,避免漏網流量。

常用比對類型

類型範例說明
DOMAINDOMAIN,api.example.com,PROXY精確網域
DOMAIN-SUFFIXDOMAIN-SUFFIX,google.com,PROXY後綴比對
DOMAIN-KEYWORDDOMAIN-KEYWORD,ads,REJECT關鍵字比對
IP-CIDRIP-CIDR,192.168.0.0/16,DIRECTIPv4 區段
GEOIPGEOIP,TW,DIRECT依國家/地區
MATCHMATCH,PROXY最終兜底規則

撰寫範例

rules: - DOMAIN-SUFFIX,local,DIRECT - IP-CIDR,127.0.0.0/8,DIRECT - DOMAIN-KEYWORD,ad,REJECT - GEOIP,TW,DIRECT - MATCH,PROXY
自訂規則請放在較靠前的位置;若放在 GEOIP,TW 或寬泛規則之後,可能永遠比對不到。
06 · DNS

DNS 設定

DNS 決定網域如何解析。合理設定可以減少污染、配合分流規則更準確,也是排查「能連節點但打不開網站」的關鍵一步。

dns: enable: true listen: 0.0.0.0:53 enhanced-mode: fake-ip nameserver: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query fallback: - tls://1.1.1.1 - tls://8.8.8.8 fallback-filter: geoip: true geoip-code: TW

模式說明

  • redir-host:真實 IP 解析,相容性好,適合部分需要真實位址的應用程式。
  • fake-ip:回傳虛擬 IP,解析更快,配合規則分流更常見;個別遊戲 / 內網應用程式可能需加入 fake-ip-filter
07 · TUN

TUN 模式

系統代理只能覆蓋「遵守系統代理設定」的應用程式;TUN 透過虛擬網路卡接管流量,讓更多應用程式(含不支援代理的)也能走規則。

tun: enable: true stack: system # system / gvisor / mixed dns-hijack: - any:53 auto-route: true auto-detect-interface: true
  • Windows:通常需要系統管理員權限啟動用戶端。
  • macOS:首次開啟會請求安裝網路擴充套件,需在系統設定中允許。
  • 與系統代理:日常二選一即可;同時開啟可能造成重複代理或異常。
伺服器 / 無圖形環境優先用命令列核心 + 環境變數代理;桌面端需要「全域接管」時再開 TUN。
08 · API

外部控制 API

透過 external-controller 公開 REST 介面後,面板與腳本可以切換節點、查看連線、熱重載設定。

欄位類型說明
external-controllerstring監聽位址,如 127.0.0.1:9090
secretstring存取密鑰,請求標頭 Authorization: Bearer <secret>
external-uistring可選,外部面板靜態資源目錄

常用介面(示意)

# 查看目前設定版本 / 狀態 GET http://127.0.0.1:9090/version # 切換策略組選中節點 PUT http://127.0.0.1:9090/proxies/{group} Body { "name": "HK-01" } # 重新載入設定 PUT http://127.0.0.1:9090/configs?force=true
生產或公網環境務必設定 secret,且盡量只監聽 127.0.0.1,不要把控制連接埠公開到網際網路。

裝好了,再把設定調順

下載用戶端、跟著教學連上網路後,回來用這篇文件客製化規則與 DNS,會順手很多。