替换 AliyunDrive-FUSE

近日由于阿里云盘修改了第三方接口的访问,导致我一直以来使用的 AliyunDrive-FUSE 无法正常工作,观察项目的 GitHub 也没有更新的迹象。

我一直以来用阿里云盘存储一些不太重要的视频文件或者是用来转存流媒体在电视上观看,因此 FUSE 项目可以很方便的将阿里云盘挂载到本地磁盘,然后配合 OpenWRT 中的 minidlna 功能,通过 DLNA / UPnP-AV 协议,可以让我在电视上直接观看阿里云盘里的视频内容。

由于 FUSE 项目似乎不再维护,而另一个项目 AliyunDrive-WebDAV 却及时更新适配了阿里云盘的 API 改动,可以正常使用。因此我计划将 FUSE 替换为 WebDAV 并配合 rclone 实现原先相同的功能,以下为详细步骤的记录。

  1. 安装并配置 AliyunDrive-WebDAV(过程略)
  2. 安装 rclone 后在 shell 中输入以下内容进行配置
rclone config
选择 n) New remote
输入配置名称,如 AliyunDrive-WebDAV
选择 WebDAV 挂载方式的序号,如 46
输入 AliyunDrive-WebDAV 中配置的本机地址和端口,如 http://192.168.100.1:8888
Vendor 配置,直接 Enter 留空
用户名密码以及 Bearer Token 也依次直接 Enter 留空
编辑高级配置选择 No
最后选择 Yes 保留上述配置

3. 将配置好的 WebDAV 挂载到本地磁盘(这里需要注意的是,在挂载磁盘前需要确认对应路径下的文件夹是否存在,如果不存在则需要手动创建)

mkdir /mnt/aliyundrive-webdav
rclone mount AliyunDrive-WebDAV: /mnt/aliyundrive-webdav --allow-other --allow-non-empty --vfs-cache-mode writes &

这里注意 rclone mount 后紧跟的名称与上述步骤中配置的名称相同

如果需要配置开机自动挂载,可以将以下脚本配置到系统菜单中,启动项里的本地启动脚本中

rclone mount AliyunDrive-WebDAV: /mnt/aliyundrive-webdav --copy-links --allow-other --allow-non-empty --umask 000 --daemon

最后设置 Samba 共享磁盘并配置 minidlna 扫描挂载的磁盘。

挂载时可能遇到的问题:

VolumeDriver.Mount: failed to mount FUSE fs: fusermount: exec: "fusermount3": executable file not found in $PATH
VolumeDriver.Mount: failed to mount FUSE fs: fusermount: exec: “fusermount3”: executable file not found in $PATH · Issue #6844 · rclone/rclone
What is the problem you are having with rclone? Using the volume plugin in 1.6.2 fails with missing dependency I guess the plugin was not updated to fuse3? What is your rclone version (output from…

解决方案:安装 fuse3