Mobile wallpaper 1
774 字
4 分钟
R2/S3 管理面板

一个基于 Cloudflare Pages + Hono 构建的轻量级 R2/S3 兼容对象存储管理面板。

无需服务器,免费部署,支持 Cloudflare R2, AWS S3, Aliyun OSS, MinIO 等任意 S3 兼容存储。

演示截图功能特性部署指南本地开发


📸 演示截图#

网格视图列表视图
Grid ViewList View
设置面板
Settings

✨ 功能特性#

  • ⚡️ 极速部署:基于 Cloudflare Pages Functions,利用全球边缘节点加速,无需购买 VPS。
  • 🔐 安全访问:内置 HTTP Basic Auth 认证,保护你的文件管理入口。
  • 🗂 文件管理
    • 支持 列表 / 网格 视图切换。
    • 支持 文件夹模拟 (S3 Prefix)。
    • 支持 批量上传 (拖拽) 与批量删除。
  • 🖼 智能压缩
    • 前端自动压缩:上传时可自动将图片转换为 WebP 格式。 节省带宽:支持设置压缩质量开关,极大节省存储费用。
  • 🎥 媒体预览
    • CDN预览:缩略图将通过自定义域名加载,更快的预览图片。
    • 视频:支持 mp4/mov/mkv 等格式在线播放 (强制 Inline 模式)。
    • 音频:支持 mp3/wav 等格式在线试听。
    • 图片:支持缩略图预览。
  • 🔗 双链模式:同时显示 Worker 代理链接自定义 CDN 域名链接,方便分发。
  • ☁️ S3 兼容:完美支持 R2,也可挂载 AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等。

🚀 部署指南#

1. Fork 项目仓库#

Nth2Miss
/
s3-manager
Waiting for api.github.com...
00K
0K
0K
Waiting...

点击右上角的 Fork 按钮,将本项目克隆到你的 GitHub 账号下。

2. 创建 Cloudflare Pages 项目#

  1. 登录 Cloudflare Dashboard

  2. 进入计算和AI -> Workers & Pages -> 创建应用程序 -> Pages -> 导入现有 Git 存储库cf_pages

  3. 选择你刚才 Fork 的仓库。

3. 构建配置#

Build settings 中填写:

  • 框架预设:

  • 构建命令: npm install

  • 构建输出目录: public
    pages_build

4. 设置环境变量 (Environment Variables)#

在项目创建时可以添加变量,如果项目已经创建,则在pages -> 设置 -> 构建 -> 变量与机密 中添加以下变量:

变量名说明示例值
AUTH_USER管理后台登录用户名admin
AUTH_PASSWORD管理后台登录密码password
S3_ENDPOINTS3 接口地址 (带 https)https://<ID>.r2.cloudflarestorage.com
S3_BUCKET_NAME存储桶名称my-bucket
S3_ACCESS_KEY_IDAccess KeyAKI...
S3_SECRET_ACCESS_KEYSecret Keyabc...
S3_REGION区域 (R2 填 auto)auto
S3_PUBLIC_DOMAIN(可选) 绑定的 CDN 域名https://cdn.example.com

🛠 本地开发#

如果你想在本地进行修改和调试:

  1. 克隆项目

    git clone [https://github.com/Nth2Miss/s3-manager.git](https://github.com/Nth2Miss/s3-manager.git)
    cd s3-manager
  2. 安装依赖

    npm install
  3. 配置本地环境 在根目录创建 .dev.vars 文件(不要提交到 GitHub),填入上述环境变量:

    AUTH_USER=admin
    AUTH_PASSWORD=password
    S3_ENDPOINT=[https://xxx.r2.cloudflarestorage.com](https://xxx.r2.cloudflarestorage.com)
    S3_BUCKET_NAME=test-bucket
    S3_ACCESS_KEY_ID=xxx
    S3_SECRET_ACCESS_KEY=xxx
    S3_REGION=auto
  4. 启动本地服务器

    npx wrangler pages dev public

    访问 http://localhost:8788 即可。

📝 使用说明#

  • 路径上传:在上传框的路径输入栏填写 folder/subfolder/,文件会自动归档到该目录下。
  • WebP 开关:点击右上角齿轮图标,可以开启或关闭“图片自动压缩”功能,并调整压缩质量(0.1 - 1.0)。
  • 自定义域名:在设置中填入你的 R2/S3 绑定域名,列表中的“CDN 链接”会自动更新,无需重新部署代码。

🤝 技术栈#

  • Frontend: Native HTML5/JS, Tailwind CSS (CDN), Lucide Icons
  • Backend: Cloudflare Pages Functions, Hono, aws4fetch

📄 License#

MIT License

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

R2/S3 管理面板
https://blog.nth2miss.cn/posts/s3-manager/
作者
Nth2Miss
发布于
2026-02-03
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00