阅读视图

Zotero+阿里云盘WebDAV+公网访问≈无限空间+全平台

思路说明

由于阿里云盘没有官方开放的WebDAV接口,需要自建WebDAV服务,这里用到一个GitHub上的开源项目aliyundrive-webdav,这个工具需要放在电脑上或者服务器上运行,如果是放在电脑上,那就只能电脑局域网访问,不能实现公网访问;如果放在服务器上,就能实现全平台访问。

本教程讲的是后者,所以,你需要一台服务器作为中转。没有服务器的小伙伴可以散场了,或者,你可以瞧瞧别的教程是如何仅在电脑端搭建的。

服务器安装运行

根据GitHub上的介绍,可以用Docker安装。我其实也不太懂Docker和Docker-Compose这些东西,不过我找到了一个宝塔面板能用的方法[26]。本质上也是容器运行。

没错,下面的步骤就是在宝塔面板里操作的,至于哪种方式占用的内存小性能损失小我就不知道了。

先在宝塔面板的软件商店里安装“堡塔Docker模块”,之后在左侧栏会出现一个Docker入口。

然后在SSH(终端)输入下面的代码:

docker pull messense/aliyundrive-webdav
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

# your refresh token 必改,获取方式见下文
# admin 用户名和密码 可改可不改
# 8080 默认端口 可改可不改 改的话是xxxx:8080

之后打开Docker面板,看到容器列表里面有东西就说明对了。

获取 refreshToken

方法1(已失效)[27]

  1. 浏览器登录阿里云盘后,按F12进入开发者工具箱
  2. 上栏选择Application,左侧选择Localstorage,中间选择token,下方查看refresh-token

方法2(2023年5月17日更新)[28]

Zotero 设置

编辑→首选项→同步

注:服务器IP不是容器IP。端口是容器列表里的对外端口。用户名和密码是创建容器的时候你自己设置的。前缀是http://,至于HTTPS,据说更安全,但我暂时还不会搞。能用就行。

iOS端的Zotero同理。这样设置之后不论何时何地何设备都能通过公网使用阿里云盘同步文献库的附件,而且速度好像比Zotero官方的300M还快。由于服务器长期运行不关机,无需考虑自启。而且我试过,就算服务器重启了容器也会自动运行的。

本文发表于鸦鸦的巢穴,感谢您的订阅!如需评论请前往Zotero+阿里云盘WebDAV+公网访问≈无限空间+全平台

  •