代理分流入门指南

从零理解代理分流的核心概念,涵盖 Surge、Clash、Shadowrocket、Quantumult X 四大平台的规则语法与推荐配置。

代理分流入门指南

一、什么是分流

分流(Split Tunneling)是代理工具最核心的功能:决定每一条网络请求走哪条路

没有分流的代理是全局代理——所有流量都经过代理服务器。这会导致:

  • 访问国内网站反而变慢(绕了一圈国外再回来)
  • 浪费代理流量(看 B 站、刷淘宝都在消耗代理带宽)
  • 部分国内服务异常(银行 App 检测到海外 IP 可能拒绝登录)

分流的本质就是一套 if-else 规则

如果 访问 google.com     → 走代理
如果 访问 baidu.com      → 直连
如果 访问 netflix.com    → 走美国节点
如果 IP 属于中国         → 直连
其他所有请求             → 走代理

代理工具按照规则从上到下逐条匹配,第一条命中的规则生效,后面的不再检查。这个"先到先得"的顺序决定了规则的优先级。


二、策略组——规则的出口

在写规则之前,先理解"策略组"(Policy Group)。策略组定义了流量的出口,规则负责把流量分配到对应的策略组。

常见的策略组类型:

策略组类型 含义 适用场景
select 手动选择节点 主策略,需要时手动切换
url-test 自动选延迟最低的节点 地区节点组(香港、美国等)
fallback 自动切换到可用节点 备用方案,节点挂了自动切
DIRECT 直连,不走代理 国内流量
REJECT 拒绝连接 广告拦截

一个典型的策略组设计:

Proxy(主策略)→ 手动选择地区
  ├── 🇭🇰 香港  → 自动选最快香港节点
  ├── 🇺🇸 美国  → 自动选最快美国节点
  ├── 🇯🇵 日本  → 自动选最快日本节点
  └── 🇸🇬 新加坡 → 自动选最快新加坡节点

AI      → 手动选择(通常选美国)
流媒体   → 手动选择(按需切换地区)

三、规则类型——分流的基本语法

所有代理工具都支持以下核心规则类型,只是写法略有差异:

规则类型 匹配方式 示例 说明
DOMAIN 精确域名 google.com 只匹配 google.com,不匹配 www.google.com
DOMAIN-SUFFIX 域名后缀 .google.com 匹配 google.com 及所有子域名,最常用
DOMAIN-KEYWORD 域名关键词 google 域名中包含 google 就命中
IP-CIDR IP 地址段 10.0.0.0/8 匹配指定 IP 范围
GEOIP IP 地理位置 CN 基于 GeoIP 数据库判断 IP 所属国家
PROCESS-NAME 进程名 Telegram 按应用程序匹配(仅桌面端)
RULE-SET 外部规则集 引用远程 .list 文件 批量加载规则,不用一条条手写
FINAL / MATCH 兜底 所有规则都没命中时的默认行为
Quantumult X 的特殊之处:它用 HOST 代替 DOMAINHOST-SUFFIX 代替 DOMAIN-SUFFIXHOST-KEYWORD 代替 DOMAIN-KEYWORD。含义完全一样,只是关键词不同。

四、分流策略设计——什么走哪里

对大多数人来说,以下分层策略足够覆盖日常需求:

第一层:广告拦截(REJECT)

把已知的广告和追踪域名直接拒绝,这是优先级最高的规则。

第二层:国内直连(DIRECT)

国内网站和服务不需要走代理,直连速度更快、体验更好:

  • Apple/Microsoft 国内 CDN
  • 国内主流 App(微信、支付宝、淘宝、B 站等)
  • 银行和支付类服务
  • 内网和局域网地址

第三层:服务分流(指定策略组)

需要特定出口的服务单独分流:

服务类型 推荐出口 原因
AI(ChatGPT、Claude) 美国节点 部分 AI 服务限制非美国 IP
流媒体(Netflix、Disney+) 对应地区节点 解锁地区限制内容
Telegram 任意代理节点 国内无法直连
GitHub 代理节点 加速访问和下载
Google 全家桶 代理节点 国内无法直连

第四层:兜底规则

所有没命中前面规则的流量,通常有两种策略:

  • 代理优先(推荐):FINAL → Proxy。未知流量走代理,确保被墙的新域名不漏。
  • 直连优先FINAL → DIRECT。未知流量直连,省代理流量,但可能有漏网之鱼。

