自建Sub-Converter实现多协议节点格式转换

本文详解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实现节点异常告警,构建完整的节点管理闭环。

您可以还会对下面的文章感兴趣: