其他
阿里云盘能玩出怎么样的花活呢?做一个webdav协议的服务器怎么样?
大家好,我是TJ
关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍
TJ君将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU
很多小伙伴最近都被隔离在家,网盘上的各种资源又开始流转丰富了起来,目前TJ君了解下来呢,身边的小伙伴还是用百度网盘的居多,阿里云盘虽然势头不错,但替代百度网盘看来还需时日。
不过TJ君今天看到一个开源项目,作者很有创意的对阿里云盘进行了webdav协议的开源实现,感觉不错,抓紧来和大家分享。
此项目通过简单的配置,就可以将阿里云盘变身为webdav协议的文件服务器,通过这一步骤,可以将阿里云盘挂载为Windows、Linux、Mac系统的磁盘,也可以通过NAS系统做文件管理或文件同步,更多发散出去的用途小伙伴们也可以学习项目之后自行拓展发挥。
目前项目主要可以实现的功能有:
查看文件夹、查看文件 文件移动目录 文件重命名 文件下载 文件删除 文件上传(支持大文件自动分批上传) 支持超大文件上传(官方限制30G) 支持WebDav权限校验(默认账户密码:admin/admin) 文件下载断点续传 Webdav下的流媒体播放等功能
不过项目作者也明确表示了几点申明:
本软件为免费开源项目,无任何形式的盈利行为。 本软件服务于阿里云盘,旨在让阿里云盘功能更强大。如有侵权,会及时处理。 本软件皆调用官方接口实现,无任何“Hack”行为,无破坏官方接口行为。 本软件仅做流量转发,不拦截、存储、篡改任何用户数据。 严禁使用本软件进行盈利、损坏官方、散落任何违法信息等行为。 本软件不作任何稳定性的承诺,如因使用本软件导致的文件丢失、文件破坏等意外情况,均与本软件无关。
项目提供了直接运行的jar包,可以通过如下命令执行:
java -jar webdav.jar --aliyundrive.refresh-token="your refreshToken"
不过TJ君还是建议大家下载源码进行编译,这样可以时刻确保自己用的是最新的版本。
容器运行的代码:
docker run -d --name=webdav-aliyundriver --restart=always -p 8080:8080 -v /etc/localtime:/etc/localtime -v /etc/aliyun-driver/:/etc/aliyun-driver/ -e TZ="Asia/Shanghai" -e ALIYUNDRIVE_REFRESH_TOKEN="your refreshToken" -e ALIYUNDRIVE_AUTH_PASSWORD="admin" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver
# /etc/aliyun-driver/ 挂载卷自动维护了最新的refreshToken,建议挂载
# ALIYUNDRIVE_AUTH_PASSWORD 是admin账户的密码,建议修改
# JAVA_OPTS 可修改最大内存占用,比如 -e JAVA_OPTS="-Xmx512m" 表示最大内存限制为512m
Docker-Compose如下:
version: "3.0"
services:
webdav-aliyundriver:
image: zx5253/webdav-aliyundriver
container_name: aliyundriver
environment:
- TZ=Asia/Shanghai
- ALIYUNDRIVE_REFRESH_TOKEN=refreshToken
- ALIYUNDRIVE_AUTH_USER_NAME=admin
- ALIYUNDRIVE_AUTH_PASSWORD=admin
- JAVA_OPTS=-Xmx1g
volumes:
- /etc/aliyun-driver/:/etc/aliyun-driver/
ports:
- 6666:8080
restart: always
# “refreshToken”请根据下文说明自行获取。
# “ALIYUNDRIVE_AUTH_USER-NAME”和“ALIYUNDRIVE_AUTH_PASSWORD”为连接用户名和密码,建议更改。
# “/etc/aliyun-driver/:/etc/aliyun-driver/”,可以把冒号前改为指定目录,比如“/homes/USER/docker/alidriver/:/etc/aliyun-driver/”。
# 删除了“/etc/localtime:/etc/localtime”,如有需要同步时间请自行添加在environment下。
# 端口6666可自行按需更改,此端口为WebDAV连接端口,8080为容器内配置端口,修改请量力而为。
# 建议不要保留这些中文注释,以防报错,比如QNAP。
如果还是不是很清楚的话,TJ君再对其中一些参数进行下解释:
--aliyundrive.refresh-token
阿里云盘的refreshToken,获取方式见下文
--server.port
非必填,服务器端口号,默认为8080
--aliyundrive.auth.enable=true
是否开启WebDav账户验证,默认开启
--aliyundrive.auth.user-name=admin
WebDav账户,默认admin
--aliyundrive.auth.password=admin
WebDav密码,默认admin
--aliyundrive.work-dir=/etc/aliyun-driver/
token挂载路径(如果多开的话,需修改此配置)
如何获取refreshToken?
只需要2个步骤即可。
步骤一,过浏览器打开阿里云盘官网并登录,地址如下: https://www.aliyundrive.com/drive/
步骤二,登录成功后,以chrome为例,通过F12打开开发者工具,随后点击 Application
-Local Storage
-https://www.aliyundrive.com/
,然后点击右边的token
,里面包含有refresh_token
项,将对应的数值复制出来即可。图示如下:
对云盘感兴趣的小伙伴,可以来尝试看看哦,觉得有意思的话记得把TJ君介绍给周围的小伙伴哦,TJ君会持续给大家分享有意思的实用项目与工具~
点击下方卡片,关注公众号“TJ君”
回复“webdav2022”,获取仓库地址
关注我,每天了解一个牛x、好用、有趣的东东