想要一个随手能访问的私人文件服务,很多人第一反应是「得搞台 VPS 一直开着」。电费、运维、被扫端口,想想就累。最近在 GitHub 上翻到一个挺新的项目——cf-free-webdav,思路很直接:把 WebDAV 整个架到 Cloudflare 上,请求交给 Worker,文件塞进私有 R2 桶,不用常驻服务器、也不用数据库。

不想常开服务器

它到底是啥

cf-free-webdav 是一个单用户的 WebDAV 服务,用 Cloudflare Workers + R2 搭起来的。Worker 负责收 WebDAV 请求、处理 HTTPS 和 Basic Auth,文件则存在你自己的私有 R2 bucket 里。整个服务的「机器」就是 Cloudflare 的边缘节点,没有一台需要你 7×24 开着的主机。

所以它解决的核心痛点很明确:省掉那台一直转的服务器,同时还能让你常用的 WebDAV 客户端(比如各平台文件管理器、播客/视频播放器、同步工具)直接接入。

文件走哪条路

结构不复杂,就一条单向链路:

WebDAV 客户端 →(HTTPS + Basic Auth)→ Cloudflare Worker → 私有 R2

部署完之后,你只要把 Worker 提供的 /dav/ 地址、用户名和密码,填进任意支持 WebDAV 的客户端就行。默认用户名是 webdav,密码则要在 Cloudflare 里设成一个 Secret(WEBDAV_PASSWORD)——在设好之前,Worker 对 WebDAV 请求一律返回 503,逼着你先把鉴权配好。

Worker 接请求,R2 存文件

自带网页管理 + 临时分享

除了标准 WebDAV 接口,项目还附带一个管理页,能干这些事:

  • 浏览目录、新建文件夹
  • 上传、下载、重命名、删除文件
  • 查看 R2 存储占用,以及 A 类 / B 类操作的用量

更实用的是签名分享链接:可以给单个文件生成 1 小时 / 1 天 / 7 天 / 30 天 有效的临时链接。拿到链接的人在过期前不需要 Basic Auth 就能下载,而且链接支持 Range 请求——很适合丢给视频播放器边下边播。

不过有个边界要记牢:它只能分享单个文件,不能分享整个目录。所以这类链接就当公开链接对待,别随手把敏感文件的链接甩到群里。

免费额度有,但别当「无限」

截至发文时,Cloudflare 的免费额度大致是这样(以官方定价页为准,可能调整):

资源 R2 Standard 免费额度
存储 每月 10 GB-month
Class A 操作(写/列目录等) 100 万次 / 月
Class B 操作(读等) 1000 万次 / 月
Workers 入站请求 10 万次 / 天
出站流量 免费

R2 的出站流量本身是免费的,但超出免费额度就可能产生费用,而且账户得先手动启用 R2。项目名里那个 “Free” 是「用免费层能跑」,不是「费用封顶」——这点心态要摆正。

用量熔断:到 80% 就拦写入

项目自带一层用量熔断机制:当用量估算达到你配置额度的 80%,就停止写入,但读取和删除还能继续用。默认额度就是上面那套免费档(100 万 A 类、1000 万 B 类、10 GiB 存储)。

用量先由 Worker 自己估算;如果你还会从 R2 控制台或 API 直接操作文件,可以再配一个 Cloudflare Analytics Token,让项目每 6 小时做一次官方用量校准。但 README 也老实说了:Worker 估算不会包含那些外部操作,官方统计又有延迟,所以熔断只能帮你控风险,不能当成硬性账单上限。

另外提醒一句:WebDAV 的目录 PROPFIND 会消耗 Class A 操作,同步客户端要是频繁扫目录,额度掉得比你想的快。建议先盯着实际用量,再决定同步频率。

用量到 80% 自动熔断

协议和大文件都有边界

这不是一个完整的 WebDAV 实现,边界得看清:

  • 不支持 LOCK / UNLOCK,也不持久化自定义属性。依赖这些能力的客户端(某些同步软件)可能没法正常跑。
  • Cloudflare Free 单次请求体上限是 100 MB,所以单次 PUT 传不了超过 100 MB 的文件,项目也没实现分块上传。
  • COPY 和 MOVE 不是原子操作;目录递归操作最多处理 1000 个对象。

简单说:拿它当个人小文件的中转和访问层没问题,别指望它能顶替企业级同步盘。

我的判断

翻仓库记录,这项目 2026 年 10 月初才创建,到发文时还没有正式 Release,属于很新的阶段。README 把部署、额度和协议限制都写得挺清楚,但缺少长期使用的反馈可以参考。

如果你手头已经有顺手的 WebDAV 客户端,也愿意自己管 Cloudflare 账户和账单,那它可以作为个人文件访问服务试一试。它帮你省掉的是「常开一台服务器」,但不会替你省掉部署、用量管理和备份这三件事。

我的建议很朴素:先拿非关键文件试运行,重要文件一定留一份独立备份,别把新项目当成唯一存储。


cf-free-webdav Cloudflare WebDAV MIT TypeScript

一个跑在 Cloudflare Workers + R2 上的单用户 WebDAV 服务:Worker 处理请求与鉴权,文件存进私有 R2 桶,无需常驻服务器或数据库,自带网页管理与临时分享链接。

★ 30GitHub Star
⑂ 12GitHub Fork
MIT开源协议
WebDAV Cloudflare R2 Workers 私人网盘 免服务器

项目地址:github.com/CallMeKingsley97/cf-free-webdav | 中文文档