基于 EdgeOne Pages + Supabase 的 Bitwarden 兼容密码管理器后端服务。
- 🔐 Bitwarden 协议兼容
- 🚀 EdgeOne Pages 边缘函数部署
- 🗄️ Supabase PostgreSQL 数据库
- 🔒 端到端加密
- 🌐 全球 CDN 加速
- 📱 多设备同步
- Node.js >= 18.0.0
- GitHub 账号
- Supabase 账号
- 腾讯云 EdgeOne 账号
详细的部署指南请参考 快速部署指南
-
配置 Supabase
- 创建项目
- 执行数据库迁移脚本
- 获取 API 密钥
-
部署到 EdgeOne Pages
- 创建 Pages 项目
- 绑定 GitHub 仓库
- 配置环境变量
-
测试部署
# 测试配置端点 curl https://your-project.pages.edgeone.com/api/config # 测试身份验证 curl https://your-project.pages.edgeone.com/identity/connect
warden-worker/
├── edge-functions/ # EdgeOne Pages 函数
│ ├── api-handler.ts # API 路由处理
│ └── identity-handler.ts # 身份验证处理
├── supabase/
│ └── migrations/ # 数据库迁移脚本
│ └── 001_init.sql
├── warden-worker-main/ # Rust 后端代码(可选)
├── docs/ # 文档
│ ├── QUICK_DEPLOY.md # 快速部署指南
│ └── GITHUB_UPLOAD_GUIDE.md # GitHub 上传指南
├── index.html # 欢迎页面
└── package.json # 项目配置
| 变量名 | 说明 | 必需 |
|---|---|---|
SUPABASE_URL |
Supabase 项目 URL | ✅ |
SUPABASE_ANON_KEY |
Supabase 匿名密钥 | ✅ |
SUPABASE_SERVICE_ROLE_KEY |
Supabase 服务端密钥 | ✅ |
JWT_SECRET |
JWT 签名密钥 | ✅ |
JWT_REFRESH_SECRET |
JWT 刷新密钥 | ✅ |
ALLOWED_EMAILS |
允许注册的邮箱 | ❌ |
CORS_ALLOWED_ORIGINS |
CORS 允许的域名 | ❌ |
APP_ENV |
运行环境 | ❌ |
LOG_LEVEL |
日志级别 | ❌ |
GET /identity/connect- 获取服务器信息POST /identity/accounts/register- 用户注册POST /identity/accounts/prelogin- 预登录检查
GET /api/config- 获取配置信息POST /api/sync- 同步数据
# 安装依赖(如有)
npm install
# 本地开发
npm run dev
# 构建
npm run build- 快速部署指南 - 完整部署步骤
- GitHub 上传指南 - 项目上传到 GitHub
- 前端: HTML5, TypeScript
- 后端: EdgeOne Pages Edge Functions
- 数据库: Supabase PostgreSQL
- 部署: EdgeOne Pages (腾讯云)
- EdgeOne: 10 万请求/月, 10GB 流量/月
- Supabase: 500MB 数据库, 5 万 API 调用/月
- EdgeOne 基础版: ¥99/月
- Supabase Pro: $25/月
MIT License
欢迎提交 Issue 和 Pull Request!
本项目仅供学习和个人使用,生产环境使用请自行评估安全性。