Skip to content

feat(driver/bunny_storage): add Bunny Storage driver#2472

Open
demogest wants to merge 2 commits into
OpenListTeam:mainfrom
demogest:bunny-storage-driver
Open

feat(driver/bunny_storage): add Bunny Storage driver#2472
demogest wants to merge 2 commits into
OpenListTeam:mainfrom
demogest:bunny-storage-driver

Conversation

@demogest
Copy link
Copy Markdown

@demogest demogest commented May 12, 2026

Description / 描述

Add a new Bunny Storage driver for OpenList.

新增 Bunny Storage 驱动。

Main changes / 主要变更:

  • 支持 Bunny Storage 的列表、上传、下载、创建目录、删除和按路径获取对象。
  • 支持可选 CDN 下载链接,并支持 Bunny CDN Token 签名。
  • 生成 CDN URL 时正确处理 OpenList 挂载路径。

Motivation and Context / 背景

新增Bunny.net的Storage支持,并同步支持Bunny.net CDN。

How Has This Been Tested? / 测试

  • Ran gofmt.
    已运行 gofmt
  • Ran go test ./drivers/bunny_storage ./drivers.
    已运行 go test ./drivers/bunny_storage ./drivers
  • Started OpenList locally and verified the driver appears in the admin driver list.
    已在本地启动 OpenList,并确认该驱动出现在后台驱动列表中。

Checklist / 检查清单

  • I have read the CONTRIBUTING document.
    我已阅读 CONTRIBUTING 文档。
  • I have formatted my code with go fmt or prettier.
    我已使用 go fmtprettier 格式化提交的代码。
  • I have added appropriate labels to this PR (or mentioned needed labels in the description if lacking permissions).
    Needed labels: Module: Driver, enhancement.
  • I have requested review from relevant code authors using the "Request review" feature when applicable.
    Draft PR: review will be requested after the direction is confirmed.
  • I have updated the repository accordingly (If it’s needed).
    Backend-only driver change; no frontend repository change is required.

Add Bunny Storage API support with optional CDN links and token signing.

Cover CDN mount path handling, token signing, and proxy/cache behavior with unit tests.
@demogest demogest marked this pull request as ready for review May 12, 2026 16:13
return d.handleResponseError(resp)
}

func (d *BunnyStorage) Get(ctx context.Context, path string) (model.Obj, error) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oplist已经不用Get方法获取根目录对象了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants