当前位置: 首页 > news >正文

Nas搭建webdav服务器并同步Zotero科研文献

无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器

文章目录

  • 无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器
    • 一、Zotero安装教程
    • 二、群晖NAS WebDAV设置
    • 三、Zotero设置
    • 四、使用公网地址同步Zotero文献库
    • 五、使用永久固定公网地址同步Zotero文献库

Zotero 是一款全能型 文献管理器,可以 存储、管理和引用文献,不但免费,功能还很强大实用。

image-20231114154947921

Zotero 支持多端同步文献和笔记,但是,官方只给每个账号免费提供了300M的云存储空间,额外空间需要购买,不太划算。

image-20231115153231972

​ 经过我尝试某果云盘,某度云盘,某里云盘等各种云盘后,不是限制每月下载流量就是限存储空间,下载速度完全取决于冲不冲会员,课题组讨论的时候,你突然想到一个想法,需要根据某文献来向导师和同学解释,这时候某云盘的下载速度100k每秒,想想都刺激。

​ 最终我采用的方式是使用Zotero官方支持的WebDAV功能,云同步文献信息和笔记信息,使用NAS作为WebDAV服务器+内网穿透实现公网条件下的多端同步,对比使用各种云盘,这种使用方式的优点如下

  • 容量完全取决于本地磁盘容量,可以自由扩展
  • 上传下载同步速度是网盘的好几倍
  • 资源存在本地,无需上传至流氓云盘,保证隐私
  • 只需配置一次,后续可以固定使用

缺点如下:

  • 需要自行配置WebDAV服务器

  • 需要群晖NAS虚拟机/实体群晖NAS(也可以使用windows自带WebDAV作为服务器,本文介绍使用群晖NAS虚拟机搭建WebDAV服务器)
    点击获取群晖虚拟机和使用方式:

    百度网盘链接:

    链接:https://pan.baidu.com/s/1kn9arl7ZAvDfTLxmyVFyxQ?pwd=6666提取码:6666

一、Zotero安装教程

  • 下载地址:Zotero | Your personal research assistant
  • 默认安装即可

二、群晖NAS WebDAV设置

打开群晖 File Station ,在根目录中自行选择一个文件夹在其中新建 zotero 文件夹

我的路径是:/homes/zotero

image-20231115094702674

点击打开套件中心,并搜索WebDAV,点击安装套件

20221117180510

打开套件:

image-20231115094927654

安装完成后,启动WebDAV服务,并勾选HTTP复选框

它的默认端口为5005端口,此处也可自行修改

20221117180516

点应用后,群晖nas部分设置完毕。

三、Zotero设置

首先,需要找到设置界面

WIN系统:编辑—首选项

MAC系统:点击菜单栏Zotero-首选项-同步

输入账号密码(第一次使用先创建账号)

image-20231114163133427

选择 同步 , 成功登录后如下图所示,取消勾选红框部分

image-20231115095758714

image-20231115160830965

  • 红框处不要勾选,这样会将附件同步至官方云存储。

  • “我的文献” 同步方式 改为 WebDAV

  • 地址为 群晖nas局域网IP / homes

  • 用户名密码为群晖nas的用户名密码

  • 点击 验证服务器,显示如下说明成功链接nas WebDAV服务器:

    image-20231115102603429

选择 高级 —— 文件和文件夹

  • 数据存储位置选择 自定义 ,路径为: 网络/你的nas /homes/zotero (刚刚创建的路径)

image-20231115095950555

image-20231115101018942

上传一些文献,点击右上角 同步 按钮:

image-20231115102934795

打开 群晖 nas WebDAV 路径查看是否上传相关文件:

image-20231115103055704

成功上传,说明nas WebDAV 服务器正常工作,接下来我们使用内网穿透将群晖nas的 WebDAV 服务端口映射至公网,实现公网环境也能使用 群晖WebDAV的 同步功能。

四、使用公网地址同步Zotero文献库

我们需要在局域网内能访问群晖的电脑上安装不限流量可以免费使用的内网穿透软件Cpolar

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

Cpolar官网:https://www.cpolar.com/download

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • macos系统:Cpolar快速入门教程:macOS系列 - cpolar 极点云

image-20231113140709326

也可以直接安装Cpolar 群晖套件:如何在群晖系统中安装cpolar(群晖7.X版) - cpolar 极点云

20221118135614

