CipherPark 是一款基于 Cloudflare 全家桶 (Workers + D1 + R2 + KV + AI) 构建的商业级 SaaS 隐私挪车系统。 拥有极速的边缘节点响应、PWA 桌面级沉浸体验、AI 智能车牌识别(双引擎容灾)、CMS 动态图文教程分发、数据库时光机、以及完善的防刷防白嫖机制(PLG 商业漏斗)。零服务器成本,开箱即用。

📑 目录
- 前期环境准备
- 获取 Cloudflare Turnstile 防刷密钥
- 本地初始化与云端基建
- 核心配置文件说明 (必看)
- 数据库初始化
- 配置 CI/CD 自动化部署与密钥注入 (保姆级)
- 系统日常运维与管理 (全图形化)
- 🚀 核心功能配置指南:AI 车牌视觉引擎 (必看)
- 附录:阿里云邮件引擎 (RAM) 配置避坑指南
1. 前期环境准备
在开始之前,请确保你拥有以下账号和环境:
- Node.js:本地运行环境(建议安装最新的 LTS 版本)。
- Cloudflare 账号:系统运行的云端底座(免费注册,无需绑卡)。
- GitHub 账号:用于托管代码和执行自动化部署流水线。
- 百度智能云 / 阿里云:用于配置极速 AI 车牌识别引擎与企业邮件通道。
- Git 环境:确保你的电脑已安装并配置好
git。
2. 获取 Cloudflare Turnstile 防刷密钥
为了防止后台被爆破和恶意脚本扫描,系统接入了无感知的 Turnstile 人机验证。
- 登录 Cloudflare 控制台,点击左侧菜单的 Turnstile。
- 点击 添加站点 (Add Site)。
- 站点名称:填入
CipherPark后台。 - 域 (Domain):填入你未来打算绑定的域名,以及
workers.dev(用于默认域名测试)。 - 小部件模式:选择 托管 (Managed)。
- 创建成功后,复制并保存页面上显示的
站点密钥 (Site Key)和密钥 (Secret Key),第 6 步配置机密时需要用到。
3. 本地初始化与云端基建
3.1 安装依赖与登录授权
在电脑上新建一个文件夹,将本项目的全部源码放入其中。在项目根目录打开终端 (Terminal / PowerShell),执行:
# 1. 安装核心依赖 npm install hono # 2. 唤起浏览器,登录并授权 Cloudflare 账号 npx wrangler login
3.2 创建云端三大基建
依次在终端中执行以下命令,请务必将终端打印出的结果妥善保存到记事本中,下一步配置文件需要用到:
# 1. 创建 D1 数据库 (名称 cipherpark-db 可自定义) npx wrangler d1 create cipherpark-db # 👉 记下终端输出的 database_id (如: xxxxxx-xxxx-xxxx) # 2. 创建 R2 对象存储桶 (名称 cipherpark-media 可自定义) npx wrangler r2 bucket create cipherpark-media # 3. 创建 KV 键值对存储空间 (⚠️ 名称 TEMPLATES_KV 必须严格一致,不可更改) npx wrangler kv namespace create TEMPLATES_KV # 👉 记下终端输出的 id (如: yyyyyy-yyyy-yyyy)
4. 核心配置文件说明 (wrangler.toml)
在项目根目录下新建或修改 wrangler.toml 文件,将以下内容复制进去,并根据提示进行替换。
⚠️ 参数修改规则说明:
- 🟢 可自定义的值:管理员账号、自定义后台路径、数据库名称、存储桶名称。
- 🔴 绝对不可更改的值:
binding的名称(DB,BUCKET,TEMPLATES_KV,AI)是代码底层相互调用的桥梁,绝对不能改。- 🛡️ 终极安全警告:绝不要在此文件中明文填写
ADMIN_PASSWORD、JWT_SECRET等敏感数据。这些极密变量将在第 6 节通过 GitHub Secrets 安全注入!
name = "cipherpark" main = "src/index.js" compatibility_date = "2024-03-20" # [🟢 自定义:管理员账号与后台安全路径] [vars] ADMIN_USERNAME = "admin" # 登录总控台的账号(可自定义) ADMIN_PATH = "/cipherparkadmin" # 自定义后台路径 (千万不要用 /admin,可改成任意拼音或字符串) # ⚠️ 注意:密码、Turnstile密钥、第三方 API 密钥已全面迁移至 GitHub Secrets 极密存储,请勿在此填写! # [🔴 绑定 D1 数据库] (binding 不可改) [[d1_databases]] binding = "DB" database_name = "cipherpark-db" # 🟢 改成你上面创建的数据库名 database_id = "替换为记事本里的 D1 database_id" # 🔴 必须严格填入真实 ID # [🔴 绑定 R2 存储桶] (binding 不可改) [[r2_buckets]] binding = "BUCKET" bucket_name = "cipherpark-media" # 🟢 改成你上面创建的存储桶名 R2_DOMAIN = "[https://media.xxxxxx.com](https://media.xxxxxx.com)" # 🟢 你的 R2 自定义域名 (结尾不要带斜杠) # [🔴 绑定 KV 海报模板存储] (binding 不可改) [[kv_namespaces]] binding = "TEMPLATES_KV" id = "替换为记事本里的 KV id" # 🔴 必须严格填入真实 ID # [🔴 唤醒全球边缘 AI 风控引擎] (不可改) [ai] binding = "AI" # [定时任务] [triggers] crons = [ "*/15 * * * *", "0 19 * * *" ]
5. 数据库初始化
确保项目根目录下有最新的 schema.sql 文件。在终端中执行以下命令,将表结构一次性写入 Cloudflare 云端:
# 注意将 cipherpark-db 替换为你真实的数据库名称 npx wrangler d1 execute cipherpark-db --remote --file=./schema.sql
(如果终端提示 Are you sure you want to execute...,请输入 y 然后回车确认)
6. 配置 CI/CD 自动化部署与密钥注入 (保姆级)
通过 GitHub Actions 配置自动化部署后,系统会自动帮你把最新代码部署到 Cloudflare,同时安全地注入所有环境变量!
第一步:获取 Cloudflare 凭证
- 登录 CF 控制台 -> 我的个人资料 -> API 令牌 -> 创建自定义令牌。
- 赋予以下 4 项 “编辑 (Edit)” 权限:
D1、Workers KV 存储、Workers 脚本、R2 存储桶。 - 复制生成的超长 Token。同时在 CF 主界面右侧栏复制 Account ID (帐户 ID)。
第二步:配置 GitHub 仓库核心机密 (Secrets)
打开 GitHub 仓库 -> Settings -> Secrets and variables -> Actions -> New repository secret,依次添加:
CLOUDFLARE_API_TOKEN:CF 的超长 API 令牌。CLOUDFLARE_ACCOUNT_ID:CF 的 Account ID。TURNSTILE_SITE_KEY:第 2 节获取的 Turnstile 站点密钥。TURNSTILE_SECRET:第 2 节获取的 Turnstile 密钥。ADMIN_PASSWORD:总控台登录密码。JWT_SECRET:系统数据加密盐 (随便打一串长英文,如movecar_secret_2026)。- 其他如
RESEND_API_KEY,ALIYUN_ACCESS_KEY_ID等根据需要选填。
第三步:推送代码自动部署
在项目 .github/workflows/deploy.yml 已经配置好 CI/CD 脚本的情况下,直接推送代码:
git add . git commit -m "Deploy CipherPark" git push
等待 GitHub Actions 跑完变成绿色 ✅,系统即全网上线!
7. 系统日常运维与管理 (全图形化)
访问 https://你的域名/你自定义的ADMIN_PATH 即可进入超级总控台。所有后期运营 0 代码热更新:
| 核心运维模块 | 详细说明与黑科技特性 |
|---|---|
| 📷 AI 车牌视觉引擎 | [核心特性] 搭载前端极速 Base64 直传技术,杜绝云端内存溢出。内置【百度智能云】与【阿里云】双引擎容灾。独家“全网姿势盲打轮询+自我学习缓存”算法,完美兼容市面所有奇葩 API 格式,提取结果自带标准 · 号格式化。 |
| 📚 动态推送教程管理 | [核心特性] 内置高阶 Markdown 编辑器 (CMS)。可实时在线编写 WxPusher、Bark 等八大通道的图文配置教程,保存后 C端车主中心 0 延迟瞬间生效。 |
| 🗄️ 数据库时光机 | [核心特性] 自动对接 R2 对象存储桶。一键全量备份系统 8 大核心数据表,支持查看历史快照并进行“一键覆盖回档”,数据安全坚如磐石。 |
| 💳 订单与财务流水 | 实时聚合易支付/V免签交易状态。后台具备动态建表能力,全新部署一键生成结构流。 |
| 📞 防骚扰隐私拨号 | 商业漏斗(PLG)核心:设定一键拨号为 VIP 专享,或赠送新人免费期。过期物理锁定手机号防抓包。 |
| ✉️ 邮件与推送矩阵 | 支持阿里云/Resend双引擎邮件容灾。若 WxPusher/TG/Bark 等 8 大通道宕机,可一键全局熔断降级。 |
| 🎨 云端海报模板 | 使用 KV 缓存驱动。填入 JSON 数组即刻覆写前端海报模板,无需重新部署代码。 |
| 🧠 AI风控与防火墙 | 调用边缘 AI 算力拦截违规留言并自动封禁 IP 24小时。支持开启属地防火墙阻断海外黑产。 |
8. 🚀 核心功能配置指南:AI 车牌视觉引擎 (必看)
系统内置了极其强大的 AI 视觉引擎,建议配置百度智能云作为主力(准确率极高且有免费额度),阿里云作为备用容灾。
方案 A:配置【百度智能云】(强烈推荐)
- 登录 百度智能云,搜索进入 [文字识别 OCR 控制台]。
- ⚠️ 避坑必做: 点击左侧【概览】,找到【领取免费资源】,勾选**“交通场景文字识别”**并领取 0 元套餐(每月白嫖 200 次)。
- 进入【应用列表】->【创建应用】(默认勾选全量接口)。
- 创建后,在应用列表中获取 API Key (AK) 和被隐藏的 Secret Key (SK)(需点击“显示”或“复制”才能看到)。
- 登录 CipherPark 总控台 -> 数据大盘 -> AI 车牌视觉引擎:
- 策略选择:
🤖 智能双引擎自动容灾或🐾 强制仅走百度智能云 - 填入百度 AK 和 SK 并保存。
- 策略选择:
方案 B:配置【阿里云云市场】(备用容灾)
- 登录 阿里云云市场,搜索购买 “车牌识别”(注意:千万不要买成“身份证识别”)。
- 在买到的商品详情页,获取 API 网关地址 (URL) 和 AppCode。
- 登录 CipherPark 总控台 -> 数据大盘 -> AI 车牌视觉引擎:
- 填入阿里云的 URL 和 AppCode 并保存。
- 注:底层的“自我学习算法”会自动试探这家服务商需要 JSON 还是 Form 格式,无需人工干预。
9. 附录:阿里云邮件引擎 (RAM) 配置避坑指南
为了保证系统的绝对安全,严禁使用阿里云主账号的 AccessKey。请创建“只拥有发邮件权限”的子账号密钥。
- 配置发信地址:访问 阿里云 DirectMail 开通服务。🔴 发信类型必须选择“触发邮件 (Trigger)”!
- 创建 RAM 账号:访问 阿里云 RAM 控制台 创建用户,必须勾选“OpenAPI 调用访问”。
- 赋予权限:为该用户添加
AliyunDirectMailFullAccess权限。 - 保存配置:将
AccessKey ID、AccessKey Secret及发信邮箱填入 GitHub Secrets 或后台配置中。
Powered by Cloudflare Serverless Architecture. Engineered for absolute privacy and robust commercial operations.
项目地址:https://github.com/nbbk/CipherPark
未经本人允许,不得做商业化用途,尊重他人,尊重自己!