前言
这两年阿里云盘从内测到现在慢慢已经普及,相比百度和天翼云盘,目前免费阿里云盘没有限速,也支持文件分享转存,所以很多小伙伴就开始相互分享一些影视文件.也有大神开发出了开源服务,将阿里云网盘部署成为一个 WebDAV 服务,让用户可以使用infuse,nPlayer等等客户端连接在线观看.
原理
首先需要说明的是,webdav-aliyundriver
的原理是,当用户通过此程序在线观看或者下载时,是由webdav-aliyundriver
所在的服务器代理去从阿里云盘中下载,并不像 OneDrive 之类的云盘是获取直连地址.
所以部署的服务器需要足够大的带宽,国内外的 VPS 都有带宽,线路,流量的限制,体验并不一定好,而国内家用宽带普遍都是1000M,连接阿里云的速度也非常给力.所以部署到家里群晖 NAS 中是非常好的选择.
部署
获取阿里云盘 Token
登陆阿里云盘 https://www.aliyundrive.com/drive
按F12
打开开发者模式
点击 Application - Local Storage
选中右侧的 token
复制下方refresh_token
,注意无需复制双引号.
群晖 docker 部署
创建挂载文件夹
在任意目录创建文件夹用于挂载refresh_token
更新数据.本文以docker/aliyunpan
为例.
下载镜像
docker - 注册表 - 搜索webdav-aliyundriver
下载zx5253/webdav-aliyundriver
启动容器
docker - 映像
选择zx5253/webdav-aliyundriver
启动
配置高级设置
勾选使用高级权限执行容器
高级设置 -启用自动重新启动
高级设置 - 存储空间
添加文件夹选择上文创建的docker/aliyunpan
装载路径填写/etc/aliyun-driver
高级设置 - 端口设置
默认容器端口为8080
,为避免于其他可能存在的服务端口冲突,映射本地端口,本文以12345
为例.
高级设置 - 环境 - 添加以下变量
ALIYUNDRIVE_REFRESH_TOKEN
为上文获取的refresh_token
ALIYUNDRIVE_AUTH_USER-NAME
为 WebDAV 设置用户名ALIYUNDRIVE_AUTH_PASSWORD
为 WebDAV 设置密码
继续下一步完成启动容器
使用
WebDAV 为标准通用协议,支持 HTTP 和 HTTPS ,本文并未部署在公网,所以 HTTP 即可,下文将使用infuse和群晖 NAS来作为客户端连接测试.其他客户端也同样使用IP,端口,账号,密码来登陆.
infuse 测试 (nPlayer同理)
打开 infuse - 文件 - 新增文件来源
添加 WebDAV
填写群晖 NAS 内网 IP ,端口和账号密码.
成功连接
群晖 NAS 挂载 WebDAV 测试
直接在群晖内挂载此 WebDAV 就可以在群晖的文件管理里随时访问,下载阿里云盘.
打开 File Station - 工具 - 远程连接 - 连接设置
选择 WebDAV
主机 IP 填写群晖内网 IP,端口填写上文映射的端口,在填写账号密码完成.
成功挂载至群晖 NAS 本地,将需要下载的文件从网盘中直接拖到本地其他目录即可开始下载.
无用功能
挂载到群晖上的服务,在没有公网IP的情况下,使用NPS方式内网穿透出来,就可以在 infuse/nPlayer上随时随地的观看了。