跳到主要内容
AnyStorage
免费下载

Cloudflare R2 挂载

把 Cloudflare R2 挂载为本地磁盘

Cloudflare R2 没有官方桌面挂载工具。在 AnyStorage 连上 R2,启动 WebDAV 服务(端口 3211),就能在访达或文件资源管理器里打开 bucket。

用一个本地 WebDAV 端点,把 Cloudflare R2 的 bucket 变成访达或文件资源管理器里能直接打开的磁盘,不装 FUSE 驱动。

Cloudflare R2 挂载,R2 映射网络驱动器,R2 桌面客户端

R2 的 API 是 S3 的,文件管理器里却看不到它

选 Cloudflare R2 的理由通常就两条:API 兼容 S3,现有 SDK 和工具链不用改;出口流量不收钱。于是构建产物、发版二进制、设计稿、数据库备份、静态资源全丢进 R2,再也不用算一遍取回来要花多少钱。

然后你需要取一个文件。不是跑流水线,也不是同步,就是一个文件,用普通软件打开它。这时候你只能回 Cloudflare 后台,或者敲 aws s3 cp 手动加上 --endpoint-url,再不然就是 wrangler。没有官方桌面端能把 bucket 塞进访达或文件资源管理器。

这件事你自己就能做,而且不用装内核驱动。

先拿到 R2 的密钥

R2 走的是 S3 协议,所以你需要一对 S3 风格的密钥和一个 endpoint。在 Cloudflare 控制台打开 R2,在 R2 API 令牌页面创建一个 token,会拿到 Access Key ID 和 Secret Access Key,其中 Secret 只显示一次。endpoint 跟账号 ID 绑定,形如 https://ACCOUNT-ID.r2.cloudflarestorage.com。

两个习惯建议保持:

  • 令牌只授权给真正要用的 bucket,别顺手给整个账号的权限。
  • 如果只是拉构建产物、看一眼上传结果,就签一个只读令牌。反正后面要用的 WebDAV 服务,免费版本身就是只读的。

在 AnyStorage 里连上 bucket

AnyStorage 是一个桌面存储浏览器,支持 macOS 11 及以上、Windows 10 及以上、Ubuntu 20.04 及以上,Apple Silicon 和 Intel 都能跑,免费下载,不用注册账号。新建连接,选 Cloudflare R2,把 endpoint 和那对密钥填进去。

在应用里,bucket 就是一棵目录树:多标签页、搜索、预览、传输队列。日常大部分活儿到这一步就结束了。

挂载是留给剩下那部分的。

用内置 WebDAV 把 Cloudflare R2 挂载为本地磁盘

AnyStorage 自带一个 WebDAV 服务器。侧边栏点开「服务」,切到 WebDAV 标签,点启动。默认监听 http://127.0.0.1:3211,端口可以改成 1 到 65535 之间的任意值。保持开启,下次启动应用时它会自己起来。

HTTP Basic 认证一直是开着的。默认用户名 anystorage,密码是首次使用时随机生成的 24 位字符,两者都能改,旁边有重新生成和复制按钮。

没有一键挂载按钮。你复制那个地址,然后用系统自带的工具挂上去:

  • macOS:访达 → 前往 → 连接服务器(Cmd+K),粘贴 http://127.0.0.1:3211,选「注册用户」,填应用里的用户名和密码。
  • Windows:文件资源管理器 → 此电脑 → 映射网络驱动器,粘贴同一个地址。
  • Linux 和其他情况:任何会说 WebDAV 的客户端都行,播放器、备份工具也算。

当前在应用里处于连接状态的每一个存储连接,都会以连接名作为文件夹出现在 WebDAV 根目录下。R2 的 bucket 和你打开的其他东西并排放着,能出现在这里的连接类型一共 20 种,从 S3、B2 到阿里云 OSS、腾讯 COS、阿里云盘、SFTP、本地文件夹。

不用 macFUSE,不用在 Apple Silicon 上降级安全启动,不用装 WinFsp 驱动,不需要管理员权限,也没有配置文件要写。

日常能省下什么

读取是流式的,支持 HTTP Range,所以在文件中间跳着读,不需要先把整个文件拖下来。

  • 在访达里直接把构建产物拖出来,不用先给自己签一个预签名 URL。
  • 用快速查看翻一遍图片目录,确认这次部署到底传上去了什么。
  • 用普通播放器直接拖进度条看 R2 里的视频。
  • 让支持 WebDAV 的备份工具往里写(需要 Pro 并开启写权限)。

有哪些限制

免费版的 WebDAV 服务是只读的。要通过挂载写入,需要 Pro 授权并切到完全控制模式;即使是 Pro,你也可以主动锁成只读。

没有 TLS。地址是明文 http,认证是 Basic,这也是我们默认只绑 127.0.0.1 的原因。局域网模式会绑到 0.0.0.0,打开时应用会明确警告你,因为密码是明文过网的。

还有三件事。应用重启之后,R2 连接要在应用里打开过一次,才会出现在 WebDAV 根目录下,因为连接是懒加载的;新建的连接不用重启服务就能看到。没有文件锁,两台机器同时改同一个文件这件事它保护不了。顶层的连接文件夹不能通过 WebDAV 改名或删除,也不能在挂载里把文件从一个连接直接拖到另一个连接,跨连接请先拷回本地。

Windows 那边还有一份自己的清单。系统自带的 WebClient 服务到 2026 年已经处于弃用状态,而且通常没在跑,先去 services.msc 里启动它。Windows 默认还拒绝 HTTP 上的 Basic 认证:注册表 HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 下的 BasicAuthLevel 默认只允许 SSL 上的 Basic,要改成 2 再重启 WebClient。不改的话,症状是提示文件夹无效(英文原文 The folder you entered does not appear to be valid)、系统错误 67,或者 0x80070043。传输上限 FileSizeLimitInBytes 默认是 50,000,000 字节,超过就报 0x800700DF。换一个第三方 WebDAV 客户端可以绕开这一整套。

要搬几千个对象,还是回应用里用传输队列。挂载解决的是另一类问题:某个程序需要看见某个文件。