部署
1. 部署到 Cloudflare Pages
- Fork 本仓库
- 进入 Cloudflare Dashboard → Workers & Pages
- 创建应用程序 → Pages → 连接到 Git
- 选择仓库,配置构建设置:
- 框架预设:
Vue - 构建命令:
npm run build - 输出目录:
dist
- 框架预设:
- 点击部署
2. 创建 KV 命名空间
- Workers KV → 创建命名空间
- 名称随意,如
imgbed-kv
3. 绑定 KV
在 Pages 项目 → Settings → Functions → KV namespace bindings:
| 变量名 | KV 命名空间 |
|---|---|
KV | 选择刚创建的命名空间 |
4. 配置环境变量
在 Pages 项目 → Settings → Environment variables:
| 变量名 | 必填 | 说明 |
|---|---|---|
GITHUB_TOKEN | ✅ | GitHub Personal Access Token(全局默认) |
ADMIN_PASSWORD | ✅ | 管理员密码 |
RSA_PUBLIC_KEY | ✅ | RSA 公钥(base64) |
RSA_PRIVATE_KEY | ✅ | RSA 私钥(base64) |
5. 生成 RSA 密钥对
复制你部署的域名,这里以your-site.pages.dev举例
编辑地址栏,在后面输入/generate-keys.html,回车,点击按钮生成,复制输出的环境变量值。
完整地址:https://your-site.pages.dev/generate-keys.html
6. 首次使用
- 访问部署的域名
- 输入管理员密码登录
- 进入设置 → 添加仓库,填写信息
注意: 请保证仓库中至少有一个文件(任意文件),否则无法上传图片
- 开始上传图片
📡 API 接口
| 接口 | 方法 | 认证 | 说明 |
|---|---|---|---|
/api/auth | GET | ❌ | 获取 RSA 公钥 |
/api/auth | POST | ❌ | 管理员登录验证 |
/api/images | GET | ✅ | 获取所有仓库图片 |
/api/upload | POST | ✅ | 上传图片 |
/api/delete | POST | ✅ | 删除图片 |
/api/batch-visibility | POST | ✅ | 批量设置公开/私密 |
/api/random | GET | ❌ | 随机公开图片(可配置开关) |
/api/preview/{filename} | GET | ❌ | 预览私密仓库图片 |
/api/settings | GET | ❌ | 获取设置 |
/api/settings | POST | ✅ | 更新设置 |
/api/getSettingsUpdateTime | GET | ❌ | 获取设置更新时间 |
/api/checkRepositoryStatus | POST | ✅ | 检查仓库状态 |
随机图片 API
html
<!-- 直接作为 img 标签使用 -->
<img src="https://your-site.pages.dev/api/random" />
<!-- 获取 JSON 格式 URL -->
<script>
fetch('/api/random', { headers: { 'Accept': 'application/json' } })
.then(res => res.json())
.then(data => console.log(data.url));
</script>