阿里云盘支持手机端、PC端、网页版登录,webdav-aliyundriver项目的产出使网盘的功能极具变大,将阿里云盘挂载为WebDAV网盘,可以像操作本地磁盘一样容易。
webdav-aliyundriver
本项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让阿里云盘变身为webdav协议的文件服务器。 基于此,你可以把阿里云盘挂载为Windows、Linux、Mac系统的磁盘,可以通过NAS系统做文件管理或文件同步
操作步骤:
1,获取refresh token
通过浏览器(建议chrome或Microsoft Edge)打开阿里云盘官网并登录网页版:
以Microsoft Edge为例:登录后,按 F12 打开开发者工具,点击 控制台Console,粘贴下列命令并回车,在得到的字符串上点鼠标右键复制保存。
JSON.parse(localStorage.getItem('token')).refresh_token也可以将 获取token 链接拖入到浏览器的书签栏,在https://www.aliyundrive.com/drive/页面运行此书签的JavaScript脚本来获取Token
1.1,安装威联通插件程序
Aliyunpan Webdav For QNAP 插件介绍:
插件项目地址:https://github.com/iranee/qnap-aliyunpan-webdav
通过 Rust 语言实现了阿里云盘的 webdav 协议,只需要简单的配置一下,就可以让阿里云盘变身为 webdav 协议的文件服务器。
- 支持x86构架的QNAP存储设备
- 支持 ARM 构架的QNAP存储设备
- 支持 aach64 构架的QNAP存储设备
客户端 | 下载 | 上传 | 备注 |
---|---|---|---|
威联通 文件总管 | 可用 | 可用 | 可用 |
威联通 HBS 3 | 可用 | 可用 | 可用 |
Rclone | 可用 | 可用 | 推荐 |
Mac原生 | 可用 | 可用 | 可用 |
Windows原生 | 可用 | 可用 | 可用 |
RaiDrive | 可用 | 可用 | Windows平台下建议 |
可以在阿里云盘下载插件,在QNAP的管理界面中,通过 App Center 手动安装 .qpkg 后辍程序
- 安装前,进入威联通的App Center设置,选中允许安装没有数字签名的程序
- 在威联通的管理页面打开web服务,位置在:控制台→应用程序→web服务器
- 注意事项:在配置页面修改内容后,10-30秒后配置文件才能生效。
Webdav默认配置:
访问IP:NAS ip
访问端口:8085
用户名:admin
密码:123456
安装过插件版,可以跳转到 3,挂载WebDav 继续
插件版和Docker版任选其一
2,安装Docker版本部署
网页登录QNAP ,打开专用Docker程序 Container Station ,按照图示依次操作
Docker镜像名字:messense/aliyundrive-webdav
点【创建】结束。
高级设置中的环境变量:
- REFRESH_TOKEN:你的 refresh token
- WEBDAV_AUTH_USER :webdav账户admin
- WEBDAV_AUTH_PASSWORD :webdav账户的密码123456
至此,Docker已经创建成功,网页访问:http://NAS-IP:端口 就可以看到WebDav里面的内容
QA:如果Token失效,如何修改?
进入总览界面,进去aliyundrive-webdav,点右上角 >_ 终端机,输入sh进入命令模式。
在新打开的网页~ # 后面输入命令并回车:
echo 获取的新token>/etc/aliyundrive-webdav/refresh_token
然后重启aliyundrive-webdav
下一步在QNAP里挂载为网络磁盘。
3,挂载WebDav
打开QNAP的File Station文件总管,点右侧黄色标识,->远程挂载
在弹出的网络挂载工具,选择Webdav Cloud/Server服务。如果提示没有安装此工具,需要在App Center中安装。
填入创建Docker时的参数,用户名,密码,IP+端口
Webdav默认配置:
访问服务器URL:http://127.0.0.1:8050
注意填入正确的IP端口
用户名:admin
密码:123456
挂载成功后,会提示,另外可以顺便跑个测速。
再次打开File Station文件总管,可以看到已经挂载好的阿里云盘信息:
4,同步文件
现在可以用文件总管操作管理阿里云盘的内容,下面讲下利用自带的同步工具来同步/复制拉取网盘内容:
打开工具 HBS 3 Hybrid Backup Sync
选择 同步 功能
下拉到底创建WebDav服务:
基本流程再走一遍,这里创建的WebDav和文件总管里面的不是一个系统,各归各管。
创建成功后,可以在同步里选择双向同步/单向同步/活动同步。讲下这几个同步的不同点:
- 双向同步:顾名思义,2个客户端的内容保持一致,【箭头标志:⇄ 】本地和网上的任意一处添加、更改、删除文件后,2个客户端保持同一操作,也就是说2端的文件内容一摸一样。
- 单向同步:本地文件向网络端操作,【箭头标志:→ 】这个操作可以选择为 镜像/ 复制 / 移动,点开页面的 了解有关操作的更多信息 获取详情。
- 活动同步:网络端向本地端操作,【箭头标志:← 】同样和单向同步一样可以选择 操作为 镜像/ 复制 / 移动
请问token发生改变后,具体做哪些操作可以无缝衔接?
@编不下去了 这个暂时没有自动填入的办法,一般获取过的Token能用一段时间不会变更,除非经常重启webdav服务会造成Token不长久。
备份的时候提示:
1、[Hybrid Backup Sync] Failed to complete Backup job: NAS备份到阿里云(每日)”. Error count exceeds the allowed maximum number of skipped files.. Check logs for more information.”
2、[Hybrid Backup Sync] Backup job NAS备份到阿里云(每日)”: Failed to upload file/folder from “/手机备份/陈兵/2021.02.08-02.15春节/mmexport1613484419434.jpg”. Target path does not exist. Check if folders were deleted while job was in progress.”
这两类问题。我看阿里云对应的部分子文件夹也自动创建了,备份没成功。
@仒雨 暂时不建议将多文件通过此备份到阿里云盘,因为持续的读写会造成网络堵塞,而威联通的HB3不支持自动备份失败的文件
@bbis 因为想着定期把云端作为nas的备份,如果少部分或者单个的话,太麻烦了= =难道只能通过raid或者快照嘛,太占空间了。
TS-231P装了插件arm-x41的qpkg安装成功,但是填写token之后一直显示进程启动失败,请问大佬是怎么回事呀。[https://wx2.sinaimg.cn/mw690/a46113a7ly1gxgr6ctd69j20g40f20tc.jpg]
@voodka 你联系我的QQ,我帮你排查下。也有人说arm机器会出现问题,手头没有ARM机器。
问下博主:我已经成功挂载了, 在filestation里也已经看见了,但是只能看见文件夹,看不见里面的文件. 我试着从filestastion里面上传了一个文件, 这个可以看见,但我在阿里云盘页面上,如果操作了这个文件, 比如挪个文件夹, 然后又看不见了, 我看docker的日志里面也显示列表里有具体的文件,就是在filestatison里看不见, 我猜想可能是权限问题, 请问是哪里出错了? 设置了几次都是这样,改docker端口也一样
@chaing filestastion操作阿里云盘会有本地缓存的,所以不要刚刚上传进去,不要急于操作网络端。PC本地挂载webdav也是这样
@bbis 可是过了一晚上还是老样子,看不见文件
@bbis 我在局域网内浏览nas的网页,可以看见具体的文件…..
@chaing 暂停docker,只用插件看看是否正常。插件和docker任选其一即可。
大佬,我看第一步插件设置的端口是8085,docker的端口是8080,这俩不用一样的吗
@似水流年 插件和docker是一样功能,任选其一即可。
端口可以任意设置,只要和本地服务不冲突即可。
@bbis 大佬,手动安装的插件打开后没有填NAS IP的位置啊,我现在装完插件,然后远程挂载都按照你的填写完以后总提示无法连接到远程服务。可以加个微信请教一下么
@似水流年 挂载时才需要填IP地址,IP就是你自己NAS的IP,想尝试在文件总管里挂载
@似水流年 你好,我也遇到和你一样的问题,老是提示无法连接到远程服务器,请问解决了吗?谢谢
今天遇到了同样问题,有找到解决方案没?
今天更新Qnap固件以后就启动不了了,显示进程启动失败。
@晚州 遇到同样的问题,有找到解决方案没?
@晚州 已更新至QTS最新固件5.0.0.1870,正常运行
请问几个盘,怎么挂呢?
为什么总提示:进程启动失败!请检查参数是否存在问题。参数我检查好几遍了,确认没问题
@星版超群 保存过参数后,等待30秒。或者直接去挂载webdav试试是否成功运行
大佬,请教下 我从阿里云盘里面活动同步到nas,但是计划里面为啥没有实时同步的选项,只有计划程序/在此作业后运行/没有计划 这三个选项。我白度了下看别人好像都有实时同步
@禁 实时同步的选项我这里也没有看到,这里的同步应该是定时同步,而不是改动了一个文件就自动同步。要么就是需要2台机器对接同步或2个设备都开启RTRR功能吧。需要自己实践下
@bbis 好的,感谢!大佬 我实测了定时同步也挺好使的
我装了威联通 x86 64版的插件,想用plex读取挂载的阿里云盘,找不到挂载路径,求教大佬
@flamed 你看看QNAP自带的文件总管是否挂载正常,要么就是输入的挂载路径不对。
有些设备需要输入“IP+端口,例如192.168.0.100:8085”,有些则需要输入完整的访问地址“http://192.168.0.100:8085”
感谢楼主,想请教,在挂载WebDav,总是失败,错误消息是:无法连接到远程服务,请检查您的网络和远程服务设置
@喜哈哈 NAS上开启服务后,现在本地电脑挂载下看看是否成功。
如果成功,则说明你在NAS输入的IP或者其他配置有问题
@bbis 请问大佬,本地电脑怎么挂载呢?谢谢
感谢作者,已经成功挂载. 只是在用HBS 3 选择同步的阿里云盘远程文件夹的时候,总是刷不出文件夹来无法选择,不知道为什么
@votvo 电脑端你挂载后,能不能看到网盘内容?
或者你试试v1.0.08版本
貌似可以把webdav服务直接跑在docker里面,这样是不是可以省去qnap的软件的安装和web服务的启动呢?
@逆风飞翔 可以的,关键docker修改配置文件不容易,而且占用资源高。
@bbis 资源消耗方面,应该是差不多的,等下周末我有空可以来写个测试对比下,有结果同步你。
感谢辛苦开发并分享,请问下docker内的java源码方便share下嘛,感谢
@逆风飞翔 JAVA版本作者的Github开源地址:https://github.com/zxbu/webdav-aliyundriver
@bbis 赞,非常感谢
挂载里没有Webdav Cloud/Server,需要装啥APP?
@toyyot 需要先安装HybridMount,这个安装后就会有对应服务
@bbis 对呢,就是HybridMount里面没有Webdav Cloud/Server这个云服务选择。我发现APP商店也没有HBS 3 Hybrid Backup Sync下载,去官网查了,4.4.X系列版本却是没有的。
@toyyot 在官网下载新版本App后解决
453Dmini安装后打开提示 Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
@小王子 先在威联通的管理页面打开web服务。
位置在:控制台→应用程序→web服务器
如果还有问题,卸载插件重新安装最新版
@bbis 可以了 感谢制作了这么好用的工具
arm架构的机器不能用嘛……还是说arm架构只能用docker版。
@青木幻月 arm架构也有了
@青木幻月 如果有ARM构架机器可以测试下反馈。
威联通版本测试用raidrive访问webdav,文件改名后没有立即同步到阿里云盘,不知道是阿里云的问题还是raidrive的问题
@Mac 已更新到最新的版本,重新安装测试下有没有这问题。
@bbis 问题已解决,另外服务刷新是多久一次?能否加入时间调整功能。现在阿里云上更改文件到webdav还是有时差,10秒?
只能威联通用么?群晖、其他服务器能用吗?
@缙哥哥 几乎所有硬件系统都通用,可以看下开源作者的实例
https://github.com/messense/aliyundrive-webdav
群晖和其他硬件可以Docker实现或手动执行