“国内直连、国外代理”是中文用户最常用的分流策略:访问国内网站保持原速不耗流量,访问境外网站自动走节点。绝大多数订阅自带的就是这套思路,本文展示它的完整结构,便于你理解和修改。
方案结构
规则自上而下分为四层:
- 私有地址直连:局域网、回环地址永远不该进代理。
- 明确的拦截/例外:广告拦截、个别强制走代理或直连的域名。
- 国内流量直连:国内域名集合 + 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 的对应文件)。
黑名单与白名单之辨
- 上面的写法是白名单思路:明确认识的国内流量直连,其余默认走代理。冷门国外网站不会漏。
- 反过来(默认直连、维护“需代理清单”)是黑名单思路,省流量但清单永远追不上新网站。日常推荐白名单思路。
提示:直连了不该直连的网站(或反之)时,别急着改集合,先加一条前置的个人规则覆盖即可,方法见自定义规则示例。