「國內直連、國外代理」是中文使用者最常用的分流策略:造訪國內網站保持原速不耗流量,造訪境外網站自動走節點。絕大多數訂閱自帶的就是這套思路,本文展示它的完整結構,便於你理解和修改。
方案結構
規則自上而下分為四層:
- 私有位址直連:區域網、回送位址永遠不該進代理。
- 明確的攔截/例外:廣告攔截、個別強制走代理或直連的域名。
- 國內流量直連:國內域名集合 + GEOIP,CN。
- 兜底走代理:其餘全部交給代理組。
完整示例(基於規則集)
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.example.com/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
direct-cn:
type: http
behavior: domain
url: "https://cdn.example.com/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://cdn.example.com/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
rules:
# 1. 私有網段
- 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
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
# 2. 攔截與個人例外
- RULE-SET,reject,REJECT
- DOMAIN-SUFFIX,my-bank.com,DIRECT
# 3. 國內直連
- RULE-SET,direct-cn,DIRECT
- RULE-SET,cncidr,DIRECT,no-resolve
- GEOIP,CN,DIRECT
# 4. 兜底
- MATCH,節點選擇
示例中的規則集 URL 請替換為你選用的社群規則源(如 Loyalsoldier/clash-rules 的對應檔案)。
黑名單與白名單之辨
- 上面的寫法是白名單思路:明確認識的國內流量直連,其餘預設走代理。冷門國外網站不會漏。
- 反過來(預設直連、維護「需代理清單」)是黑名單思路,省流量但清單永遠追不上新網站。日常推薦白名單思路。
提示:直連了不該直連的網站(或反之)時,別急著改集合,先加一條前置的個人規則覆蓋即可,方法見自定義規則示例。