把机场订阅、自建节点、节点处理和分流模板放到你自己的 Cloudflare Worker 中,最终只给客户端一个订阅链接。
项目采用 Workers Static Assets + Worker API + D1 + Worker Secrets,按 Cloudflare 免费版边界设计并验证。无需自建服务器,也不需要 KV、R2、Durable Objects、Queues 或 Cron。
English: README.en.md
使用密码管理器生成,或者在安装了 Node.js 的电脑运行:
node -e "const{randomBytes:r}=require('node:crypto');console.log(r(32).toString('base64url'));console.log(r(32).toString('base64url'))"第一行用于 SUB_STORE_ADMIN_TOKEN,第二行用于 SUB_STORE_PUBLIC_DOWNLOAD_TOKEN。不要使用 README、截图或示例里的固定字符串。
点击上面的按钮。Cloudflare 会:
- 把仓库导入到你的 GitHub/GitLab 账号;
- 创建 Worker;
- 自动创建或选择 D1 数据库;
- 要求你填写两个 Token;
- 执行
pnpm run build和pnpm run deploy。
两个 Secret 输入框必须填写你刚生成的不同随机值。
部署成功后点击 Cloudflare 给出的 Worker 地址,并在地址后添加:
/?token=<SUB_STORE_ADMIN_TOKEN>
首次进入会显示三步引导:添加 Source → 确认默认 Daily → 复制订阅链接。
完整图文步骤见 五分钟快速开始。
| 你的情况 | 推荐方式 | 入口 |
|---|---|---|
| 只想最快跑起来,之后在网页配置 | Deploy to Cloudflare | README 顶部按钮 |
| 想在终端按提示完成部署 | 交互式 CLI | pnpm run install:cloudflare |
| 想先部署空应用,之后在网页配置 | CLI 快速模式 | pnpm run install:quick |
| 想让 Codex / Claude Code 导入订阅并返回链接 | Agent 安装 | 复制安装提示词 |
| 想完全控制 D1、Secret 和域名 | 手动 Wrangler | 部署说明 |
需要 Git、Node.js 22+ 和 Corepack:
git clone https://github.com/realchendahuang/sub-store-cloudflare.git
cd sub-store-cloudflare
corepack enable
pnpm run install:cloudflare安装器会询问 Worker 名称、自定义域名和可选订阅 URL,然后自动安装依赖、登录检查、创建 D1、生成 Token、迁移、部署、导入并验证。
只想部署空应用:
pnpm run install:quick需要单独生成两个跨平台 Token:
pnpm run tokens:generate把 agent/install.prompt.md 的提示词发给 Codex、Claude Code 或其他本地编程 Agent。Agent 会把私有配置写入被 Git 忽略的 config/agent-setup.local.json,再运行同一个安装器。
非交互环境缺少该配置时,安装器会停止而不是部署示例订阅 URL。
- 在“订阅”页添加远程订阅 URL 或本地节点文本。
- 确认预置的
DailyCollection;需要其他组合时再新建,模板可选acl4ssr-mihomo。 - 保守起步只使用清理信息节点、端点去重和名称排序。
- 在 Collection 卡片复制 Mihomo、sing-box、Surge 等链接。
- 在“设置”页导出一次配置备份,并妥善保存两个 Token。
- 远程订阅、本地节点、组合订阅和自定义模板。
- 区域、类型和正则过滤,重命名、删除、去重、排序、域名解析和旗帜处理。
- 构建时 JavaScript Filter / Operator;不使用运行时
eval()。 - JSON/JSON5、Mihomo YAML、URI、Surge/Loon/Quantumult X 等输入。
- Mihomo、Stash、Surge、Surge Mac、Surfboard、Loon、Egern、Shadowrocket、Quantumult X、sing-box、v2ray、URI 和 JSON 输出。
- 一次性节点/订阅转换和规则转换工具。
- 独立、限时、可撤销、可限制格式的下载授权。
- 最多 50 条的配置回收站。
- 订阅元数据透传、Workers Cache API 缓存和失败回退。
- 配置备份/恢复以及节点地区、组织和 ASN 查询。
原版兼容状态和明确排除项见 兼容矩阵。
Deploy Button 会在你的账号中创建仓库副本,但不会自动合并本仓库的新版本。不要通过新建第二套 Worker/D1 来代替正常升级。
不同安装方式的升级、D1 migration、备份和回滚步骤见 升级指南。
全部文档见 docs/README.md。
corepack enable
pnpm run setup
cp cloudflare/.dev.vars.example cloudflare/.dev.vars
pnpm run build:frontend
pnpm run dev访问:
http://localhost:8787/?token=dev-admin-token
- 不要提交订阅 URL、节点 URI、Token、私有 D1 ID 或生成的 seed SQL。
- 管理端和
/api/*使用 admin token;/download/*使用 download token。 - 项目不会从网页、D1 或远程 URL 动态执行任意 JavaScript。
- 发布或提 issue 前请先看 SECURITY.md 和 故障排查。
本项目参考并致敬 sub-store-org/Sub-Store。原版覆盖更广的运行环境和功能;本仓库专注可直接部署的 Cloudflare-native 兼容版本。