R2-Explorer 是一款开源、部署于 Cloudflare Workers 的网页端管理面板,专为 Cloudflare R2 对象存储打造,提供类谷歌网盘可视化操作界面,解决原生R2控制台操作繁琐、缺乏直观文件管理的痛点。项目依托无服务架构,通过GitHub Actions一键自动部署,支持绑定自定义域名独立访问,可单桶或多桶统一管控。
工具支持拖拽上传、文件夹管理、多格式文件在线预览、生成带时效/密码的分享链接,可自由切换只读/读写模式。内置基础账号认证、Cloudflare Access双重安全防护,可单独配置桶对外公开直链域名。无需服务器、零存储费用,适合个人图床、文件存储、轻量资源库场景,配置灵活轻量化,适配各类自建R2存储使用需求。
示例参数:
- Worker 名称:
disk - R2 桶名称:
file - Worker 域名:
disk.winston.ink - 文件公开地址:
https://file.winston.ink
一、配置区分说明
配置分为两类,都在仓库页面操作:
- Secrets(机密加密存储):仓库 → Settings → Secrets and variables → Actions → New repository secret
- Variables(明文配置):同一页面切换至 Variables 标签添加
二、必填 Secret 配置
仅需1个加密密钥,填入 Secrets:
| Secret 名称 | 填写内容说明 |
|---|---|
CF_API_TOKEN |
Cloudflare API Token |
Token 创建步骤
Cloudflare 控制台 → 右上角头像 → My Profile → API Tokens → Create Token
自定义权限模板,授予:Workers 编辑、R2 读写、Zone DNS 管理权限
三、GitHub Actions 明文 Variables 配置
共4项核心变量,直接复制对应值填入:
R2EXPLORER_WORKER_NAME
值:disk
说明:Cloudflare Worker 服务名称R2EXPLORER_BUCKETS
值:disk:file
格式规则:R2绑定名:R2桶真实名称disk:wrangler 中 R2 binding 绑定名file:R2 存储桶真实名称
R2EXPLORER_DOMAIN
值:disk.winston.ink
说明:绑定 Worker 的自定义访问域名R2EXPLORER_CONFIG
基础完整配置(可直接复制):
参数释义:{ "readonly": false, "buckets": { "disk": { "publicUrl": "https://file.winston.ink" } } }readonly: false:开启上传、删除等写入操作;改为true则全局只读buckets.disk.publicUrl:R2 文件直链访问域名
带登录密码扩展配置(可选)
如需开启后台账号密码验证,替换上面的 JSON:
{
"readonly": false,
"basicAuth": {
"username": "admin",
"password": "自定义登录密码"
},
"buckets": {
"disk": {
"publicUrl": "https://file.winston.ink"
}
}
}
四、完整配置汇总表
1. Repository Variables(明文)
| 变量名 | 填入值 |
|---|---|
| R2EXPLORER_WORKER_NAME | disk |
| R2EXPLORER_BUCKETS | disk:file |
| R2EXPLORER_DOMAIN | disk.winston.ink |
| R2EXPLORER_CONFIG | {"readonly":false,"buckets":{"disk":{"publicUrl":"https://file.winston.ink"}}} |
2. Repository Secrets(加密密钥)
| Secret 名称 | 值 |
|---|---|
| CF_API_TOKEN | 你的 Cloudflare API Token |
五、部署后域名绑定操作
- Actions 自动部署名称为
disk的 Worker - Cloudflare Worker 设置 → Custom Domains,添加域名
disk.winston.ink - R2 桶
file后台开启公开访问,并绑定域名https://file.winston.ink,用于文件直链访问
六、常见问题排查
- 无法读取桶文件:检查
R2EXPLORER_BUCKETS格式绑定名:桶名是否填写正确 - 文件直链404:确认 R2 桶已开启公开访问权限,
publicUrl域名解析正常 - Actions 部署失败:检查
CF_API_TOKEN权限是否包含 Workers、R2、DNS 操作权限