查看原文
其他

阿里云盘能玩出怎么样的花活呢?做一个webdav协议的服务器怎么样?

TJ TJ君 2022-05-13

大家好,我是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、好用、有趣的东东


往期推荐

Screen Shader,程序猿专用的屏幕护眼小插件

支持多家云存储的开源网盘系统:Cloudreve

GitHub高赞的针对小白的算法训练

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存