在 Mac 上访问阿里云盘、115、夸克

配合 OpenList 使用 — 大约 10 分钟,需要一台常开的设备。

阿里云盘、115、夸克、百度、迅雷这类网盘,没有向第三方应用开放可以直接接入的通道。它们的开放平台需要国内主体资质、逐个审核,而且授权随时可能被收回 — 社区项目 Alist 就先后失去过 123 云盘、阿里云盘和 115 的授权。

PolyDrive 的做法是不去自己维护这些随时会断的通道,而是支持 OpenList:一个开源的网盘聚合服务,由社区维护这些网盘的对接。你把 OpenList 部署起来,PolyDrive 连接它,就能在访达里像本地文件夹一样使用这些网盘。

这条通道的稳定性不由 PolyDrive 保证。网盘厂商随时可能调整策略,届时需要等待 OpenList 上游跟进。如果你有重要资料存在这些网盘里,请不要把它当作唯一的访问方式。

开始之前

第一步 · 部署 OpenList

用 Docker

mkdir -p /etc/openlist && docker run -d --restart=unless-stopped \
  -v /etc/openlist:/opt/openlist/data -p 5244:5244 \
  -e UMASK=022 --name openlist openlistteam/openlist:latest

查看自动生成的管理员密码:

docker logs openlist | grep -i "initial password"

群晖 / QNAP

在 Container Manager(套件中心的 Docker)里搜索 openlistteam/openlist,映射 5244 端口和一个数据目录,其余参数同上。

完成后

浏览器打开 http://<设备IP>:5244,用 admin 和上一步得到的密码登录。第一件事是改掉这个密码。

第二步 · 在 OpenList 里添加网盘

在后台进入「存储」→「添加」。

网盘选择的驱动获取凭证
阿里云盘 阿里云盘 Open 勾选「使用 OpenList 提供的参数」,ClientID 和 AppKey 都留空,点「获取令牌」,手机扫码,再把得到的 Refresh Token 填回去
115 115 Open 同样是扫码授权流程
夸克 / 百度 / 迅雷 / 天翼 各自对应的驱动 一般是填 Cookie 或扫码

挂载路径填 /aliyun、/115 这样的名字 — 它会成为你在访达里看到的目录名。

顺手改一个设置:缓存时间

在存储配置里找到 cache_expiration(缓存过期时间,单位是分钟),默认 30。OpenList 会把每个目录的列表缓存起来,在这段时间内,你刚在网盘 App 里新增的文件在访达中看不到。想让新文件更快出现,就把它调小。

不要填 0。填 0 不是关闭缓存,而是让缓存条目变成事实上永久有效 — 新增的文件将永远不出现,连更新存储配置都清不掉。

填 1 的实际生效时间约 70 秒,是个合理的选择。如果只想给某些目录加速,用 CustomCachePolicies,每行一条 glob:ttl。

第三步 · 创建一个给 PolyDrive 用的账号

不要把 admin 的密码交给任何客户端。在后台进入「用户」→「添加」,然后必须勾选这三项权限:

OpenList 管理后台的「添加」用户表单。「权限」下的复选框中,「写入内容(创建/上传/修改)」「WebDAV 读取」「WebDAV 管理」三项已勾选,「隐藏可见」「重命名」「移动」「删除」「FTP 读取」等其余各项均未勾选。
「权限」下要勾的就是这三个:写入内容(创建/上传/修改)、WebDAV 读取、WebDAV 管理。其余保持不勾。复选框会随窗口宽度换行,所以认文字、不要认位置。点开可看大图。

为什么一个“只读”账号会出问题

PolyDrive 的「从服务器刷新」会主动让 OpenList 丢弃目录缓存(发起一次 refresh=true 的列举),否则你拿到的永远是最多 30 分钟前的旧列表。而 OpenList 要求发起刷新的账号在该路径上有写权限:只给读取和管理权限(权限值 768)会被拒绝,加上写入位(776)才能通过。

只读账号不会报错,只会让刷新静默失效 — PolyDrive 会一直告诉你“已是最新”,因为它从服务器拿到的答案确实逐字节没变。

这不只影响“看不到新文件”。目录缓存里过期而偏小的文件大小,可能让一次分段读取被提前截断。请不要给 PolyDrive 用只读账号。

第四步 · 在 PolyDrive 里连接

在 PolyDrive 中添加存储,选择 OpenList,然后填写:

连接成功后,你在 OpenList 里挂的所有网盘,会作为子目录出现在访达的同一个位置下。

从外网访问:不要直接把 5244 端口暴露到公网。用 Tailscale 之类的组网工具,或者用反向代理配上 HTTPS。

排查

现象原因解决
网盘 App 里新增的文件,访达里看不到;点刷新说“已是最新” OpenList 的目录缓存没有被清除 检查 PolyDrive 用的账号是否勾了「写入内容(创建/上传/修改)」,并把 cache_expiration 调小
出现 403 Refresh without permission 同上,账号缺少写权限 补上权限后重新连接
目录能正常列出,但打开文件失败或卡住 客户端跟不了 302 跳转 在该存储的配置里,把 WebDAV 策略从「302 重定向」改成「使用代理 URL」。流量会经 OpenList 中转,慢一些但兼容性更好
报 Too Many Requests 触发了网盘的频率限制 等几分钟。避免短时间内大量遍历目录
某个网盘突然全部无法访问,例如报 UserNotAllowedAccessDrive 上游授权被限制 这是网盘厂商侧的变化,请关注 OpenList 的更新
用了一段时间后授权失效 Refresh Token 过期或被撤销 回到 OpenList 后台,对该存储重新扫码授权

添加驱动时找不到对应的名字

OpenList 的驱动名称区分大小写,而且不一定符合直觉(例如通用的 WebDAV 驱动叫 WebDav,不是 WebDAV)。以后台列表里显示的名字为准。

使用前请了解

按这份指南走完仍然连不上?写信到 info@polydrive.net,并附上应用内错误对话框里 Copy Diagnostics(拷贝诊断信息)按钮给出的内容。另见疑难解答。

一次性买断,没有订阅。需要 macOS 15.4 或更高版本。

在 Mac App Store 下载 PolyDrive