完整的匹配顺序

请求进入代理工具
  ↓
① 广告拦截 → 命中则 REJECT(拦截)
  ↓
② 国内直连 → 命中则 DIRECT(直连)
  ↓
③ 服务分流 → 命中则走指定策略组(AI / 流媒体 / Telegram 等)
  ↓
④ 海外域名 → 命中则走 Proxy(代理)
  ↓
⑤ GEOIP,CN → 中国 IP 直连(兜底保护国内流量)
  ↓
⑥ FINAL/MATCH → 其余全部走代理

五、各平台配置示例

以下是同一套分流逻辑在四个平台的写法。为了便于对比,示例均使用 blackmatrix7/ios_rule_script 作为规则源——它同时提供 Surge、Clash、Shadowrocket、Quantumult X 四种格式。

Surge

Surge 使用 INI 风格配置,规则在 [Rule] 段中逐行编写。

[Proxy Group]
Proxy = select, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG
AI = select, 🇺🇸 US, Proxy
Streaming = select, Proxy, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG

# 地区节点组(自动选最快)
🇭🇰 HK = url-test, policy-regex-filter=港|HK|Hong, interval=600, tolerance=50
🇺🇸 US = url-test, policy-regex-filter=美|US|States, interval=600, tolerance=50
🇯🇵 JP = url-test, policy-regex-filter=日|JP|Japan, interval=600, tolerance=50
🇸🇬 SG = url-test, policy-regex-filter=新|SG|Singapore, interval=600, tolerance=50

[Rule]
# 广告拦截
DOMAIN-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/AdvertisingLite/AdvertisingLite_Domain.list,REJECT

# 国内直连
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/ChinaASN/ChinaASN.list,DIRECT

# AI 服务
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/OpenAI/OpenAI.list,AI
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Claude/Claude.list,AI

# 流媒体
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/YouTube/YouTube.list,Streaming
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Netflix/Netflix.list,Streaming

# 常用海外服务
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Telegram/Telegram.list,Proxy
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GitHub/GitHub.list,Proxy
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Google/Google.list,Proxy

# 兜底
GEOIP,CN,DIRECT
FINAL,Proxy,dns-failed

Surge 特有功能:支持 extended-matching(扩展匹配)和 pre-matching(前置匹配),详见 Surge 自定义配置教程

Clash Meta (mihomo)

Clash Meta(现名 mihomo)使用 YAML 格式配置。它是目前 PC 端最主流的代理内核,GUI 客户端包括 Clash Verge RevClash NyanpasuFlClash 等。

proxy-groups:
  - name: Proxy
    type: select
    proxies: [🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG]

  - name: AI
    type: select
    proxies: [🇺🇸 US, Proxy]

  - name: Streaming
    type: select
    proxies: [Proxy, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG]

  # 地区节点组(自动选最快)
  - name: 🇭🇰 HK
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    filter: "港|HK|Hong"

  - name: 🇺🇸 US
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    filter: "美|US|States"

# 规则提供者(自动更新远程规则集)
rule-providers:
  ad-block:
    type: http
    behavior: domain
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/AdvertisingLite/AdvertisingLite_Domain.yaml"
    path: ./rules/ad-block.yaml
    interval: 86400

  china:
    type: http
    behavior: classical
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaASN/ChinaASN.yaml"
    path: ./rules/china.yaml
    interval: 86400

  openai:
    type: http
    behavior: classical
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/OpenAI/OpenAI.yaml"
    path: ./rules/openai.yaml
    interval: 86400

  youtube:
    type: http
    behavior: classical
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/YouTube/YouTube.yaml"
    path: ./rules/youtube.yaml
    interval: 86400

  telegram:
    type: http
    behavior: classical
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Telegram/Telegram.yaml"
    path: ./rules/telegram.yaml
    interval: 86400

  google:
    type: http
    behavior: classical
    url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Google/Google.yaml"
    path: ./rules/google.yaml
    interval: 86400

rules:
  # 广告拦截
  - RULE-SET,ad-block,REJECT

  # 国内直连
  - RULE-SET,china,DIRECT

  # AI 服务
  - RULE-SET,openai,AI

  # 流媒体
  - RULE-SET,youtube,Streaming

  # 常用海外服务
  - RULE-SET,telegram,Proxy
  - RULE-SET,google,Proxy

  # 兜底
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

