使用阿里云盘打造免费 WebDAV 服务
项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让阿里云盘变身为webdav协议的文件服务器。 基于此,你可以把阿里云盘挂载为Windows、Linux、Mac系统的磁盘,可以通过NAS系统做文件管理或文件同步,更多玩法等你挖掘
docker-hub地址:
https://registry.hub.docker.com/r/messense/aliyundrive-webdav
原理
首先需要说明的是,aliyundrive-webdav
的原理是,当用户通过此程序在线观看或者下载时,是由aliyundrive-webdav
所在的服务器代理去从阿里云盘中下载,并不像 OneDrive 之类的云盘是获取直连地址.
所以部署的服务器需要足够大的带宽,国内外的 VPS 都有带宽,线路,流量的限制,体验并不一定好,而国内家用宽带普遍都是100-1000M,连接阿里云的速度也非常给力.所以部署到家里群晖 NAS 中是非常好的选择.
获取阿里云盘 Token
- https://messense-aliyundrive-webdav-backendrefresh-token-ucs0wn.streamlit.app/
- 命令行运行
aliyundrive-webdav qr login
扫码授权后会输出 refresh toke
使用docker创建阿里云盘的Webdav服务
项目地址:zxbu/webdav-aliyundriver(opens new window)
项目地址:messense/aliyundrive-webdav(opens new window)
docker run运行
docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \
-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN='your refresh token' \
-e WEBDAV_AUTH_USER=admin \
-e WEBDAV_AUTH_PASSWORD=admin \
messense/aliyundrive-webdav
docker-compose运行
version: '3.3'
services:
aliyundrive-webdav:
container_name: aliyundrive-webdav
restart: unless-stopped
ports:
- '8080:8080'
environment:
- REFRESH_TOKEN='your refresh token'
- WEBDAV_AUTH_USER=admin
- WEBDAV_AUTH_PASSWORD=admin
image: messense/aliyundrive-webdav
使用Infuse连接阿里云盘的Webdav服务
连接信息
这里的用户名默认是admin,密码就是刚才设置的WEBDAV_AUTH_PASSWORD
路径不选择默认是根目录/
连接成功
4K效果真的很赞
群晖 docker 部署
创建挂载文件夹
在任意目录创建文件夹用于挂载refresh_token
更新数据.本文以docker/aliyunpan
为例.
下载镜像
docker - 注册表 - 搜索messense/aliyundrive-webdav
下载messense/aliyundrive-webdav
启动容器
docker - 映像
选择messense/aliyundrive-webdav
启动
勾选启用自动重新启动
配置高级设置
高级设置 - 环境 - 添加以下变量
REFRESH_TOKEN
为上文获取的refresh_token
WEBDAV_AUTH_USER
为 WebDAV 设置用户名WEBDAV_AUTH_PASSWORD
为 WebDAV 设置密码
高级设置 - 端口设置
默认容器端口为8080
,为避免于其他可能存在的服务端口冲突,映射本地端口,本文以12345
为例.
高级设置 - 存储空间
添加文件夹选择上文创建的docker/aliyunpan
装载路径填写/etc/aliyundrive-webdav
继续下一步完成启动容器
使用
WebDAV 为标准通用协议,支持 HTTP 和 HTTPS ,本文并未部署在公网,所以 HTTP 即可,下文将使用infuse
和群晖 NAS
来作为客户端连接测试.其他客户端也同样使用IP
,端口
,账号
,密码
来登陆.
infuse 测试
打开 infuse - 文件 - 新增文件来源
添加 WebDAV
填写群晖 NAS 内网 IP ,端口和账号密码.
成功连接
群晖 NAS 挂载 WebDAV 测试
直接在群晖内挂载此 WebDAV 就可以在群晖的文件管理里随时访问,下载阿里云盘.
打开 File Station - 工具 - 远程连接 - 连接设置
选择 WebDAV
主机 IP 填写群晖内网 IP,端口填写上文映射的端口,在填写账号密码完成.
成功挂载至群晖 NAS 本地,将需要下载的文件从网盘中直接拖到本地其他目录即可开始下载.
完成。