当前位置: 首页 > 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粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 …...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...

RabbitMQ 各类交换机

为什么要用交换机&#xff1f; 交换机用来路由消息。如果直发队列&#xff0c;这个消息就被处理消失了&#xff0c;那别的队列也需要这个消息怎么办&#xff1f;那就要用到交换机 交换机类型 1&#xff0c;fanout&#xff1a;广播 特点 广播所有消息​​&#xff1a;将消息…...