前言
博主有些重要数据,比如单反拍的照片,虚拟机备份存档,博客备份等等,希望能够不止存放在NAS上,毕竟一台NAS只能算的上是单点备份,硬盘挂了数据备份就没了,所以重要数数据我会定期归档备份到onedriver上,onedrive的存储空间有些捉急,只有20G,不是很够用。正好无意间看到GitHub上有个项目,可以把阿里云盘以webdav的形式挂载出来,尝试了一下,感觉很好用,写出来分享一下。
更新
更新 messense/aliyundrive-webdav 教程
messense/aliyundrive-webdav
使用rust编写,内存占用更低,性能更好,推荐使用
准备工作
1、首先注册个阿里云盘账号
2、一台x86_64、ARM64 NAS或PC
浏览器获取refreshToken
先通过浏览器(建议chrome)打开阿里云盘官网并登录:https://www.aliyundrive.com/drive/
登录成功后,按F12打开开发者工具,点击Application,点击Local Storage,点击 Local Storage下的 https://www.aliyundrive.com/,点击右边的token,此时可以看到里面的数据,其中就有refresh_token,把其值复制出来即可。(格式为小写字母和数字,不要复制双引号。例子:ca6bf2175d73as2188efg81f87e55f11)
运行docker webdav-aliyundriver
messense/aliyundrive-webdav rust版,内存占用低
docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \-v /etc/localtime:/etc/localtime \-e TZ=Asia/Shanghai \-e REFRESH_TOKEN=填写你刚刚获得的token' \ -e WEBDAV_AUTH_USER=admin \ -e WEBDAV_AUTH_PASSWORD=admin \ messense/aliyundrive-webdav
zx5253/webdav-aliyundriver 版,java版内存占用高
docker create \ --name=webdav-aliyundriver \ --restart=always \ -p 8080:8080 \ -v /etc/localtime:/etc/localtime \ -e TZ=Asia/Shanghai \ -e ALIYUNDRIVE_REFRESH_TOKEN="填写你刚刚获得的token" \ -e ALIYUNDRIVE_AUTH_PASSWORD="admin" \ -e ALIYUNDRIVE_AUTH_USER-NAME="admin" \ -e JAVA_OPTS="-Xmx1g" \ zx5253/webdav-aliyundriver
docker-compose.yml
messense/aliyundrive-webdav rust版,内存占用低
version: '3.3'services:aliyundrive-webdav:container_name: aliyundrive-webdavrestart: unless-stoppedports:- '8080:8080'environment:- 'REFRESH_TOKEN=mytoken...'image: messense/aliyundrive-webdav
zx5253/webdav-aliyundriver 版,java版内存占用高
version: '3'services:# https://github.com/zxbu/webdav-aliyundriverwebdav-aliyundriver:image: zx5253/webdav-aliyundrivercontainer_name: webdav-aliyundriverrestart: alwaysvolumes:- /etc/localtime:/etc/localtime- ./docker/etc/aliyun-driver/:/etc/aliyun-driver/ports:- "8080:8080"tty: trueenvironment:- TZ=Asia/Shanghai- ALIYUNDRIVE_REFRESH_TOKEN=- ALIYUNDRIVE_AUTH_PASSWORD=- ALIYUNDRIVE_AUTH_USER-NAME=
创建好容器后,编辑容器信息
将容器内/etc/aliyun-driver
挂在到宿主机,这样之后再修改token
直接编辑/etc/aliyun-drive
r内的token文件就可以了
其他的一些参数,根据的你情况自行调整,比如webdav端口,密码等
使用jar包运行
这个我不多赘述了,根据你情况调整参数
java -jar webdav.jar --aliyundrive.refresh-token="your refreshToken"
--aliyundrive.refresh-token阿里云盘的refreshToken,获取方式见下文--server.port非必填,服务器端口号,默认为8080--aliyundrive.auth.enable=true是否开启WebDav账户验证,默认开启--aliyundrive.auth.user-name=adminWebDav账户,默认admin--aliyundrive.auth.password=adminWebDav密码,默认admin
挂载 webdav-aliyundriver
使用支持webdav的系统或软件来挂载阿里云盘webdav
地址: http://127.0.0.1:8080账号: admin密码: admin
群晖 Fila Station 挂载 WebDAV 服务器
Fila Station –> 工具 –>远程连接 –> 连接设置 –> 远程连接设置向导 –> WebDAV –> 填入webdav地址、账号、密码即可
实测下载速度非常快,我是在外网访问的,实测跑满大部分人家庭网络的上传带宽是没有问题的(流程:你的NAS从阿里云盘下载数据流–>到你的PC )
)
)
Mac 挂载 WebDAV 服务器
在 Mac 上的“访达”
中,选取“前往”>“连接服务器”,在“服务器地址”栏中输入服务器的地址,然后点按“连接”。
在“服务器地址”栏中输入服务器的地址。WebDAV 服务器地址应该与以下的格式类似:http://servername.com/path/
点按“连接”。
其他平台我就不赘述了,都差不多
客户端兼容性
客户端 | 下载 | 上传 | 备注 |
---|---|---|---|
群辉Cloud Sync | 可用 | 可用 | 使用单向同步非常稳定 |
Rclone | 可用 | 可用 | 推荐,支持各个系统 |
Mac原生 | 可用 | 可用 | |
Windows原生 | 可用 | 有点小问题 | 不建议,适配有点问题,上传报错 |
RaiDrive | 可用 | 可用 | Windows平台下建议用这个 |
重点来说一下 群辉Cloud Sync
这个是我主要用到的功能—群辉Cloud Sync。群辉Cloud Sync可以很方便的挂载各类云盘,把重要资料同步网络存储服务商的存储空间中,实现云同步云备份
安装/打开 Cloud Sync,–> 添加webdav服务器
填写webdav服务器账号密码,如果你什么也没修改过,就照下图填写
根据你情况,选择需要同步的文件,推荐只备份重要数据的文件夹,并勾选加密
本地路径:就是你NAS里存储重要文件的文件夹路径
远程路径:阿里云盘的位置
只备份选择单项本地即可:仅上传本地更改
完成后就可以开始 同步/备份 了
外网HTTPS访问
部分同学可能想要把服务放到公网上,在外网访问强烈建议开启https,否则数据传输和裸奔没有什么区别
群晖用户参考下文,使用群晖自带的反向代理
Linux 用户参考下文,使用NGINX反向代理开启HTTPS
预览图
上传速度很快
目前阿里云盘下载好像是也是不限速的,下载下来也非常快,直连的话我这里大概能跑到40MB/s的速度
不建议的一些事
很担心阿里云盘最后被一些人玩坏。大部分能够提供webdav服务的云盘,都是容量很小的同步盘,谷歌云盘那些就不说了,正常谷歌账号其实也就15GB的同步云盘容量,以前还可以无损存照片,后来也不行了,同步盘本身就是烧钱不赚钱的生意。
现在阿里云盘通过特殊的手段能够提供不限速的webdav服务,已经是很良心了(持久不了),希望大伙能克制住自己的手,拿来做简单的备份存储就可以了,不要拿来做和被玩烂的谷歌云盘一样的事情
最后的最后
1、任何数据,放在一个篮子里都是不安全的,重要数据强烈建议多地备份,付费的永远比免费的好,这是一定的
2、阿里云盘的数据被和谐的可能性也不低,重要数据建议老老实实的放在NAS、iCloud、onedrive中,阿里云盘仅作为多地备份的选项之一
3、另外,也不建议拿来做办公用同步盘,不支持历史版本是硬伤,除吃之外,还有一些功能尚不支持
支持的功能
查看文件夹、查看文件
文件移动目录
文件重命名
文件下载
文件删除
文件上传(支持大文件自动分批上传)
支持超大文件上传(官方限制30G)
支持WebDav权限校验(默认账户密码:admin/admin)
文件下载断点续传
Webdav下的流媒体播放等功能
暂不支持的功能
移动文件到其他目录的同时,修改文件名。比如 /a.zip 移动到 /b/a1.zip,是不支持的
文件上传断点续传
部分客户端兼容性不好
引用参考
zxbu/webdav-aliyundriver:https://github.com/zxbu/webdav-aliyundriver