Java写的开源程序,依赖简单,没必要用耗资源的docker部署,本文介绍直接部署和systemd自启服务文件的编写。

需求

国内主流网盘大都已经限速,上传很爽,下载就一言难尽了。阿里云盘作为挑战者目前仍未限速,适合用来分享一些大文件。现在zxbu写了个开源的webdav-aliyundriver,将本地服务器作为中转实现了WebDAV协议,这样极大地丰富了玩法,比如直接挂载到相应客户端,无需下载即可看电影、听音乐等。

由于主程序只是个jar包,没有复杂的依赖,故没必要用耗资源的docker容器跑,直接java执行jar包即可。

注:阿里云盘的客户端建议在设置——隐私设置中关掉相关选项,以免个人数据被人拿来给深度学习模型炼丹,因此也不建议上传敏感信息。不建议用WebDAV来同步如笔记之类的重要信息,虽然有端对端加密,但由于是第三方的,会有由于不稳定而造成数据丢失的风险。

部署

安装java

1
sudo apt install default-jdk

安装webdav-aliyundriver

记得去这里找到最新版的下载链接并替换掉wget的目标。

1
2
3
mkdir -p /opt/webdav-aliyundriver
cd /opt/webdav-aliyundriver
sudo wget -O webdav.jar https://github.com/zxbu/webdav-aliyundriver/releases/download/v2.4.1/webdav-2.4.1.jar

获得refresh_token

登录阿里云盘网页版,F12调出开发者工具,在console中输入以下代码并执行:

1
JSON.parse(window.localStorage.getItem("token"))["refresh_token"];

编写自启服务文件

新建/etc/systemd/system/webdav-aliyundriver.service文件,记得用前面得到的token去替换和设置好登录密码,如果8080端口被占用还要改端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=webdav-aliyundriver
After=network.target
StartLimitIntervalSec=20
StartLimitBurst=3

[Service]
Type=simple
WorkingDirectory=/opt/webdav-aliyundriver/
ExecStart=/usr/bin/java -jar /opt/webdav-aliyundriver/webdav.jar --aliyundrive.refresh-token="你的token" --server.port=8080 --aliyundrive.auth.user-name=admin --aliyundrive.auth.password=密码
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

启用并开始服务:

1
2
sudo systemctl enable webdav-aliyundriver
sudo systemctl start webdav-aliyundriver

ubuntu挂载WebDAV

打开文件管理器,按Ctrl+L调出地址栏并输入dav://树莓派IP:8080并回车即可。