Clash与Surge配置互转是跨境办公场景中的常见需求,两者在代理组类型、分流规则格式上存在差异,本文详解转换工具与手动转换方法,帮助用户快速完成配置迁移。
Clash与Surge配置结构对比
Clash使用YAML格式,Surge早期使用CONF格式,现新版支持YAML,两者核心结构相似,都包含代理(proxies)、代理组(proxy-groups)、规则(rules)三部分,但语法细节不同。
Clash配置示例:
proxies:
- name: "节点1"
type: ss
server: 192.168.1.1
port: 8388
cipher: aes-256-gcm
password: password123
proxy-groups:
- name: "自动选择"
type: url-test
proxies:
- 节点1
url: http://www.gstatic.com/generate_204
interval: 300
Surge配置示例:
[Proxy] 节点1 = ss, 192.168.1.1, 8388, encrypt-method=aes-256-gcm, password=password123 [Proxy Group] 自动选择 = url-test, 节点1, url=http://www.gstatic.com/generate_204, interval=300
代理组类型转换要点
代理组是分流的核心,Clash与Surge支持的类型基本对应:
| Clash类型 | Surge类型 | 适用场景 |
|---|---|---|
| select | select | 手动选择节点 |
| url-test | url-test | 自动测速选优 |
| fallback | fallback | 故障转移 |
| load-balance | load-balance | 负载均衡 |
select适用于需要手动切换节点的场景;url-test根据延迟自动选择最优节点,适合日常访问;fallback当主节点不可用时自动切换,适合对稳定性要求高的办公场景。
分流规则格式转换
分流规则两者都支持DOMAIN、DOMAIN-SUFFIX、IP-CIDR、GEOIP,但写法不同:
Clash规则示例:
rules: - DOMAIN-SUFFIX,google.com,自动选择 - DOMAIN,www.apple.com,自动选择 - IP-CIDR,10.0.0.0/8,DIRECT - GEOIP,CN,DIRECT - MATCH,自动选择
Surge规则示例:
RULE-SET,https://example.com/ruleset,自动选择 DOMAIN-SUFFIX,google.com,自动选择 DOMAIN,www.apple.com,自动选择 IP-CIDR,10.0.0.0/8,DIRECT GEOIP,CN,DIRECT FINAL,自动选择
规则优先级:DOMAIN-SUFFIX > DOMAIN > IP-CIDR > GEOIP > FINAL/MATCH,精确匹配放前面,通用规则放后面。
两种转换方式
使用转换工具
SubConverter是主流转换工具,支持Clash、Surge、Quantumult X等格式互转。
# 基本用法 subconverter -i source.yaml -o target.conf -t surge
转换时可在配置中指定输出格式,工具会自动处理代理、代理组、规则的格式转换。
手动转换步骤
- 代理部分:将Clash的proxies数组转为Surge的[Proxy]段落,格式从YAML转INI
- 代理组部分:将proxy-groups转为[Proxy Group],type名称对应替换
- 规则部分:将rules数组转为RULE-SET或直接规则,MATCH改为FINAL
- 验证测试:导入Surge后检查节点连通性和分流是否生效
手动转换适合对配置有定制化需求的用户,可保留自定义规则和策略组逻辑。
TUN模式与系统代理的区别
Clash和Surge都支持TUN模式,区别在于:
- 系统代理:仅接管HTTP/HTTPS流量,配置简单,部分应用可能不兼容
- TUN模式:接管全部流量(包括UDP、游戏),需要更高权限,适合对网络要求高的场景
跨境办公建议开启TUN模式,确保所有应用都能正常访问国际网络资源。
常见问题FAQ
现象:转换后节点无法连接
原因:加密方式或协议参数不兼容,解决方法:检查cipher、protocol、obfs等参数是否被正确转换,必要时手动调整。
现象:分流规则不生效
原因:规则顺序错误或类型不匹配,解决方法:确保精确规则在前,通用规则在后,检查DOMAIN-SUFFIX和DOMAIN写法。
现象:代理组测速失败
原因:测速URL被墙或超时,解决方法:更换为国内可访问的测速URL,或将代理组类型改为select手动选择。