Clash Meta 特有功能:支持 GEOSITE 规则类型(如 GEOSITE,youtube,Proxy),基于 geosite.dat 数据库进行高效域名匹配,性能优于逐条 DOMAIN-SUFFIX

注意:Clash Meta 的兜底规则是 MATCH,不是 FINAL

Shadowrocket(小火箭)

Shadowrocket 的规则语法与 Surge 高度兼容,可以直接使用大部分 Surge 格式的规则集。

[Proxy Group]
Proxy = select, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG
AI = select, 🇺🇸 US, Proxy
Streaming = select, Proxy, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG

🇭🇰 HK = url-test, url=http://www.gstatic.com/generate_204, interval=600, tolerance=50, policy-regex-filter=港|HK|Hong
🇺🇸 US = url-test, url=http://www.gstatic.com/generate_204, interval=600, tolerance=50, policy-regex-filter=美|US|States

[Rule]
# 广告拦截
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/AdvertisingLite/AdvertisingLite.list,REJECT

# 国内直连
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/ChinaASN/ChinaASN.list,DIRECT

# AI 服务
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/OpenAI/OpenAI.list,AI

# 流媒体
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/YouTube/YouTube.list,Streaming

# 常用海外服务
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Telegram/Telegram.list,Proxy
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Google/Google.list,Proxy

# 兜底
GEOIP,CN,DIRECT
FINAL,Proxy

Shadowrocket 优势:iOS 上性价比最高的代理工具(一次性购买),规则兼容 Surge 格式,上手门槛低。

Quantumult X

Quantumult X 的配置风格较为独特,规则分为 [filter_remote](远程规则集)和 [filter_local](本地规则)两个段,且关键词与其他平台不同。

[policy]
static=Proxy, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG, img-url=https://example.com/icon.png
static=AI, 🇺🇸 US, Proxy, img-url=https://example.com/icon.png
static=Streaming, Proxy, 🇭🇰 HK, 🇺🇸 US, 🇯🇵 JP, 🇸🇬 SG, img-url=https://example.com/icon.png

available=🇭🇰 HK, server-tag-regex=港|HK|Hong, img-url=https://example.com/icon.png
available=🇺🇸 US, server-tag-regex=美|US|States, img-url=https://example.com/icon.png

[filter_remote]
# 广告拦截
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/AdvertisingLite/AdvertisingLite.list, tag=广告拦截, force-policy=reject, update-interval=86400, enabled=true

# 国内直连
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/ChinaASN/ChinaASN.list, tag=国内直连, force-policy=direct, update-interval=86400, enabled=true

# AI 服务
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/OpenAI/OpenAI.list, tag=OpenAI, force-policy=AI, update-interval=86400, enabled=true

# 流媒体
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/YouTube/YouTube.list, tag=YouTube, force-policy=Streaming, update-interval=86400, enabled=true

# 常用海外服务
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Telegram/Telegram.list, tag=Telegram, force-policy=Proxy, update-interval=86400, enabled=true
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list, tag=Google, force-policy=Proxy, update-interval=86400, enabled=true

[filter_local]
# 兜底
GEOIP,CN,DIRECT
FINAL,Proxy

Quantumult X 关键词对照表

其他平台 Quantumult X 说明
DOMAIN HOST 精确域名
DOMAIN-SUFFIX HOST-SUFFIX 域名后缀
DOMAIN-KEYWORD HOST-KEYWORD 域名关键词
url-test available 自动选最快节点
select static 手动选择
注意:Quantumult X 在 [filter_remote] 中引用的远程规则集使用的是 QX 自己的格式。blackmatrix7 仓库为每个平台都提供了对应格式的规则文件。

六、推荐规则源

不需要自己一条条写规则。社区维护了高质量的规则集,直接引用即可:

规则源 特点 适用平台 地址
blackmatrix7 分类最全,更新频繁,同时提供四种平台格式 全平台 GitHub
Loyalsoldier 规则精简高效,适合追求轻量的用户 Clash / Surge GitHub
ACL4SSR 老牌规则源,提供多种"全家桶"预配置方案 Clash 为主 GitHub
Sukka (skk.moe) 质量最高,广告拦截分类精细,维护严谨 Surge 为主 Blog
秋风广告规则 专注国内 App 广告拦截 全平台 GitHub

新手推荐:直接使用 blackmatrix7 的规则集。它为 Surge、Clash、Shadowrocket、Quantumult X 四个平台分别提供了对应格式的文件,路径结构清晰:

