規則分流文件
了解 Clash 分流規則的類型與寫法,實現國內直連、海外走代理的精準控制
規則的作用
Clash 的 rules 欄位決定每條流量走哪條出口:直連(DIRECT)、指定代理節點,或拒絕(REJECT)。規則按由上而下順序比對,第一條命中即生效,因此精確規則應放前面,最後的 MATCH 放最後。
常用規則類型
| 類型 | 比對方式 | 範例 |
|---|---|---|
DOMAIN |
完整網域精確比對 | DOMAIN,www.google.com,Proxy |
DOMAIN-SUFFIX |
網域後綴比對(含子網域) | DOMAIN-SUFFIX,google.com,Proxy |
DOMAIN-KEYWORD |
網域包含關鍵字 | DOMAIN-KEYWORD,youtube,Proxy |
IP-CIDR |
IP 位址段比對 | IP-CIDR,192.168.0.0/16,DIRECT |
GEOIP |
基於 IP 歸屬國家 | GEOIP,CN,DIRECT |
MATCH |
預設比對(必須放最後) | MATCH,Proxy |
規則設定範例(YAML)
典型分流規則設定:國內直連、海外走代理、區域網路直連:
rules:
# 區域網路直連
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
# 常用國內網域直連
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
- DOMAIN-SUFFIX,bilibili.com,DIRECT
# 常用海外網域走代理
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,youtube.com,Proxy
- DOMAIN-SUFFIX,github.com,Proxy
- DOMAIN-KEYWORD,twitter,Proxy
- DOMAIN-SUFFIX,openai.com,Proxy
# 中國大陸 IP 直連
- GEOIP,CN,DIRECT
# 預設:其餘全部走代理
- MATCH,Proxy
使用規則集(Rule Provider)
手寫規則難以維護,推薦使用 Rule Provider(規則集):從遠端 URL 拉取已整理好的規則清單,自動更新,無需手動維護。機場提供的 Clash 訂閱通常已內建完整規則集,匯入即可使用。
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- RULE-SET,proxy,Proxy
- RULE-SET,direct,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
rule-providers 完整用法。
策略組設定文件
透過 Proxy Group 靈活組合節點,實現自動測速、故障切換與負載均衡
什麼是策略組
策略組(Proxy Group)是 Clash 中的節點組合單元,可將多個節點歸為一個策略組,由客戶端自動選擇最佳節點或手動切換。規則中使用策略組名稱作為出口目標(如 MATCH,Proxy 中的 Proxy)。
四種策略組類型
| 類型 | 行為 | 範例 |
|---|---|---|
url-test |
定期測速,自動選擇延遲最低節點 | 日常主力代理組(推薦) |
fallback |
首選第一個節點,不可用時自動切換下一個 | 高可用備用節點設定 |
load-balance |
多節點輪詢分發流量 | 多節點負載均衡(大流量場景) |
select |
手動從清單中選擇節點 | 需要固定某個節點時手動切換 |
策略組設定範例(YAML)
包含自動測速組(Proxy)、手動選擇組與故障切換備用組:
proxy-groups:
# 自動測速,選最低延遲節點(日常推薦)
- name: Proxy
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300 # 每 300 秒測速一次
tolerance: 50 # 延遲差 50ms 以內不切換
proxies:
- 香港-01
- 香港-02
- 美國-01
- 日本-01
# 手動選擇節點
- name: Manual
type: select
proxies:
- Proxy # 可嵌套其他策略組
- 香港-01
- 美國-01
- DIRECT
# 故障自動切換
- name: Fallback
type: fallback
url: https://www.gstatic.com/generate_204
interval: 120
proxies:
- 香港-01
- 美國-01
- 日本-01
# 多節點負載均衡
- name: LoadBalance
type: load-balance
url: https://www.gstatic.com/generate_204
interval: 300
strategy: round-robin
proxies:
- 香港-01
- 香港-02
- 香港-03
使用建議
機場的 Clash 訂閱設定通常已預設好策略組,匯入即可使用,無需手動編寫。若需自訂,可在 Clash Verge Rev 等客戶端中使用「覆寫設定(Override)」功能修改策略組,無需直接編輯 YAML 檔案。
proxies 清單中填寫節點名稱(與 proxies: 欄位中定義的 name 保持一致),也可以嵌套其他策略組名稱。
訂閱連結使用教學
從取得機場訂閱 URL,到一鍵匯入 Clash 客戶端的完整流程說明
什麼是訂閱連結
訂閱連結(Subscription URL)是機場(代理服務供應商)給用戶的專屬 URL,包含所有節點設定資訊。Clash 透過這個連結自動下載並解析節點清單,無需手動輸入每個節點參數。
支援的訂閱格式
Clash(Mihomo 核心)支援以下主流訂閱格式:
- Clash YAML 格式(推薦):機場直接提供的
config.yaml格式,節點與規則全部內建,開箱即用 - Base64 編碼格式:SS / VMess 節點的 Base64 編碼清單,Clash 客戶端可自動識別並轉換
- SIP008 格式:Shadowsocks 標準訂閱格式,Mihomo 原生支援
- clash:// 協定:點擊連結可喚起客戶端並自動匯入,部分機場支援
如何取得訂閱連結
- 登入您的機場(VPN 服務供應商)官網控制台
- 找到「訂閱」、「節點」、「使用教學」或「一鍵匯入」頁面
- 選擇 Clash 格式 或 Mihomo 格式 的訂閱連結
- 點擊「複製」按鈕,取得完整的訂閱 URL
如何匯入訂閱(以 Clash Verge Rev 為例)
- 打開 Clash Verge Rev,點擊左側「訂閱」選單
- 點擊右上角「+」按鈕,選擇「匯入」
- 在 URL 輸入框貼上訂閱連結,填寫備註名稱
- 點擊「匯入」,等待節點設定下載完成
- 點擊訂閱卡片右側的「啟用」按鈕將其設為目前設定
訂閱自動更新
機場節點可能定期更新,建議開啟訂閱自動更新:在 Clash Verge Rev 中右鍵點擊訂閱卡片 → 「編輯」→ 設定「自動更新間隔」(推薦 24 小時)。客戶端會定期從機場拉取最新節點設定,無需手動操作。
API 與 控制台文件
透過 RESTful API 與 Web UI 即時監控流量、管理節點、切換策略組
開啟外部控制器
Mihomo 核心內建 RESTful API 服務,透過 external-controller 設定項對外暴露,預設監聽 127.0.0.1:9090。Web UI 透過此埠與核心通訊。
# 外部控制器監聽位址與埠
external-controller: 127.0.0.1:9090
# API 存取金鑰(留空則不需要密碼)
secret: "your-secret-here"
# 指定 Web UI 靜態檔案目錄(可選,用於本地部署 UI 面板)
external-ui: /path/to/ui/folder
使用 Web UI 控制台
Clash 客戶端通常內建 Web 控制台入口,也支援第三方開源 UI 面板線上使用:
| 面板名稱 | 特點 | 線上地址 |
|---|---|---|
| Yacd | 介面簡潔,功能全面,社群主流 | yacd.haishan.me |
| MetaCubeX Dashboard | 官方出品,功能最全,深色主題 | d.metacubex.one |
| Zashboard | 視覺效果突出,UI 精美 | github.com/Zephyruso/zashboard |
| 客戶端內建 UI | Clash Verge Rev 等客戶端已內建,無需單獨設定 | 客戶端選單直接打開 |
secret 設定項的值,即可連接本地 Clash 核心。
常用 API 介面
Mihomo RESTful API 基礎路徑為 http://127.0.0.1:9090,需在請求頭攜帶 Authorization: Bearer :
# 取得當前版本資訊
GET /version
# 查看所有代理節點(含延遲資訊)
GET /proxies
# 切換策略組選中的節點
PUT /proxies/{groupName}
Body: { "name": "節點名稱" }
# 對某個節點測速
GET /proxies/{name}/delay?url=https://www.gstatic.com/generate_204&timeout=5000
# 查看所有即時連接
GET /connections
# 強制關閉所有連接
DELETE /connections
# 查看目前規則清單
GET /rules
# 取得全域設定
GET /configs
# 修改全域設定(如切換代理模式)
PATCH /configs
Body: { "mode": "rule" } # rule / global / direct
在客戶端中使用
Clash Verge Rev 等 GUI 客戶端已將以上 API 功能封裝到介面操作中:「代理」頁可切換節點與測速,「連接」頁可查看即時連接與斷開指定連接,「設定」中可切換代理模式(規則 / 全局 / 直連)。絕大多數用戶無需直接呼叫 API。
wiki.metacubex.one),其中包含全部端點的請求/回應格式說明。