OpenList + WebDAV:打造万能的 NAS 播放网关

OpenList + WebDAV:打造万能的 NAS 播放网关
如果你拥有 NAS(群晖、威联通、Unraid)或者使用了 Alist 这样的网盘挂载工具,你可能遇到过这种挫折:
- 在 NAS 上开启了 WebDAV 服务。
- 兴冲冲地在各类 Web 播放器里输入 WebDAV 地址。
- 播放失败(通常是网络错误或无限转圈)。
为什么这么难?罪魁祸首通常是一个叫 CORS(跨域资源共享) 的浏览器安全机制。
痛点一:跨域地狱 (CORS Hell)
现代浏览器非常严格。它们通常不允许一个网页(比如我们的播放器 onlineplayer.app)去读取另一个服务器(你的 NAS home.my-nas.com)上的文件,除非那个服务器显式地回复说:“我允许你读取”。
遗憾的是,绝大多数 NAS 的 WebDAV 原生服务默认都不包含这些允许头。想要配置它,你通常需要 SSH 连进 NAS,修改底层的 Nginx 配置——这对于普通用户来说太硬核了。
痛点二:分散的存储孤岛
你可能电影存在群晖里,电视剧存在阿里云盘挂载的 Alist 里,以前的旧照片又存在一台老旧的 QNAP 里。每次看不同的内容,都要切换不同的入口或 App。
解决方案:OpenList 作为万能网关
这就是为什么我们推荐 OpenList。它不仅仅是一个文件列表程序,它实际上是你家庭数据的 "万能网关"。
graph LR
Browser[OnlinePlayer (网页端)] -->|HTTP/HTTPS| OL[OpenList 网关]
OL -->|WebDAV| Synology[群晖 NAS]
OL -->|WebDAV| QNAP[威联通 NAS]
OL -->|API| Alist[Alist / 云盘]
为什么这个架构更优?
- 终结跨域问题:OpenList 专为现代 Web 设计,它会发送正确的 CORS 头。OnlinePlayer 连接 OpenList 时,就像走高速公路一样畅通无阻。
- 协议"翻译官":你的浏览器不需要懂 WebDAV 协议(这需要复杂的 Javascript 库)。OpenList 在服务端处理 WebDAV 通信,然后把文件以标准的 HTTP 流推给浏览器。
- 统一入口:你可以在 OpenList 后台把群晖、威联通、Alist 全部挂载进来。在 OnlinePlayer 眼里,它们就只是
/nas、/aliyun这样不同的文件夹而已,体验完全一致。
实战:三步打造播放中心
第一步:在 OpenList 挂载 WebDAV
- 登录你的 OpenList 管理后台。
- 进入 存储 (Storage) -> 添加 (Add)。
- 选择驱动为 WebDAV。
- 填写你的 NAS 信息:
- 挂载路径:例如
/synology-movies - 地址:
http://192.168.1.10:5005(如果是内网) 或你的 DDNS 域名 - 用户名/密码:NAS 的账号密码。
- 挂载路径:例如
第二步:连接 OnlinePlayer
- 打开 onlineplayer.app。
- 点击 OpenList 图标。
- 输入你的 OpenList 地址、用户名和密码。
这就搞定了。 现在你可以流畅播放 NAS 里的 4K 原盘电影,不用担心跨域报错,也不用在 NAS 上装任何难用的插件。
关于性能
"中间加了一层 OpenList,会变慢吗?"
几乎不会。 OpenList 做的是流式透传(Streaming Proxy)。它收到 NAS 的数据包后立刻转发给浏览器,不会等文件下载完。只要你的 OpenList 和 NAS 之间的连接够快(通常都在同一个局域网或 Docker 网络里),增加的延迟可以忽略不计(< 1ms)。
总结
既然浏览器不喜欢旧时代的 WebDAV,那就别强求。用 OpenList 作为一个现代化的中间层,把那些“顽固”的存储设备统统接管过来。这才是 2025 年该有的家庭媒体中心架构。