为什么 Mac 用户会搜到这个页面
多半是因为想在访达(Finder)里直接双击一个躺在 S3、阿里云 OSS 或者阿里云盘上的文件,而 macOS 本身并不提供这个能力。
传统解法是加一层 FUSE 驱动:macFUSE 配 s3fs,或者 rclone mount,或者某个基于同一套底座的商业挂载工具。它们都要装内核扩展。在 Apple Silicon 上装内核扩展意味着重启进恢复模式,在启动安全性实用工具里把安全策略改成降低安全性,回到系统设置里批准这个扩展,然后再重启一次。等到下一个 macOS 大版本发布,还得赌一把驱动能不能继续加载。
还有另一条路,用的是 Mac 早就会说的协议:WebDAV。Finder 自带 WebDAV 客户端,让它去连本机上的一个服务,前面那一整套内核扩展流程就都不需要了。
在 Mac 上启动 WebDAV 服务器
在 AnyStorage 侧边栏找到服务,切到 WebDAV 标签页,点 Start。服务就跑在 http://127.0.0.1:3211 上了。3211 如果和你已有的东西撞端口,1 到 65535 之间随便换一个。
HTTP Basic 认证是常开的,没有匿名模式可以误开着。用户名默认 anystorage,密码在第一次启用时自动生成,24 位随机字符。两者都能改,旁边有 Regenerate 按钮;URL、用户名、密码各带一个复制按钮,因为这三样待会儿都要往 Finder 里粘。
开关保持打开,下次启动 app 的时候服务会自己起来。它是被你打开过一次才起来的,不是我们替你决定的。
在 Finder 里挂载
Finder 菜单栏选前往,再选连接服务器(英文界面是 Go → Connect to Server),快捷键 Cmd+K。粘贴 http://127.0.0.1:3211,点连接,在验证框里选注册用户,填 WebDAV 标签页里那对用户名和密码。
卷挂上之后,当前在 AnyStorage 里处于已连接状态的每一个存储,都会以连接名的形式出现在根目录下:一个 S3 桶、一个 Cloudflare R2 桶、阿里云 OSS、腾讯云 COS、阿里云盘、Google Drive、一台 SFTP 机器,甚至只是本地的某个文件夹。能这样暴露出来的连接类型一共有 20 种。
有个细节我们宁可提前讲清楚:连接是懒加载的。app 重启之后,某个连接要先在 app 里打开过一次,才会出现在 WebDAV 根目录下。点进那个标签页,文件夹就有了。反过来,服务运行期间新加的连接会直接出现,不用重启服务。
实际用起来是什么感觉
读取走 HTTP Range 流式传输,所以在 IINA 或者 QuickTime 里把进度条拖到一个大视频的中段,不会先把整个文件拉下来。空格快速查看可用。从桶里把一整个文件夹的 RAW 拖到桌面也可用。任何带标准打开对话框的 Mac 应用都能访问这个挂载点,这才是重点:Finder 只是其中一个客户端,不是唯一那个。
Finder 同时也是出了名的话痨型 WebDAV 客户端。每进一个目录就发一串 PROPFIND,顺手往里写 .DS_Store,还要去探测一堆根本不存在、以 ._ 开头的伴生文件。如果服务器在公网另一头,这些往返正是“WebDAV 好慢”这个印象的来源。但服务跑在 127.0.0.1 上,每次往返都是亚毫秒级,话痨就不再是问题。剩下的延迟来自真正的后端存储,那部分按需拉取。
目录特别大的时候,列目录依然慢。慢在后端 list 本身,本地服务解决不了这件事。
几条限制,先摆在明面上
- 免费版是只读的。浏览、播放、把文件复制出来都没问题;往回写需要 Pro 授权的完全控制模式。Pro 用户也可以主动把服务钉成只读,拿一个不熟的 app 对着生产数据试的时候,这是个好习惯。
- 当前版本没有 TLS。端点是明文 http,认证是 HTTP Basic,这正是我们默认只绑 127.0.0.1 的原因。局域网访问是个可选项,打开时 app 会明确警告:凭据会以明文形式在网络上传输。
- 没有文件锁。两台机器同时改挂载上的同一个文档,这个场景服务不做保护,别把它当成团队协作的基础设施。
- 顶层的连接文件夹不能通过 WebDAV 改名或删除,也不能在挂载里把文件直接从一个连接搬到另一个连接。跨存储的搬运回 app 里做,那边是带进度显示的正经传输任务。
整个过程没碰内核。不用输管理员密码,没有配置文件要手改,没有缓存模式参数要猜,下次升级 macOS 也不会因为你做过这些而翻车。