@0xsnx/subbridge
v0.3.0
Published
SubBridge: Clash / Clash.Meta YAML to sing-box node injector — extract nodes, auto group by country, inject into template
Maintainers
Readme
占位符
模板中用这些 JSON 友好的占位符标记注入位置,IDE 语法高亮不受影响:
| 占位符 | 位置 | 展开结果 |
| :--- | :--- | :--- |
| { "$subbridge": "nodes" } | outbounds 数组 | 所有节点的 outbound 对象 |
| { "$subbridge": "country_groups" } | outbounds 数组 | 每个国家的 selector + urltest 对象组 |
| "$nodes" | 字符串数组 | 所有节点的 tag 列表 |
| "$nodes:HK" | 字符串数组 | 香港节点的 tag 列表(支持 23+ 地区代码) |
支持协议:Shadowsocks、VMess、VLESS、Trojan、Hysteria2、HTTP,含 TLS / uTLS / Reality / WebSocket / gRPC。
CLI
# 零配置:使用内置默认模板(TUN 全局代理 + geo 规则 + 国家分组)
subbridge build -i clash.yaml -o config.json
# 远程订阅
subbridge build -i https://example.com/sub -o config.json
# 多源合并
subbridge build -i clash.yaml -i https://example.com/sub -o config.json
# 取得内置模板副本,按需修改后用 -t 覆写
subbridge init -o my-template.json
subbridge build -i clash.yaml -t my-template.json -o config.json
# 本地 Web UI(浏览器粘贴订阅,自动转换)
subbridge serve安装
npm install -g @0xsnx/subbridge或从源码安装(需要 Bun 1.3.5+):
git clone https://github.com/zzf2333/SubBridge.git
cd SubBridge
bun install && bun run build && bun run install:local-cli需要 Node.js 18+ 或 Bun 1.3.5+。
内置默认模板
不传 -t 时工具使用内置默认模板,特点:
| 配置项 | 内容 | | :--- | :--- | | 入站 | TUN 全局代理,支持 IPv4/IPv6 | | DNS | 国内域名 → 223.5.5.5;其余 → 8.8.8.8 走代理 | | 路由规则 | 广告 → block;国内域名/IP → direct;其余 → 代理 | | rule_set 来源 | MetaCubeX/meta-rules-dat(GitHub,可替换为镜像) | | 国家分组 | 自动展开(有节点的国家各生成一个 selector + urltest) |
运行 subbridge init -o my-template.json 可取得副本,自由修改每一行。
文档
License
MIT
