当我趁着春节各家机场的促销订阅多个机场之后,如何充分利用每个节点就变成了说难不难说简单也不简单的问题,我当然可以订阅各家机场提供的配置文件,然后在他们之间切换,但这样未免也太麻烦了。更何况我还有自建节点,我可不想为了这一个节点专门去开一个新的配置。
Sub-Store 很好的解决了这个问题,它可以从多个订阅中抽取节点信息,通过正则表达式或者 JS 整理它们,最后输出一个整合了所有节点信息的订阅。
部署它可以直接使用 xream 打包好的镜像,这个镜像整合了前后端,如果在公网部署,记得更改一下后端路径,否则你的配置文件很可能会被盗用。
| |
反代 3001 端口即可访问 Substore 的前端,这里以 Caddy 为例:
| |
当然,初次进入前端别忘了新增后端地址,这时的后端地址取决于之前 compose file 里的设置,在本文的例子中,后端地址为https://sub-domain.example.com/super-random-path。
组合订阅的管理
添加所有机场上游和自建节点之后,就可以开始把它们全都加进单个组合订阅,但各个机场对节点的命名五花八门,默认情况下看起来非常杂乱,甚至不同机场之间的节点还有重名的可能。好在 Sub-Store 有通过脚本对节点进行批量重命名操作的功能,这里推荐一个脚本,能够帮我们为所有的机场节点重命名。
欲使用这个脚本,只需在编辑订阅时将以下地址粘贴到脚本操作处即可。
https://raw.githubusercontent.com/Keywos/rule/main/rename.js

最后再进行一些你喜欢的节点操作,可以整理出一个统一规范的节点列表。
生成 Clash 配置
现在虽然已经有了节点列表,但现在生成的配置文件并不包含任何规则,需要自行编写或者拉取第三方规则。


转到 Substore 的文件管理,创建一份新的 Mihomo 配置:
- 「来源」选择组合订阅,并在订阅名称上选择你的订阅组
- 在脚本操作中填入自己的覆写配置
这是我自己的覆写规则 powerfullz/override-rules,为 Mihomo/Substore 设计,核心特色如下:
- 集成 SukkaW/Surge 与 217heidai/adblockfilters 等优质规则,兼容性强,覆盖面广。
- 针对 Truth Social、E-Hentai、TikTok、加密货币等场景,新增专用分流规则,满足多样化需求。
- 精简冗余,结构清晰,维护便捷。
- 深度融合 Loyalsoldier/v2ray-rules-dat GeoSite/GeoIP,分流更精准。
- IP 规则默认添加
no-resolve,有效减少本地 DNS 解析,提升速度与隐私。 - 动态覆写:自动识别节点国家/地区,仅生成实际存在的分组,节点名称实时枚举,配置更智能。
JavaScript 格式覆写
复制 JavaScript 格式覆写文件的链接https://cdn.jsdelivr.net/gh/powerfullz/override-rules@1/convert.min.js,并根据需要在后面附加参数,格式如下:
https://cdn.jsdelivr.net/gh/powerfullz/override-rules@1/convert.min.js#参数1=true&参数2=true
目前支持如下参数:
| 参数 | 功能 |
|---|---|
loadbalance | 启用国家/地区节点组的负载均衡 |
landing | 启用落地节点功能 |
ipv6 | 启用 IPv6 支持 |
full | 生成针对纯内核使用场景的完整配置 |
keepalive | 启用 TCP KeepAlive |
quic | 允许 QUIC 流量1 |
fakeip | DNS 增强模式使用 fake-ip2 |
regex | 各国家代理组改用 include-all + 正则过滤模式3 |
threshold | 国家/地区节点数量小于该值时不显示分组(默认 0) |
例如,若有负载均衡和 IPv6 需求,最终的覆写脚本链接为:
https://cdn.jsdelivr.net/gh/powerfullz/override-rules@1/convert.min.js#loadbalance=true&ipv6=true
将最终的覆写脚本链接粘贴到脚本操作处,使用 Substore 的生成预览功能确认没有问题后即可保存。

YAML 格式覆写
YAML 格式覆写我自己已经不用了,随缘维护,但欢迎 PR
写了个 Github Actions 自动根据 JS 格式覆写生成 YAML 格式覆写,所以现在 YAML 格式又开始维护了。
除了直接引用 convert.js 动态覆写,你也可以使用仓库中预先生成好的 32 份 YAML 格式覆写——它们都放在 yamls/ 目录里,由 GitHub Actions 在每次推送后自动重新生成、覆盖。适用于诸如 Clash Verge 等不支持 JS 覆写的客户端和转换服务。
文件命名规则:
config_lb-{0|1}_landing-{0|1}_ipv6-{0|1}_full-{0|1}_keepalive-{0|1}_fakeip-{0|1}_quic-{0|1}.yaml
示例(开启 full,其余关闭):
https://raw.githubusercontent.com/powerfullz/override-rules/refs/heads/main/yamls/config_lb-0_landing-0_ipv6-0_full-1_keepalive-0_fakeip-0_quic-0.yaml
CI 只是套用一份假的fake_proxies.json来生成覆写,所以不可能实现 JS 覆写自动根据节点匹配生成对应代理组的功能,只能把所有地区节点组都放进去。如果你已经搭建 Substore,并且想要「动态识别国家 + 传参」的灵活性,还是推荐使用 JS 覆写。

生成下载链接
保存成功后点击分享按钮生成分享链接,设置分享有效期后点击「创建分享」,生成的链接即最终成型的 Mihomo 配置文件,将其作为订阅链接在你的代理软件内订阅就大功告成了。

评论已禁用,直到您接受功能性 Cookie。