2021年阿里云盘横空出世,一降世就宣称不限速,确实把我吸引住了。本来我准备把百度云盘里面的东西转移到阿里云盘,但发现阿里云盘有很多文件限制了共享,比如:系统镜像,所以后面就考虑把它作为群晖的一个备份盘使用,需要把阿里云盘挂载到本地或者群晖就需要先实现阿里云盘WebDAV服务。

什么是WebDAV服务?
WebDAV ,全称是Web-based Distributed Authoring and Versioning,维基百科上对它的解释是这样的:基于Web的分布式编写和版本控制(WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。

白话文一点的解释,如果某产品比如云网盘,是支持WebDAV的,那么该网盘的用户就能通过WebDAV与其他产品(如WPS、PDF Expert)等连接,快速实现数据传递、数据存储,而不用再复制、粘贴文件到云端。

国外网盘:Box、Dropbox、teracloud、yandex、TransIP
国内网盘:坚果云、城通网盘
私有云:OwnCloud、Seafile 、群晖

准备

  • docker
  • aliyundrive-webdav

什么是docker?
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。

Docker通常用于如下场景:

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

如何安装 docker ? 可以参考文章《Armbian5.9.0如何安装docker及部署可视化portainer

aliyundrive-webdav 是 docker 中用于使阿里云盘支持WebDAV服务的镜像。

aliyundrive-webdav仓库

aliyundrive-webdav Github:https://github.com/messense/aliyundrive-webdav
aliyundrive-webdav dockerHub:https://hub.docker.com/r/messense/aliyundrive-webdav

创建 aliyundrive-webdav 容器

使用 SSH 工具连接服务器,SSH 工具有很多,如:Putty、FinalShell、MobaXterm、xshell、secureCRT等,个人比较推荐MobaXterm 和 FinalShell。

SSH 命令窗口输入以下命令

docker run -d \
--name=aliyundrive-webdav \
--restart=always \
-p 8080:8080 \
-v $PWD/docker/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
 -e REFRESH_TOKEN='your refreshToken' \
 -e WEBDAV_AUTH_USER=admin \
 -e WEBDAV_AUTH_PASSWORD=admin \
 messense/aliyundrive-webdav

解释:
name=aliyundrive-webdav 设置容器的名字为:aliyundrive-webdav
--restart=always 设置容器为开机自启动
-p 8080:8080 设置端口映射,通过 8080 端口可以访问到WebDAV
-v $PWD/docker/aliyundrive-webdav/:/etc/aliyundrive-webdav/ 设置存储目录为:用户目录/docker/aliyundrive-webdav/
-e REFRESH_TOKEN='your refreshToken' 设置阿里云盘的 token 需要根据实际情况填写,如何获取 token 后面会介绍
-e WEBDAV_AUTH_USER=admin 设置登录用户名为 admin
-e WEBDAV_AUTH_PASSWORD=admin 设置登录密码为 admin
messense/aliyundrive-webdav 设置拉取的镜像名称,不设置版本的话默认是最新版本,指定版本,如:messense/aliyundrive-webdav:1.2.5
在这里插入图片描述
执行成功后,通过 docker 所在服务器的IP + 端口号可访问阿里云盘WebDAV,如:192.168.10.129:8080

在这里插入图片描述
输入上面设置好的登录账号(admin)和密码(admin),可成功访问WebDAV,效果见下图:

在这里插入图片描述
能看到阿里云盘中的文件代表 WebDAV 服务部署成功。
阿里云盘实现WebDAV后玩法很多,可通过:群晖、openWRT、Rclone、RaiDrive、Mac系统和Windows系统挂载阿里云盘,具体方法可参考:

网盘挂载

群晖通过WebDAV挂载阿里云盘
《openWRT通过WebDAV挂载阿里云盘》
《Rclone通过WebDAV挂载阿里云盘》
RaiDrive通过WebDAV挂载阿里云盘

客户端下载上传备注
群辉Cloud Sync可用可用使用单向同步非常稳定
Rclone可用可用推荐,支持各个系统
Mac原生可用可用
Windows原生可用有点小问题不建议,适配有点问题,上传报错
RaiDrive可用可用Windows平台下建议用这个

文件同步

《GoodSync + 阿里云盘实现文件同步》
群辉Cloud Sync + 阿里云盘实现文件同步

获取阿里云盘 token

通过谷歌浏览器打开阿里云盘官网并登录网页版:https://www.aliyundrive.com/drive/
登录阿里云盘,登录成功后,按 F12打开开发者工具

方法一:手动查找

在这里插入图片描述
开发者工具面板切换至 “应用”(未汉化的名称为:Network) ,找到 “存储” ,找到 aliyundrive.com 阿里云盘域名,从列表中找到 token ,在下方显示的信息中找到 refresh_token ,里面的值复就是我们所需的内容。

方法二:代码输出

开发者工具面板切换至 “控制台” (未汉化的名称为:Consloe),输入以下代码:

JSON.parse(window.localStorage["token"]).refresh_token;

在这里插入图片描述
在代码下发自动显示了 refresh_token 直接复制即可。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