原描述内容: 阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 实现在电视上直接观看云盘视频内容, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。
你是否也有阿里云盘? 我的有4T空间,不能就这么浪费着啊,综合考虑了多个类似应用,包括alist,最终选择使用aliyundrive-webdav来实现本地挂载阿里云盘的目的。
安装 {#安装}
为了简单起见,这里只介绍docker安装的方式,其他方式可以自行查找该开源项目的readme文件。
docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \
-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN='your refresh token' \
-e WEBDAV_AUTH_USER=admin \
-e WEBDAV_AUTH_PASSWORD=admin \
messense/aliyundrive-webdav
</code>
</pre>
其中,REFRESH_TOKEN 环境变量为你的阿里云盘 refresh_token,WEBDAV_AUTH_USER 和 WEBDAV_AUTH_PASSWORD 为连接 WebDAV 服务的用户名和密码。
想查看帮助,可以进入到docker 容器之后执行--help
# 进入docker容器
docker exec -it aliyundrive-webdav bash
# 查看帮助
$ aliyundrive-webdav --help
aliyundrive-webdav 1.3.3
USAGE:
aliyundrive-webdav \[OPTIONS\]
OPTIONS:
--cache-size \<CACHE_SIZE\> Directory entries cache size \[default: 1000\]
--cache-ttl \<CACHE_TTL\> Directory entries cache expiration time in seconds \[default: 600\]
--debug Enable debug log
--domain-id \<DOMAIN_ID\> Aliyun PDS domain id
-h, --help Print help information
--host \<HOST\> Listen host \[env: HOST=\] \[default: 0.0.0.0\]
-I, --auto-index Automatically generate index.html
--no-trash Delete file permanently instead of trashing it
-p, --port \<PORT\> Listen port \[env: PORT=\] \[default: 8080\]
-r, --refresh-token \<REFRESH_TOKEN\> Aliyun drive refresh token \[env: REFRESH_TOKEN=\]
--read-only Enable read only mode
--root \<ROOT\> Root directory path \[default: /\]
-S, --read-buffer-size \<READ_BUFFER_SIZE\> Read/download buffer size in bytes, defaults to 10MB \[default: 10485760\]
--strip-prefix \<STRIP_PREFIX\> Prefix to be stripped off when handling request \[env: WEBDAV_STRIP_PREFIX=\]
--tls-cert \<TLS_CERT\> TLS certificate file path \[env: TLS_CERT=\]
--tls-key \<TLS_KEY\> TLS private key file path \[env: TLS_KEY=\]
-U, --auth-user \<AUTH_USER\> WebDAV authentication username \[env: WEBDAV_AUTH_USER=\]
-V, --version Print version information
-w, --workdir \<WORKDIR\> Working directory, refresh_token will be stored in there if specified
-W, --auth-password \<AUTH_PASSWORD\> WebDAV authentication password \[env: WEBDAV_AUTH_PASSWORD=\]
</code>
</pre>
获取 refresh_token {#获取-refresh-token}
------------------------------------
自动获取: 登录阿里云盘后,控制台粘贴 ` JSON.parse(localStorage.token).refresh_token `
![600ccbf1ac4e4f331d9a998dc56e87e2.png](http://static.51tbox.com/static/2024-12-11/col/a20fb0ea3c76430cceffc64bb167f5dc/01b7cd45a32243fa88859a78e2623c6e.png.jpg)
本地挂载 {#本地挂载}
------------
```shell
# 创建目录
mkdir -p /mnt/aliyun
# 挂载网盘 会提示输入前面的账号密码
mount -t davfs 127.0.0.1:8080 /mnt/aliyun/
# 查看挂载情况
df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 394M 16M 378M 5% /run
/dev/mmcblk0p1 117G 8.0G 107G 7% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 32K 2.0G 1% /tmp
/dev/zram1 47M 30M 14M 69% /var/log
overlay 117G 8.0G 107G 7% /var/lib/docker/overlay2/eb060ffb06a512bbb15197bee19bac8a65973287f480411344d5df7d72fa88df/merged
overlay 117G 8.0G 107G 7% /var/lib/docker/overlay2/6c2a4c2465ba24a9e1cf08e19dfcab400f2633a4cbdf8f6ec3cd287e9ec7d4e8/merged
overlay 117G 8.0G 107G 7% /var/lib/docker/overlay2/54a1daba6dffdaeebc47dd5ac22092e3e5f51028dbb4c7ff07ba2a26364c3975/merged
tmpfs 394M 0 394M 0% /run/user/1000
127.0.0.1:9901 3.7T 82G 3.6T 3% /mnt/aliyun
</code>
</pre>
注意: {#注意}
---------
实测挂载之后的速度不是太好,并且上传文件偶尔出现卡死、丢文件的情况,但是感觉看个电影啥的没啥问题,自己斟酌着用吧。
```