摆脱Zotero存储限制:WebDAV结合内网穿透打造个人文献管理云平台
文章目录
- 前言
- 一、Zotero安装教程
- 二、群晖NAS WebDAV设置
- 三、Zotero设置
- 四、使用公网地址同步Zotero文献库
- 五、使用永久固定公网地址同步Zotero文献库
前言
如果你是科研工作者、学生或者任何需要频繁处理大量学术资料的人士,你一定对如何高效管理和引用文献感到头疼吧?市面上有很多文献管理工具,但大多数要么功能单一,要么收费昂贵。
而Zotero
这款免费的全能型文献管理器不仅可以存储、管理和引用文献,还能支持多端同步笔记。不过,官方只给每个账号提供了300M的云存储空间,这显然不够用。而市面上的各种第三方云盘要么限制下载流量,要么需要购买会员才能享受高速度。
那么问题来了:有没有一种既省钱又高效的方法来解决这个问题呢?可以选择一种创新的方式来实现文献和笔记的多端同步——使用Zotero
官方支持的WebDAV功能,并结合NAS(网络附加存储)作为服务器,再加上cpolar内网穿透技术。这种方式不仅容量自由扩展、速度飞快,还能保证隐私安全。
本文介绍使用群晖NAS虚拟机搭建WebDAV服务器 点击获取群晖虚拟机和使用方式
一、Zotero安装教程
- 下载地址:Zotero | Your personal research assistant
- 默认安装即可
二、群晖NAS WebDAV设置
打开群晖 File Station ,在根目录中自行选择一个文件夹在其中新建 zotero 文件夹
我的路径是:/homes/zotero
点击打开套件中心,并搜索WebDAV
,点击安装套件
。
打开套件:
安装完成后,启动WebDAV服务,并勾选HTTP复选框
它的默认端口为5005端口,此处也可自行修改
点应用后,群晖nas部分设置完毕。
三、Zotero设置
首先,需要找到设置界面
WIN系统:编辑—首选项
MAC系统:点击菜单栏Zotero
-首选项
-同步
输入账号密码(第一次使用先创建账号)
选择 同步 , 成功登录后如下图所示,取消勾选红框部分
-
红框处不要勾选,这样会将附件同步至官方云存储。
-
“我的文献” 同步方式 改为 WebDAV
-
地址为 群晖nas局域网IP / homes
-
用户名密码为群晖nas的用户名密码
-
点击 验证服务器,显示如下说明成功链接nas WebDAV服务器:
选择 高级 —— 文件和文件夹
- 数据存储位置选择 自定义 ,路径为: 网络/你的nas /homes/zotero (刚刚创建的路径)
上传一些文献,点击右上角 同步 按钮:
打开 群晖 nas WebDAV 路径查看是否上传相关文件:
成功上传,说明nas 的WebDAV 服务器正常工作,接下来我们使用内网穿透将群晖nas的 WebDAV 服务端口映射至公网,实现公网环境也能使用 群晖WebDAV的 同步功能。
四、使用公网地址同步Zotero文献库
我们需要在局域网内能访问群晖的电脑上安装不限流量可以免费使用的内网穿透软件**Cpolar**:
访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。
Cpolar官网:https://www.cpolar.com/download
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
- macos系统:Cpolar快速入门教程:macOS系列 - cpolar 极点云
也可以直接安装Cpolar 群晖套件:如何在群晖系统中安装cpolar(群晖7.X版) - cpolar 极点云
使用电脑本机安装和使用群晖套件安装两种方式都可以映射群晖WebDAV:
- 使用群晖Cpolar套件,WebUI是 【http://群晖局域网ip:9200】
- 使用电脑本机安装Cpolar,WebUI是 【http://本机局域网ip:9200】
使用cpolar账号登录,登录后即可看到cpolar web 配置界面:
点击**——隧道管理——创建隧道**:
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择tcp
- 本地地址:群晖IP:5005
- 域名类型:随机端口
- 地区:选择China
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址.
保存这条公网地址: tcp://1.tcp.cpolar.cn:24087
打开另一台电脑的zotero软件,登陆同一zotero账户:
操作同上,选择WebDAV,下面的官方云服务取消打钩。
点击验证服务器,测试一下能否正常连接:
稍等一下,所有存在群晖nas /homes/zotero 路径下的可读文献就都同步过来了。
测试多端同步笔记:
打开一篇论文,高亮显示一段文字,再添加一个便签:
打开本机 成功同步:
五、使用永久固定公网地址同步Zotero文献库
为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。不便记忆,例如3ad5da5.r10.Cpolar.top,换个设备登陆还要去查这个地址,而且随机域名还是24小时变换,第二天登陆又要去查看新生成的地址。
所以我一般会提前在官网配置固定TCP地址,比较好记,每次登陆直接点开就能登陆,无需重新配置一遍地址。
官网控制面板,保留TCP:
Cpolar - secure introspectable tunnels to localhost
地址:选择China VIP / China VIP Top,记住选了什么,更新隧道处 选一样的。
保留成功,复制这条固定TCP地址:
我的固定地址是: 5.tcp.vip.cpolar.cn:10576
回到WebUI界面,修改下配置:
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:不变
- 本地地址:不变
- 域名类型:固定TCP
- 预留的TCP:复制粘贴上述固定地址
- 地区:选择相同地区
点击更新
隧道更新后,点击左侧的状态——在线隧道列表,查看所生成的固定公网地址.
使用固定地址同步WebDAV:
回到另一台电脑,打开同步设置界面:
将原来的随机临时TCP地址更换为我们在官网控制台保留的 永久固定TCP地址,其他不需要修改
再次验证:
成功与本地群晖NAS WebDAV服务器建立链接,使用固定地址后,就是永久不变的,不用像使用网盘一样担心会员到期,下载速度被限制等等,所以资源都存在本地,保证隐私,安全又放心。
通过上述方法,你不仅可以高效地管理文献和笔记,还可以避免云盘的各种限制和高昂的费用。NAS作为WebDAV服务器不仅提供了巨大的存储空间,还能确保数据的安全性和隐私保护。
相关文章:
摆脱Zotero存储限制:WebDAV结合内网穿透打造个人文献管理云平台
文章目录 前言一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zotero文献库五、使用永久固定公网地址同步Zotero文献库 前言 如果你是科研工作者、学生或者任何需要频繁处理大量学术资料的人士,你一定对如何高效管理和引用文献感到头…...
Unity 对Sprite或者UI使用模板测试扣洞
新建两个材质球: 选择如下材质 设置如下参数: 扣洞图片或者扣洞UI的材质球 Sprite或者UI的材质球 新建一个单独Hole的canvas,将SortOrder设置为0,并将原UI的canvans的SortOrder设置为1 对2DSprite则需要调整下方的参数 hole的O…...
Wend看源码-Java-Arrays 工具集学习
摘要 java.util.Arrays 是 Java 标准库中的一个实用工具类,它提供了各种静态方法来操作数组,包括排序、搜索、比较、填充等。这些方法简化了对数组的操作,并且在很多情况下可以提高代码的可读性和效率。以下是关于Arrays类中提供的一些主要方…...
【算法复健】0102 快速选择算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、算法引入1. 冒泡排序2.快速排序3. 快速选择(1)题目:数组中的第K个最大元素(2)代码 前言 本文由快速排序算法引入快速选…...
【疑难杂症】 HarmonyOS NEXT中Axios库的响应拦截器无法拦截424状态码怎么办?
今天在开发一个HarmonyOS NEXT的应用的时候,发现http接口如果返回的状态码是424时,我在axios中定义的拦截器失效了。直接走到了业务调用的catch中。 问题表现: 我的拦截器代码如下: 解决办法: 先说解决办法ÿ…...
口语笔记——使动词
每个使动词都可以有三种形式,以move为例: move作为动词可表达:使……感动,让……感动,通常用于主谓宾结构。ed作为形容词可表达:感动的,通常用于主系表结构。ing作为形容词可表达:令…...
SQL-leetcode-196. 删除重复的电子邮箱
196. 删除重复的电子邮箱 表: Person -------------------- | Column Name | Type | -------------------- | id | int | | email | varchar | -------------------- id 是该表的主键列(具有唯一值的列)。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。 编写解…...
汇编语言:从键盘输入数字字符,(计算阶乘),以无符号十进制形式输出(分支、循环程序)
1.分支结构原理 分支结构是汇编语言中的一种基本控制结构,它允许程序根据条件选择执行不同的路径。分支结构通常通过跳转(jump)指令来实现。 条件判断: 汇编语言中的条件判断通常通过比较(compare)指令来实…...
汽车损坏识别检测数据集,使用yolo,pasical voc xml,coco json格式标注,6696张图片,可识别11种损坏类型,识别率89.7%
汽车损坏识别检测数据集,使用yolo,pasical voc xml,coco json格式标注,6696张图片,可识别11种损坏类型损坏: 前挡风玻璃(damage-front-windscreen ) 损坏的门 (damaged-d…...
python的urllib模块和http模块
1.python的urllib库用于操作网页,并对网页内容进行处理 urllib包有如下模块: urllib.request:打开和读取URL urllib.error: 包含urllib.request抛出的异常 urllib.parse: 解析URL urllib.robotparser࿱…...
Codigger集成Copilot:智能编程助手
在信息技术的快速发展中,编程效率和创新能力的提升成为了开发者们追求的目标。Codigger平台通过集成Copilot智能编程助手,为开发者提供了一个强大的工具,以增强其生产力、创新力和技能水平。本文将深入探讨Codigger与Copilot的集成如何为IT专…...
快递物流查询API接口推荐
针对快递物流查询API接口及行政区划解析的需求,以下是一些推荐和解析: ### 一、快递物流查询API接口推荐 1. **ShowAPI** * **功能**:支持国内外1500快递物流公司的物流跟踪服务,包括顺丰、圆通、申通、中通、韵达等主流快递公司…...
【Unity3D】3D渲染流水线总结
3D渲染流水线: CPU阶段(应用阶段): 1、加载数据:硬盘->内存->显存 场景数据从硬盘HDD加载到内存RAM,网格和纹理等数据会再次加载到显存VRAM,显卡对显存访问速度更快。 2、设置渲染状态…...
LevelDB 源码阅读:利用 Clang 的静态线程安全分析
LevelDB 中有一些宏比较有意思,平时自己写代码的时候,还基本没用过。这些宏在 thread_annotations.h 中定义,可以在编译时使用 Clang 编译器的线程安全分析工具,来检测潜在的线程安全问题。 比如下面这些宏,到底有什么…...
不只是工具:ChatGPT写作在学术中的创新思维与深度思考
目录 1.数据选择与质量 2.Prompt技巧 1.明确任务 2.上下文信息 3.好的示例 3.后期编辑与润色 随着AIGC技术的迅猛发展和不断升级,AI写作正逐渐成为各行各业的新宠。然而不少宝子们们却发现了一个有趣的现象:虽然都是依赖AI生成文本,有些…...
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(八continue语句和break语句)
在C中,continue语句和break语句都是用于控制循环的执行流程的关键字,但它们有不同的用途和行为。 1、break语句用于立即终止当前所在的循环或switch语句,并跳出循环体,继续执行循环之后的代码,break语句用于直接跳出循…...
sql server 动态执行sql
实例: execute sp_executesql Nselect count(1) FROM table X2 WITH(NOLOCK) WHERE X2.UPDDTTM > DT_START AND X2.UPDDTTM < DT_END , NDT_START datetime,DT_END datetime, DT_START2025-01-02 10:06:58.620,DT_END2025-01-02 10:09:35.457 参考&…...
【数据结构Ⅰ复习题】
如有错误欢迎指正,题目根据教材----------严蔚敏数据结构(c语言版 第2版)人民邮电电子版 数据结构Ⅰ复习题 一、填空题1.算法应该具备的5个重要特性有___有穷性___、确定性、可行性、输入和输出。2.非空单链表L中*p是头…...
经验证:将数据从索尼传输到Android的 4 种方法
概括 像Android Galaxy S20 这样的新型Android智能手机很酷,但除了将数据从索尼传输到Android之外。众所周知,旧的索尼手机上存储着大量的文件,因此将数据从旧的索尼手机传输到新的Android手机非常重要。为了解决这个问题,我们做…...
服务器端请求伪造之基本介绍
一.服务器端请求伪造漏洞基础 1.客户端请求 客户端请求指的是由客户端设备(如个人计算机、智能手机、平板电脑等)或软件(浏览器、各种APP)发出的请求,以获取指定的网页、图片、视频或其他资源。比如当用户在浏览器中输…...
Java反射详解(三)
上一篇博客:Java反射详解(二) 写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.c…...
HTML——59. maxlength和disabled属性
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>maxlength和disabled属性</title></head><body><!--input元素的type属性:(必须要有)1.指定输入内容的类型2.默认为text,单行文本框--> …...
Java中的函数式接口详解(一)
1. 函数式接口 1.1. 定义 函数式接口(Function Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 函数式接口又称为:功能接口。 功能接口为 Lambda 表达式和方法引用(用双冒号 ::来进行方法调用)提供…...
Quo Vadis, Anomaly Detection? LLMs and VLMs in the Spotlight 论文阅读
文章信息: 原文链接:https://arxiv.org/abs/2412.18298 Abstract 视频异常检测(VAD)通过整合大语言模型(LLMs)和视觉语言模型(VLMs)取得了显著进展,解决了动态开放世界…...
redis的学习(二)
4 哈希表 哈希类型中的映射关系通常称为field-value,⽤于区分Redis整体的键值对(key-value), 注意这⾥的value是指field对应的值,不是键(key)对应的值, 4.1 操作命令 hsetÿ…...
简单使用linux
1.1 Linux的组成 Linux 内核:内核是系统的核心,是运行程序和管理 像磁盘和打印机等硬件设备的核心程序。 文件系统 : 文件存放在磁盘等存储设备上的组织方法。 Linux 能支持多种目前浒的文件系统,如 ext4 、 FAT 、 VFAT 、 ISO9660 、 NF…...
springboot541党员学习交流平台(论文+源码)_kaic
摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统党员学习交流平台信息管理难度大,容错率低&am…...
心力衰竭相关临床记录数据分析开发技术概述
心力衰竭相关临床记录数据分析开发技术概述 心力衰竭临床记录数据分析的开发涉及多种技术,包括数据采集、处理、建模和可视化等方面。以下是从技术角度对整个开发流程的概述: 数据采集技术 1.1 数据来源 公开数据集:如 UCI 数据存储库、Clin…...
SpringMVC(六)拦截器
目录 1.什么是拦截器 2.拦截器和过滤器有哪些区别 3.拦截器方法 4.单个拦截器的执行流程 5.使用拦截器实现用户登录权限验证(实例) 1.先在html目录下写一个login.html文件 2.在controller包下写一个LoginController文件 3.加拦截器 1.创建一个conf…...
将simpletex 识别的公式 复制到ppt 中
1)点击 复制MathML(word) 2)右击粘贴到任意word 中 3)将word公式粘到 office (2019) 的ppt 中 线上识别链接:SimpleTex - Snip & Get!...
vs 2022 中xml 粘贴为Class 中,序列化出来的xml 的使用
上图是visual studio 2022 中使用的粘贴功能的菜单位置 在生成的xml 中,有些是类似如下类型的 [System.Serializable] [System.Xml.Serialization.XmlType] public class Item {private bool isVisibleField;private bool isVisibleFieldSpecified;[System.Xml.Se…...
短视频平台的视频水印怎么去除?
当你看到某个短视频,觉得内容非常有价值,想要个人收藏以便日后学习或回顾,但发现短视频平台无法直接下载且带有水印时,以下提供的几种方法将帮助你轻松去除水印,获取高清无水印的视频内容。 方法一:使用第…...
《Vue3实战教程》34:Vue3状态管理
如果您有疑问,请观看视频教程《Vue3实战教程》 状态管理 什么是状态管理? 理论上来说,每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例: vue <script setup> import { r…...
AI大模型系列之七:Transformer架构讲解
目录 Transformer网络是什么? 输入模块结构: 编码器模块结构: 解码器模块: 输出模块结构: Transformer 具体是如何工作的? Transformer核心思想是什么? Transformer的代码架构 自注意力机制是什么…...
每天五分钟机器学习:凸集
本文重点 在SVM中,目标函数是一个凸函数,约束集合是一个凸集。因此,SVM问题可以转化为一个凸规划问题来求解。这使得SVM在实际应用中具有较高的计算效率和准确性。 凸集的定义 凸集是指一个集合中的任意两点之间的线段都完全包含在这个集合中。换句话说,给定集合C中的两…...
【智能算法】改进蚁狮优化算法【matlab】
目录 1 主要内容 2 部分程序 3 程序结果 下载链接 1 主要内容 该程序方法复现《改进蚁狮算法的无线传感器网络覆盖优化》两种改进算法模型,即原始ALO算法的基础上添加了两种改进策略: - 改进1:将原先的间断性边界收缩因子变为连续性边界…...
【Python】闭包
闭包(Closure)是指一个函数记住了并可以访问它的词法作用域(lexical scope),即使这个函数在词法作用域之外执行。 闭包其实就是延伸了作用域的函数,包括被延伸函数主体中引用的非全局变量和局部变量。这些…...
Python跨年烟花
目录 系列文章 写在前面 技术需求 完整代码 下载代码 代码分析 1. 程序初始化与显示设置 2. 烟花类 (Firework) 3. 粒子类 (Particle) 4. 痕迹类 (Trail) 5. 烟花更新与显示 6. 主函数 (fire) 7. 游戏循环 8. 总结 注意事项 写在后面 系列文章 序号直达链接爱…...
QT------------其他工具软件和技术
实现思路 多语言界面程序设计: 使用 QTranslator 类为 QT 应用程序提供多语言支持。将不同语言的翻译文件(.qm 文件)添加到应用程序中,根据用户的语言设置动态加载相应的翻译文件。 QT 样式表(QSS)&#x…...
数据结构9.3 - 文件基础(C++)
目录 1 打开文件字符读写关闭文件 上图源自:https://blog.csdn.net/LG1259156776/article/details/47035583 1 打开文件 法 1法 2ofstream file(path);ofstream file;file.open(path); #include<bits/stdc.h> using namespace std;int main() {char path[]…...
javaEE-文件操作和IO-文件
目录 一.什么是文件 1.文件就是硬盘(磁盘)上的文件。 2.计算机中存储数据的设备: 3.硬盘的物理特征 4.树型结构组织和⽬录 5.文件路径 文件路径有两种表示方式: 6.文件的分类 二、java中文件系统的操作 1.File类中的属性: 2.构造方…...
富芮坤FR800X系列之软件开发工具链(如IDE、编译器、调试器等)
文章目录 一、IDE(集成开发环境)二、编译器三、调试器四、其他辅助工具五、小结 FR800x系列作为一款低功耗蓝牙芯片,其软件开发工具链对于开发者来说至关重要。以下是对FR800x软件开发工具链的详细介绍,包括IDE(集成开…...
微服务-Eureka
Eureka的作用 使用RestTemplate完成远程调用需要手动的生命被调用者的ip和端口,从而能够发起http请求,但是如果有很多个实例也更加不能有效的处理,而且我们又该如何知道这些实例是否健康呢。所以就有了很多的注册中心比如Eureka、Nacos等等。…...
Elasticsearch: 高级搜索
一、match_all匹配所有文档 1、介绍: match_all查询是一个特殊的查询类型,它用于匹配索引中的所有文档,而不考虑任何特定的查询条件。 基本语法: GET /<your-index-name>/_search {"query": {"match_all…...
项目优化之策略模式
目录 策略模式基本概念 策略模式的应用场景 实际项目中具体应用 项目背景: 策略模式解决方案: 计费模块策略模式简要代码 策略模式基本概念 策略模式(Strategy Pattern) 是一种行为型设计模式,把算法的使用放到环境类中,而算…...
HTML——57. type和name属性
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>type和name属性</title></head><body><!--1.input元素是最常用的表单控件--><!--2.input元素不仅可以在form标签内使用也可以在form标签外使用-…...
LabVIEW 实现自动对焦的开发
自动对焦(Autofocus, AF)技术是通过分析图像或传感器信号,动态调整焦点位置以实现清晰成像或高精度定位的过程。在LabVIEW中,可以通过集成信号采集、数据处理、控制算法和硬件接口模块,实现多种自动对焦方法࿰…...
Ruby 数据类型
Ruby 数据类型 Ruby,作为一种动态、开放源代码的编程语言,以其简洁明了的语法和强大的功能而闻名。在Ruby中,数据类型是编程的核心组成部分,它们决定了变量可以存储的信息种类以及可以对这些信息执行的操作。Ruby是一种类型安全的…...
【MySQL】--- 表的CRUD
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: MySQL CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)。 🏠 插入C 🧷 基本…...
算法13、基础二分查找的应用(木根切割等)
🌰1、方程求根 晴问算法 1️⃣即求f(x) x^3 x^2 x - a 0的根,又因为要求精确到0.01,所以eps至少设置为1e-3或者更小; 2️⃣求导得3x^2 2x 1 2x^2 x^2 2x 1 2x^2 (x1)^2 > 0, 所以f(x)是单调递增函数&…...