本文详解Sub-Converter自建环境部署、配置文件编写及常见转换问题解决方案,帮助技术用户搭建专属节点格式转换服务。
什么是Sub-Converter
Sub-Converter是一款开源节点格式转换工具,支持将SS、SSR、VMess、Trojan、Clash等主流协议转换为统一格式,它采用Go语言开发,资源占用低,支持Docker容器化部署,是进阶用户实现节点管理自动化的核心组件。
自建环境部署步骤
准备Linux服务器
推荐使用Debian 11/12或Ubuntu 20.04及以上版本,服务器需具备公网IP,配置要求极低(1核CPU/512MB内存即可),执行以下命令完成基础环境检查:
# 更新软件包并安装必要依赖 apt update && apt install -y curl wget git
下载并编译Sub-Converter
# 克隆项目仓库 git clone https://github.com/tindy2013/subconverter.git cd subconverter # 编译二进制文件 make release # 移动可执行文件到系统路径 cp bin/subconverter /usr/local/bin/
配置文件编写
创建主配置文件base.yaml,建议将节点分组逻辑和分流规则前置定义:
# 基础配置
allow-legacy-format: true
exclude-protocol: false
# 输出格式
target: clash
# 节点分组策略
proxy-groups:
- name: "自动选择"
type: url-test
proxies:
- DIRECT
url: "http://www.gstatic.com/generate_204"
interval: 300
- name: "手动指定"
type: select
proxies:
- DIRECT
核心概念详解
代理组类型选择
| 类型 | 适用场景 | 特点 |
|---|---|---|
| select | 手动切换节点 | 需用户主动选择 |
| url-test | 日常上网 | 自动测速选择最低延迟 |
| fallback | 重要业务 | 主节点故障自动切换备选 |
TUN模式与系统代理区别
TUN模式创建虚拟网卡,可接管全部流量(包括UDP、游戏数据包),但对设备性能要求较高,系统代理仅处理HTTP/HTTPS请求,兼容性更好但功能受限,建议移动端使用系统代理,桌面端及游戏场景启用TUN模式。
分流规则优先级
规则匹配遵循从上到下顺序,优先级为:DOMAIN(精确域名)> DOMAIN-SUFFIX(域名后缀)> IP-CIDR(IP段)> GEOIP(国家/地区),建议将常用国内域名直连规则置顶,海外资源走代理。
常见问题FAQ
现象:转换后Clash配置无法加载
- 原因:YAML格式缩进错误或特殊字符未转义
- 解决方法:使用在线YAML校验工具检查,或在配置中添加
allow-legacy-format: true参数
现象:节点延迟显示为0
- 原因:测速URL被墙或网络阻断
- 解决方法:更换为国内可访问的测速节点,如
http://www.gstatic.com/generate_204
现象:订阅链接更新后节点失效
- 原因:上游机场订阅格式变更或API限速
- 解决方法:增加订阅转换缓存时间,或联系机场客服确认接口稳定性
使用建议
自建Sub-Converter适合有多节点管理需求的技术用户,可实现:
- 多机场订阅合并去重
- 自定义节点分组策略
- 定时自动更新订阅
建议配合Cron定时任务实现每日自动转换,结合Webhook实现节点异常告警,构建完整的节点管理闭环。