blackmatrix7/ios_rule_script/
  └── rule/
      ├── Surge/          ← Surge 格式
      │   ├── Google/Google.list
      │   ├── YouTube/YouTube.list
      │   └── ...
      ├── Clash/          ← Clash 格式
      │   ├── Google/Google.yaml
      │   └── ...
      ├── Shadowrocket/   ← Shadowrocket 格式
      │   └── ...
      └── QuantumultX/    ← Quantumult X 格式
          └── ...

七、平台选择建议

平台 系统 价格 适合人群
Clash Verge Rev Windows / macOS / Linux 免费开源 PC 用户首选,功能强大,生态丰富
Shadowrocket iOS $2.99(一次性) iOS 性价比之王,规则兼容 Surge
Surge iOS / macOS $49.99-$99.99 追求极致稳定和功能的用户
Quantumult X iOS $7.99(一次性) iOS 用户的中间选择,UI 精致
FlClash Android / Windows / macOS / Linux 免费开源 全平台通用,基于 Clash Meta 内核

快速上手路径

PC 用户:安装 Clash Verge Rev → 导入机场订阅 → 使用内置或在线的 blackmatrix7 规则配置

iOS 用户:购买 Shadowrocket → 导入机场订阅 → 添加远程规则集

追求深度定制:参考 Surge 自定义配置教程 搭建模块化配置


八、手动添加规则

除了引用远程规则集,日常使用中经常需要临时添加自定义规则。以下是各平台手动加规则的语法:

场景一:某个域名走代理

# Surge / Shadowrocket
DOMAIN-SUFFIX,example.com,Proxy

# Clash Meta
- DOMAIN-SUFFIX,example.com,Proxy

# Quantumult X(写在 [filter_local] 中)
HOST-SUFFIX,example.com,Proxy

场景二:某个域名直连

# Surge / Shadowrocket
DOMAIN-SUFFIX,mybank.com,DIRECT

# Clash Meta
- DOMAIN-SUFFIX,mybank.com,DIRECT

# Quantumult X
HOST-SUFFIX,mybank.com,DIRECT

场景三:某个 IP 段直连

# Surge / Shadowrocket
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

# Clash Meta
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

# Quantumult X
IP-CIDR,192.168.0.0/16,DIRECT

no-resolve 表示不对域名做 DNS 解析再匹配 IP,避免不必要的 DNS 查询。Surge、Clash、Shadowrocket 都支持这个参数。


九、常见问题

规则越多越好吗?

不是。规则越多,每个请求的匹配时间越长。实际上:

  • 2000-5000 条规则在现代设备上几乎无感
  • 超过 10000 条可能在低性能设备(老款手机)上有轻微延迟
  • 重要的不是数量,而是规则的顺序——高频命中的规则放前面

GEOIP 和域名规则哪个优先?

域名规则应该放在 GEOIP 前面。原因:

  1. 域名规则不需要 DNS 解析就能匹配,速度更快
  2. GEOIP 需要先解析域名拿到 IP,再查数据库判断地区
  3. 如果 GEOIP,CN 放在前面,所有被墙域名会因为 DNS 污染返回错误 IP 而直连失败

正确顺序:域名规则 → GEOIP → FINAL

代理优先还是直连优先?

推荐代理优先FINAL → Proxy)。理由:

  • 国内域名已经被前面的规则覆盖走了直连
  • 没被规则覆盖的域名大概率是海外域名
  • 如果直连优先,新的被墙域名会漏掉

为什么某些 App 即使配了直连规则还是异常?

可能的原因:

  1. 证书问题:开启了 MITM(中间人解密),但目标 App 使用了 Certificate Pinning(证书绑定),导致连接被拒绝。解决方法:在 MITM 中排除该域名
  2. DNS 问题:代理工具的 DNS 设置与 App 预期不一致。尝试将该域名的 DNS 指定为系统 DNS
  3. 规则顺序:该域名被前面的某条规则提前匹配走了代理。检查规则优先级

Clash Premium 和 Clash Meta 什么关系?

Clash 原版(Clash Premium)已于 2023 年停止维护并删库。Clash Meta(后更名为 mihomo)是社区维护的活跃分支,功能更强大,支持更多协议(Hysteria2、TUIC、VLESS 等)。目前所有主流 Clash GUI 客户端都基于 mihomo 内核,日常说的"Clash"基本都指它。