查看 2026-05-29 10 分钟 进阶 4 步

Sub-Store 部署与使用教程:Cloudflare Workers 免费部署(2026)

Sub-Store 部署在 Cloudflare Workers 上完全免费,不需要 VPS。它支持 Clash YAML ↔ sing-box JSON ↔ Surge 格式互转、多订阅合并、按地区/协议筛选节点。这篇写清 Workers 部署、KV 绑定、面板配置和常用场景。

Sub-Store 是一个免费的订阅管理工具,部署在 Cloudflare Workers 上不需要服务器。它可以把 Clash YAML 转成 sing-box JSON、合并多个订阅、按地区或协议筛选节点。部署只需四步:Fork 仓库 → Cloudflare Workers 创建服务 → 绑定 KV → 访问面板。

在开始前,确认你手里有两样东西:一个 Cloudflare 账号(免费注册即可,不需要绑定信用卡)和一个配套订阅线路(URL 格式,以 https:// 开头且带 token 参数)。整个过程不需要命令行,全程在浏览器里操作,10 分钟左右完成。

Sub-Store 能做什么

很多用户同时持有多个订阅——主用机场一个、备用机场一个、朋友分享的一个。每换一个客户端(Clash Verge Rev、sing-box、Shadowrocket、Surge)就要去后台手动导出对应格式。Sub-Store 解决的就是这件事:把不同来源的订阅统一管理,输出成你客户端要的格式。

它主要能做三件事:

  1. 格式转换:Clash YAML、sing-box JSON、Surge、V2Ray、Loon、Stash 等格式之间互转。
  2. 多订阅合并:两条甚至更多条订阅链接合并成一个,合并后的配置可以直接导入客户端。
  3. 节点筛选:按地区(香港、日本、美国等)或协议(Shadowsocks、Trojan、VLESS)筛选节点,只保留你需要的。

下面是 Sub-Store 当前支持的输入和输出格式。输入格式取决于你的订阅来源,输出格式选你客户端要用的那个。

方向格式说明
输入Clash YAML最常见,V2Board / SSPanel 后台默认输出
输入sing-box JSONsing-box 原生配置格式
输入SurgeSurge / Stash / Loon 兼容格式
输入V2RayV2Ray 客户端格式(URI 列表或 base64)
输出Clash YAMLClash Verge Rev / Mihomo Party / Clash for Windows
输出sing-box JSONsing-box 全平台客户端
输出SurgeSurge / Stash / Loon
输出ShadowrocketiOS 端 Shadowrocket
输出Quantumult XiOS 端 Quantumult X

不是所有转换方向都支持。如果你的需求是复杂的分流规则 + 策略组自定义,Sub-Store 的能力不如 subconverter(后者需要 VPS 部署但有更完整的规则引擎)。但作为个人自用的订阅管理和格式转换工具,Sub-Store 够用且完全免费。

部署 Sub-Store 到 Cloudflare Workers

以下是 2026 年 5 月验证过的完整步骤。每一步都按你会在 Cloudflare 后台看到的实际界面来写。

第一步:Fork Sub-Store 仓库

打开 Sub-Store GitHub 仓库,点右上角的 Fork 按钮,选择你的 GitHub 账号。几秒后你的账号下就会多出一个 Sub-Store 仓库副本。

Fork 的用途有两个:一是你可以控制自己用的代码版本,原仓库更新不会自动影响你的 Worker;二是 GitHub 会在你的仓库页面显示 This branch is X commits behind,你点 Sync fork 就能手动同步新版本。Sub-Store 主仓的 index.js 是部署到 Workers 的核心文件,后面步骤会用到。

第二步:创建 Cloudflare Worker

打开 Cloudflare Dashboard,左侧菜单点「Workers & Pages」→ 右上角点「创建」→ 选「创建 Worker」。

给 Worker 起个名字(比如 sub-store),然后你会进入代码编辑页面。页面上有一段 Hello World 示例代码——全部选中删掉。

回到你 Fork 的 Sub-Store 仓库,打开根目录下的 index.js 文件,把全部内容复制下来,粘贴到 Worker 代码编辑器中。点右上角的「保存并部署」。

部署完成后你会得到一个 *.workers.dev 域名(格式是 https://sub-store.你的用户名.workers.dev)。此时访问这个域名八成看到空白页——这是正常的,KV 还没绑定。

第三步:绑定 KV Namespace

Sub-Store 用 Cloudflare KV 存储你的订阅配置、密码和节点数据。KV 相当于一个免费的键值数据库,Worker 通过它来读写持久化数据。

Cloudflare Dashboard 左侧菜单 → Workers & Pages → KV → 创建命名空间 → 名称填 SUB_STORE(必须全大写)→ 添加。然后回到你的 Worker 页面 → 点「设置」→ 点「变量」→ 拉到 KV 命名空间绑定区域 → 点「添加绑定」→ 变量名称填 SUB_STORE → KV 命名空间选你刚创建的那个 → 保存。Worker 会自动重新部署,大约 10 秒完成。

变量名称大小写必须完全匹配 SUB_STORE,写错会导致 Sub-Store 面板报「存储不可用」或者一直停留在空白页。这是新手部署失败最常见的原因。

第四步:初始化面板

绑定 KV 后再次访问你的 Worker 域名。这次你应该看到一个初始化页面,要求设置管理员密码。密码至少 6 位,设好后点确认。

设置完成后页面会自动跳到登录界面。输入密码进入管理面板,这里就是 Sub-Store 的主操作区域。

下一步点「添加订阅」→ 填一个你能识别的名称(比如「主机场」)→ 粘贴原始订阅链接 → 选择输出格式(Clash / sing-box / Surge / Shadowrocket 等,按你客户端需要选)→ 保存。面板会自动拉取订阅内容,几秒后显示节点数量和更新时间。

三个常用场景

部署完之后,以下是使用中最高频的三个操作。

合并两个订阅。 先分别添加两个订阅(比如「主订阅」和「备用订阅」),把输出格式都设成 Clash YAML。然后新加一个「组合」类型的订阅,勾选前两个订阅作为数据源。Sub-Store 会把所有节点合并成一份配置,去重选项开「按名称去重」避免重复节点。

按地区筛节点。 在订阅编辑页找到「过滤器」区域。假设你只要日本和新加坡节点,在地区过滤栏输入 JP,SG(两个字母的 ISO 国家代码,逗号分隔)。保存后生成的订阅链接只包含这两个地区的节点。地区代码从节点名称中提取,如果节点名不带地区标识(比如全是“节点 1、节点 2”),过滤器会失效。

转格式给不同客户端。 同一个原始订阅,在 Sub-Store 里保存两份,一份输出 Clash YAML(给 Clash Verge Rev),一份输出 sing-box JSON(给 sing-box iOS),两份配置共用同一个数据源但输出不同。切换客户端时不需要重新从机场后台导出订阅。

免费额度和限制

Cloudflare Workers 免费版每天 10 万次请求,KV 免费版每天 10 万次读取 + 1000 次写入。一个人自己用,即使开了自动更新(每 6 小时拉一次),一天的请求量不会超过几百次,完全在免费额度内。

但如果把 Sub-Store 生成的订阅链接分享给十几个人,每个客户端每 6 小时请求一次,高峰期一天会达到几千甚至上万次请求,虽然不至于超出免费额度,但并发高时 Worker 的响应延迟会上升。免费 Workers 没有 CPU 时间保证,冷启动再加高峰请求,偶尔会出现 2-3 秒的响应延迟。

如果免费额度确实不够(比如分享给团队),Cloudflare Workers Paid 计划每月 $5,每天 1000 万次请求,且去掉了 CPU 时间限制。对绝大多数个人用户没这个必要。

想删除 Sub-Store

两种程度的清理:

  1. 只清数据但保留 Worker:Cloudflare Dashboard → KV → 找到 SUB_STORE 命名空间 → 点进去 → 全选所有键 → 删除。下次访问 Worker 域名会重新出现初始化页面。

  2. 完全移除:Cloudflare Dashboard → Workers & Pages → 找到你的 Worker → 点进去 → 设置 → 最底下点「删除 Worker」。别忘了顺便把 KV 命名空间也删掉(KV 页面 → 找到 SUB_STORE → 删除),不然 KV 空挂着但不会产生费用。


本文基于 Sub-Store v2.x 系列和 Cloudflare Workers 2026 年 5 月的后台界面编写。Sub-Store 的代码和功能持续更新,以 Sub-Store GitHub 最新 Release 为准。Cloudflare Workers 的免费额度和界面布局以 Cloudflare Workers 文档 为准。

相关阅读

来源与时间

本文最后查看时间:2026-05-29。操作路径会随客户端版本变化,遇到按钮名称不一致时,优先按同义菜单和官方文档查看。

看更多教程:教程库 · 看客户端:客户端目录 · 看下载入口:下载中心