本篇记录在windows平台下使用rclone挂载webdav-aliundriver。

下载安装必要文件

下载rclone

下载winfsp

下载webdav-aliyundriver

在github下载release或者使用容器运行

 docker run -d --name webdav-aliyundriver --restart=always -p 9001:8080 -v //f/etc/aliyun-driver/:/etc/aliyun-driver -e TZ="Asia/Shanghai" -e ALIYUNDRIVE_REFRESH_TOKEN="refreshToken" -e ALIYUNDRIVE_AUTH_USER-NAME="admin" -e ALIYUNDRIVE_AUTH_PASSWORD="admin" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver

-p 9001:8080 其中9001为宿主机端口 可改

-v

其中refreshToken在此处获取

  • 开发者工具 –> Application –> Local Storage –> https://www.aliyun.com –> token –> refreshToken

ALIYUNDRIVE_AUTH_USER-NAME=”admin” admin替换为自己的用户名

ALIYUNDRIVE_AUTH_PASSWORD=“admin” admin替换为自己的密码

JAVA_OPTS=”-Xmx1g” 1g可替换,修改最大内存占用

rclone挂载

rlcone下载好之后,首先将rclone根目录加入环境变量。

打开控制台,输入 rclone config,然后按照下述操作

  • 选择n) New Remote
  • 输入remote name
  • 选择webdav
  • 输入url(我的是http://127.0.0.1:9001)
  • 选择other site/service or software
  • 输入用户名
  • 选择Yes type in my own password
  • 输入密码(密码需输入两次,输入在控制台不显示,请确保输入正确)
  • bearer_token使用默认,直接回车
  • edit advanced config 依旧使用默认no,或直接回车
  • 选择Yes this is OK,或直接回车
  • 选择q,退出config

使用控制台,输入挂载命令

  • 注意此时控制台不能是管理员模式,管理员模式创建的挂载会导致此盘符所有角色(即使是管理员)不可见
rclone mount aliyun:/ Z: --cache-dir C:\temp --vfs-cache-mode writes &

aliyun 是你自己创建的remote name

z: 是你希望挂载的盘符名,不能与现有盘符重复,也可改为*,让rclone自动选择

C:/temp 是rclone的缓存目录,在挂载盘上传与下载会先在此位置缓存

可选参数

–no-console 此参数意味着你可以不用看到控制台的大黑窗口了,但使用此参数需额外使用–log-files参数指定rclone的log存储位置

示例:

rclone mount aliyun:/ Z: --no-console --log-file F:\rclone\logs\mount.txt --cache-dir C:\temp --vfs-cache-mode writes & 

将rclone设置为开机启动

方式1

最简单的方式是创建一个bat文件,把挂载命令写进去,然后放进C:\Users\YourUserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup中

此方式虽简单,但每次打开电脑就看到一个大黑窗口在你的桌面上,不美观,建议选择方式2

方式2

此方式使用powershell的New-Service命令,创建一个执行rclone命令的windows服务

先找到rclone.conf文件,它应该在C:\Users\Your_UserName\AppData\Roaming\rclone\rclone.conf

打开powershell(管理员模式),输入

New-Service -Name Rclone -BinaryPathName 'X:\path\to\rclone\rclone.exe mount aliyun:/ Z: --config C:\Users\Your_UserName\AppData\Roaming\rclone\rclone.conf --vfs-cache-mode writes --log-file F:\rclone\logs\mount.txt'

至此,rclone已经成为一项windows服务了。

后记

因为使用了docker desktop,并且webdav-aliyundriver是放在docker中的,所以启动时并不能立刻运行,所以为rclone服务添加恢复操作,避免在docker desktop没有运行时服务启动失败。

第一次启动失败操作选择 重新启动服务

在此时间之后重新启动服务 输入5分钟


时如流水去无返