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
直接复制即可。