N1 挂载阿里云云盘的webdav或davfs到本地磁盘(新增移动

文章正文
发布时间:2025-08-07 07:53

正在生成中……

前阵子在N1上用docker装了一个阿里云盘的服务:

在N1上安装阿里云盘可以参考这里。

N1的cpu架构安装这个

https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.1/aliyundrive-webdav_1.10.1-1_aarch64_cortex-a53.ipk

我写了个简易的启动脚本:

#!/bin/ash #aliyundrive-docker.run.sh refresh_token='你的refresh token' docker run -d --restart=unless-stopped --net=host --name=aliyundrive-webdav -p 8080:8080 -v /mnt/sda3/aliyundrive-webdav/:/etc/aliyundrive-webdav/ -e REFRESH_TOKEN=$refresh_token messense/aliyundrive-webdav

检查是否成功

root@N1 ~ lsof -i:8080 #输出 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME aliyundri 15161 root 7u IPv4 21554581 0t0 TCP *:8080 (LISTEN)

端口为8080,也就是访问的IP:8080可以看到阿里云上的文件,但这样还是不方便,我想把它映射为N1的本地磁盘,然后用smb服务直接访问到这个磁盘。

查看是否存在 mount.davfs

ll /usr/sbin/mount.davfs

如果没有,可以从此处下载ipk文件。使用opkg install 命令安装,或者在op管理页系统-软件包-配置 添加以下几行进去

arch all 1 arch noarch 1 arch aarch64_generic 10 arch aarch64_cortex-a53 20

然后刷新、过滤可以找到davfs2软件包

opkg print-architecture 可以打印当前cpu架构

安装之后执行命令:

mkdir /mnt/aliyundrive mount.davfs -o noexec :8080 /mnt/aliyundrive

成功挂载,如果需要开机启动,把挂载命令写入  /etc/rc.local

这样做的好处是你可以把N1的文件直接拷贝、剪切到阿里云盘,或者把阿里云盘的文件转移到N1,如果服务器也挂载了阿里云盘,阿里云盘可以作为备份中转到N1,对小硬盘的VPS还是很有用的。

更多关于Webdav的操作可以参考 在Linux上挂载WebDav

update 2022.09.16: 

n1上可以使用 opkg update && opkg install davfs2 安装davfs 文件系统。

update 20220929

n1的openwrt里有 阿里云盘 FUSE 不需要用上面的繁琐的操作,直接获取token填入就可以挂载了。

获取token的方法是在浏览器devtool运行命令: 

JSON.parse(localStorage.token).refresh_token update 20221006

中国移动云盘获取token的方法:

参数从cookie中获得,30天过期后,只需要更新cookie里的ORCHES-C-TOKEN

参考: https://github.com/VGEAREN/webdav-caiyun/wiki/Cookie%E8%8E%B7%E5%8F%96

参数 对应Cookie
CAIYUN_ACCOUNT   ORCHES-C-ACCOUNT  
CAIYUN_TOKEN   ORCHES-C-TOKEN  
CAIYUN_ENCRYPT   ORCHES-I-ACCOUNT-ENCRYPT  
CAIYUN_TEL   注册号码  

相关内容

【已解决】yt-dlp Sign in to confirm you’re not a bot. 问题

docker-compose.yml中的 env_file 跟 comopse.yml 中的 environment 段是什么关系?

Docker的代理的正确设置

已解决:`docker run` 报错: `the input device is not a TTY`

使用cloudflare tunnel建立ssh连接(docker方式)