使用电脑本机安装和使用群晖套件安装两种方式都可以映射群晖WebDAV:

  1. 使用群晖Cpolar套件,WebUI是 【http://群晖局域网ip:9200】
  2. 使用电脑本机安装Cpolar,WebUI是 【http://本机局域网ip:9200】

使用cpolar账号登录,登录后即可看到cpolar web 配置界面:

image-20231115150055545

点击**——隧道管理——创建隧道**:

image-20231115105204289

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择tcp
  • 本地地址:群晖IP:5005
  • 域名类型:随机端口
  • 地区:选择China

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址.

image-20231115140755614

保存这条公网地址: tcp://1.tcp.cpolar.cn:24087

打开另一台电脑的zotero软件,登陆同一zotero账户:

image-20231115113037230

操作同上,选择WebDAV,下面的官方云服务取消打钩。

image-20231115140714186

点击验证服务器,测试一下能否正常连接:

image-20231115140648520

稍等一下,所有存在群晖nas /homes/zotero 路径下的可读文献就都同步过来了。

image-20231115140825450

测试多端同步笔记:

打开一篇论文,高亮显示一段文字,再添加一个便签:

image-20231115141017762

打开本机 成功同步:

image-20231115141302646

五、使用永久固定公网地址同步Zotero文献库

​ 为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。不便记忆,例如3ad5da5.r10.Cpolar.top,换个设备登陆还要去查这个地址,而且随机域名还是24小时变换,第二天登陆又要去查看新生成的地址。

​ 所以我一般会提前在官网配置固定TCP地址,比较好记,每次登陆直接点开就能登陆,无需重新配置一遍地址。

官网控制面板,保留TCP:

Cpolar - secure introspectable tunnels to localhost

image-20231115141921052

地址:选择China VIP / China VIP Top,记住选了什么,更新隧道处 选一样的。

保留成功,复制这条固定TCP地址:

image-20231115141937873

我的固定地址是: 5.tcp.vip.cpolar.cn:10576

回到WebUI界面,修改下配置:

image-20231115142025508

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:不变
  • 本地地址:不变
  • 域名类型:固定TCP
  • 预留的TCP:复制粘贴上述固定地址
  • 地区:选择相同地区

点击更新

隧道更新后,点击左侧的状态——在线隧道列表,查看所生成的固定公网地址.

image-20231115142113008

使用固定地址同步WebDAV:

回到另一台电脑,打开同步设置界面:

image-20231115142152309

将原来的随机临时TCP地址更换为我们在官网控制台保留的 永久固定TCP地址,其他不需要修改

image-20231115142221134

再次验证:

image-20231115142238775

成功与本地群晖NAS WebDAV服务器建立链接,使用固定地址后,就是永久不变的,不用像使用网盘一样担心会员到期,下载速度被限制等等,所以资源都存在本地,保证隐私,安全又放心。

相关文章:

Nas搭建webdav服务器并同步Zotero科研文献

无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器 文章目录 无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zote…...

一句话总结敏捷实践中不同方法

敏捷实践是指一组优先考虑灵活性、协作和客户满意度的软件开发和项目管理原则和方法。 不同方法论的敏捷实践: 1、敏捷: Sprints:限时迭代(通常 2-4 周),在此期间创建潜在的可交付产品增量。每日站立会议…...

【数据结构】线段树(点修区查)

数据结构-线段树(点修区查) 前置知识 分治递归二叉树 思路 我们需要维护一个支持单点修改,区间查询的数据结构,并且要求在线,一般使用线段树解决。 线段树是一个二叉树形的数据结构。 线段树的思想很简单&#xff0c…...

Ansys Lumerical | 用于增强现实系统的表面浮雕光栅

在本示例中,我们使用 RCWA 求解器设计了一个斜面浮雕光栅 (SRG),它将用于将光线耦合到单色增强现实 (AR) 系统的波导中。光栅的几何形状经过优化,可将正常入射光导入-1 光栅阶次。 然后我们将光栅特性导出为 Lumerical Sub-Wavelength Model …...

QT day3作业

1.思维导图 2、 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密…...

【Ubuntu】设置永不息屏与安装 dconf-editor

方式一、GUI界面进行设置 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal打开 Ubuntu 桌面环境的设置菜单。你可以通过点击屏幕右上角的系统菜单,然后选择设置。在设置菜单中,…...

gRPC 的原理 介绍带你从头了解gRPC

gRPC 的原理 什么是gRPC gRPC的官方介绍是:gRPC是一个现代的、高性能、开源的和语言无关的通用 RPC 框架,基于 HTTP2 协议设计,序列化使用PB(Protocol Buffer),PB 是一种语言无关的高性能序列化框架,基于 HTTP2PB 保…...

