本文最后更新于 65 天前,如果内容失效欢迎留言告知。
思路说明
由于阿里云盘没有官方开放的WebDAV接口,需要自建WebDAV服务,这里用到一个GitHub上的开源项目webdav-aliyundrive,这个工具需要放在电脑上或者服务器上运行,如果是放在电脑上,那就只能电脑局域网访问,不能实现公网访问;如果放在服务器上,就能实现全平台访问。
本教程讲的是后者,所以,你需要一台服务器作为中转。没有服务器的小伙伴可以散场了,或者,你可以瞧瞧别的教程是如何仅在电脑端搭建的。
服务器运行 webdav-aliyundrive
根据GitHub上的介绍,webdav-aliyundrive这个东西有三种运行方式:Jar包运行,容器运行,或者Docker-Compose运行。
嗯,我一个也不懂,Jar包用的应该是Java吧,我的服务器好像只装了PHP,下一个。
容器是啥?好像用到了docker,那和Docker-Compose又有啥区别?我还是没搞清楚,不过我找到了一个宝塔面板能用的方法[1]。本质上也是容器运行。
没错,下面的步骤就是在宝塔面板里操作的,至于哪种方式占用的内存小性能损失小我就不知道了。
先在宝塔面板的软件商店里安装Docker管理器。
然后在SSH(终端)输入下面的代码:
docker pull zx5253/webdav-aliyundriver
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_USER-NAME="admin" -e ALIYUNDRIVE_AUTH_PASSWORD="admin" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver
# your refreshToken 必改,获取方式见下文
# admin 用户名和密码 可改可不改
# 8080 默认端口 可改可不改 改的话是xxxx:8080
# JAVA_OPTS 可修改最大内存占用,比如 -e JAVA_OPTS="-Xmx512m" 表示最大内存限制为512m
之后打开Docker管理器,看到容器列表里面有东西就说明对了。
获取 refreshToken[2]
- 浏览器登录阿里云盘后,按
F12
进入开发者工具箱 - 上栏选择
Application
,左侧选择Localstorage
,中间选择token
,下方查看refresh-token
Zotero 设置
编辑→首选项→同步
注:服务器IP不是容器IP。端口是容器列表里的对外端口。用户名和密码是创建容器的时候你自己设置的。前缀是http://
,至于HTTPS,据说更安全,但我暂时还不会搞。能用就行。
iOS端的Zotero同理。这样设置之后不论何时何地何设备都能通过公网使用阿里云盘同步文献库的附件,而且速度好像比Zotero官方的300M还快。由于服务器长期运行不关机,无需考虑自启。而且我试过,就算服务器重启了容器也会自动运行的。
评论