这个项目实现了一个基于 Cloudflare Workers 和 R2 存储的 WebDAV 服务器。它允许用户通过 WebDAV 协议访问和管理存储在 Cloudflare R2 中的文件和目录。

点击下面的按钮,一键将此项目部署到您的Cloudflare Workers账户:
注需要有Cloudflare账户才能使用此功能。如果您还没有账户,可以在[Cloudflare官www.cloudflare.com)注册。
如果您需要自定义配置或想要深入了解部署流程,请按以下步骤操作:
Fork 这个仓库到您的 GitHub 账户。
https://github.com/aigem/CFr2-webdav
在您的 GitHub 仓库中,转到 Settings -> Secrets and variables -> Actions,添加以下 secrets:
CLOUDFLARE_API_TOKEN: 步骤1的 Cloudflare API 令牌 (必须)USERNAME: WebDAV 服务器的用户名 (可选,默认为 _user)PASSWORD: WebDAV 服务器的密码 (可选,默认为 _pass)BUCKET_NAME: 的 R2 存储桶名称 (可选,默认为 bucket 如果与你实际的bucket不符,则GithubAction部署会失败)按上面操作完成后就会自动进行部署到CF Worker中,或将任何更改推送到 GitHub 仓库的 main 分支,或者手动运行 GitHub Actions 工作流。GitHub Actions 将自动触发部署流程。
您可以在 GitHub 仓库的 Actions 标签页中查看部署进度。部署成功后,您可以在 Cloudflare Workers 仪表板中找到您的 Worker URL。
使用任何支持 WebDAV 协议的客到您的 Worker URL,使用配置的用户名和密码进行身份验证。
如果您需要在本地进行开发和测试,请按以下步骤操作:
同上面步骤1 :配置 Cloudflare
克隆仓库到本地:
git clone https://github.com/aigem/CFr2-webdav.git
cd cf-r2-webdav
安装依赖:
npm install
修改wrangler.toml.template为wrangler.toml文件,并修改为你的实际参数:
使用 Wrangler 进行本地开发:
npx wrangler dev --local
注意:本地开发可能无法完全模拟 Cloudflare Workers 环境,特别是 R2 存储的操作。
欢迎提交 Pull Requests 或创建 Issues 来改进这个项目。
本项目采用 MIT 许可证。