Apriori算法

Apriori算法由R. Agrawal和R. Srikant于1994年在数据集中寻找布尔关联规则的频繁项集。该算法的名称是Apriori,因为它使用了频繁项集属性的先验知识。我们应用迭代方法或逐层搜索,其中k-频繁项集用于找到k1个项集。 为了提高频繁项集逐层生成的效率&…...

肖sir__linux讲解(2.1)

linux命令 cp 复制命令 a、cp 原文件名称 新文 件名称(不存在的文件) 案例:cp a k 截图: b.cp 原文件名称 原有文 件名称(存在的文件) 案例:cp a b 截图: c、cp 指定路径复制 格式&#xff…...

The ultimate UI kit and design system for Figma 组件库下载

Untitled UI 是世界上最大的 Figma UI 套件和设计系统。可以启动任何项目,为您节省数千小时,并祝您升级为专业设计师。 采用 100% 自动布局 5.0、变量、智能变体和 WCAG 可访问性精心制作。 900全局样式、变量:超级智能的全局颜色、排版和效…...

Selenium——利用input标签上传文件

Selenium利用input标签上传文件 完整流程 打开文件上传页面选择要上传的文件点击上传按钮确认文件上传成功介绍怎么方便的获取对应元素的Xpath或者Css 简单介绍 在使用Selenium进行浏览器自动化测试时,文件上传是一个常见的需求。而 标签就是实现文件上传功能的…...

C++初阶 日期类的实现(下)

目录 一、输入输出(>>,<<)重载的实现 1.1初始版 1.2友元并修改 1.2.1简单介绍下友元 1.2.2修改 1.3>>重载 二、条件判断操作符的实现 2.1操作符的实现 2.2!操作符的实现 2.3>操作符的实现 2.4>,<,<操作符的实现 三、日期-日期的实现 …...

大师学SwiftUI第16章 - UIKit框架集成

其它相关内容请见​​虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记​​ SwiftUI是一套新框架&#xff0c;因此并没有包含我们构建专业应用所需的所有工具。这意味着我们会需要求助于UIKit&#xff08;移动设备&#xff09;和AppKit&#xff08;Mac电脑&#xff09;等原…...

7.docker运行redis容器

1.准备redis的配置文件 从上一篇运行MySQL容器我们知道&#xff0c;需要给容器挂载数据卷&#xff0c;来持久化数据和配置&#xff0c;相应的redis也不例外。这里我们以redis6.0.8为例来实际说明下。 1.1 查找redis的配置文件redis.conf 下面这个网址有各种版本的配置文件供…...

unity教程

前言 伴随游戏行业的兴起&#xff0c;unity引擎的使用越来越普遍&#xff0c;本文章主要记录博主本人入门unity的相关记录大部分依赖siki学院进行整理。12 一、认识unity引擎&#xff1f; 1、Unity相关信息&#xff1a; Unity的诞生&#xff1a;https://www.jianshu.com/p/550…...

未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘Link‘

报错 检查对函数"Link"得调用中是否缺失参数或参数数据类型不正确。 未定义与"double"类型的输入参数相对应的函数"Link"。 问题描述 网上搜了搜一般说是toolbox没有下载导致的&#xff0c;相当于调用的包本地没有。 但是我看看了 Robotics…...

为什么Transformer模型中使用Layer Normalization(Layer Norm)而不是Batch Normalization(BN)

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…...

Vite - 配置 - 文件路径别名的配置

为什么要配置别名 别名的配置&#xff0c;主要作用是为了缩短代码中的导入路径。例如有如下的项目目录&#xff1a; project-name| -- src| -- a| --b| --c| --d| --e| -- abc.png| -- index.html| -- main.js如果想在 main.js 文件中使用 abc.png ,则使用的路径是 &#xff1…...

phpStorm Xdebug调试 加FireFox浏览器

步骤1&#xff1a; [Xdebug] zend_extension“D:\phpstudy_pro\Extensions\php\php5.4.45nts\ext\php_xdebug.dll” xdebug.collect_params1 xdebug.collect_return1 xdebug.remote_enableOn xdebug.remote_hostlocalhost xdebug.remote_port9001 xdebug.remote_handlerdbgp ;…...

多维时序 | MATLAB实现PSO-BiGRU-Attention粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测

多维时序 | MATLAB实现PSO-BiGRU-Attention粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-BiGRU-Attention粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...