本篇记录在windows平台下使用rclone挂载webdav-aliundriver。
下载安装必要文件
下载rclone
下载winfsp
下载webdav-aliyundriver
在github下载release或者使用容器运行
github下载release
使用容器运行webdav-aliyundriver(推荐,端口更可控)
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分钟