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

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...