R2-Explorer

R2-Explorer 是一款开源、部署于 Cloudflare Workers 的网页端管理面板,专为 Cloudflare R2 对象存储打造,提供类谷歌网盘可视化操作界面,解决原生R2控制台操作繁琐、缺乏直观文件管理的痛点。项目依托无服务架构,通过GitHub Actions一键自动部署,支持绑定自定义域名独立访问,可单桶或多桶统一管控。

工具支持拖拽上传、文件夹管理、多格式文件在线预览、生成带时效/密码的分享链接,可自由切换只读/读写模式。内置基础账号认证、Cloudflare Access双重安全防护,可单独配置桶对外公开直链域名。无需服务器、零存储费用,适合个人图床、文件存储、轻量资源库场景,配置灵活轻量化,适配各类自建R2存储使用需求。

示例参数:

  • Worker 名称:disk
  • R2 桶名称:file
  • Worker 域名:disk.winston.ink
  • 文件公开地址:https://file.winston.ink

一、配置区分说明

配置分为两类,都在仓库页面操作:

  1. Secrets(机密加密存储):仓库 → Settings → Secrets and variables → Actions → New repository secret
  2. 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项核心变量,直接复制对应值填入:

  1. R2EXPLORER_WORKER_NAME
    值:disk
    说明:Cloudflare Worker 服务名称
  2. R2EXPLORER_BUCKETS
    值:disk:file
    格式规则:R2绑定名:R2桶真实名称
    • disk:wrangler 中 R2 binding 绑定名
    • file:R2 存储桶真实名称
  3. R2EXPLORER_DOMAIN
    值:disk.winston.ink
    说明:绑定 Worker 的自定义访问域名
  4. 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

五、部署后域名绑定操作

  1. Actions 自动部署名称为 disk 的 Worker
  2. Cloudflare Worker 设置 → Custom Domains,添加域名 disk.winston.ink
  3. R2 桶 file 后台开启公开访问,并绑定域名 https://file.winston.ink,用于文件直链访问

六、常见问题排查

  1. 无法读取桶文件:检查 R2EXPLORER_BUCKETS 格式 绑定名:桶名 是否填写正确
  2. 文件直链404:确认 R2 桶已开启公开访问权限,publicUrl 域名解析正常
  3. Actions 部署失败:检查 CF_API_TOKEN 权限是否包含 Workers、R2、DNS 操作权限