×

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

2022-03-10 13:25:51 Falcon

前阵子在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,也就是访问http://N1的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 http://127.0.0.1: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 注册号码
本文收录于