Syncthing文件同步 - 免费搭建开源的文件自动同步服务器并公网远程访问【私人云盘】
文章目录
- 1. 前言
- 2. Syncthing网站搭建
- 2.1 Syncthing下载和安装
- 2.2 Syncthing网页测试
- 2.3 注册安装cpolar内网穿透
- 3. 本地网页发布
- 3.1 Cpolar云端设置
- 3.2 Cpolar本地设置
- 4. 公网访问测试
- 5. 结语
1. 前言
在数据爆炸的当下,每天都会产生海量的数据,这些数据可能是我们手机里新拍的照片、工作接收的文件档案、随手编辑写下的文档、或者新下载的视频等等,这些数据很快就能填满容量堪忧的智能设备(手机、平板等)。正因如此,云存储一时间风头无两,不仅能让这些海量的数据有地方安身,还能随时分享给需要的人。但大厂的云盘总是问题多多,只能自建云盘保平安。
实际上,现在的私人云盘软件已经发展得十分完善,不仅能满足基本的大容量存储需求,还能不受限速困扰。当然,一些私有云盘软件,还能提供很多特色功能。今天,笔者就为大家介绍,如何安装能够自行同步备份数据的软件Syncthing,以及如何与cpolar配合,让我们能在公共互联网上对Syncthing进行操作。
2. Syncthing网站搭建
Syncthing与知名的Resilio Sync很像,都是基于P2P分布式技术,能够让对台设备实现实时同步文件(也可以选择某台设备文件只上传)。不过从其功能设计上看,可能更偏向“文件/文件夹”同步工具,不过并不妨碍我们将其作为云盘服务器工具来使用。
2.1 Syncthing下载和安装
Syncthing虽然是以web页面进行操控,但其安装并不像其他Web部署那样,需要将Web文件放进运行环境中,而是直接提供了对Windows系统来说十分方便的.exe文件安装方式(为什么说Windows?因为笔者使用Windows啊),我们只要在其官网下载页面【https://syncthing.net/downloads/】,下载对应操作系统软件即可。当然Syncthing也提供其他主流操作系统版本的软件下载。



Syncthing软件压缩包下载完成后,将压缩包解压,找到解压后文件夹里的Syncthing.exe程序,双击即可运行。在安装过程中,可能会弹出Windows防火墙询问,我们只要允许其访问即可。


安装程序结束后,Syncthing会自动打开浏览器的8384端口(Syncthing的默认输出端口),进入Syncthing的主界面,我们可以在这里对Syncthing进行设置,如同步内容,设备准入等等。

在设置页面,我们也能找到Syncthing的输出端口号,而我们之后的操作,主要就是将这个只能在局域网内访问到的Syncthing页面,变成能够在公共互联网上访问到的私人云盘入口。

2.2 Syncthing网页测试
当然,为了确定我们能在局域网内访问到Syncthing网页,确保Syncthing网页运行无误,我们可以进行一个小测试,即在浏览器的无痕模式中,输入Syncthing地址+端口号,如果能正常访问到Syncthing网页,即证明我们的Syncthing可以正常运行。

需要注意的是,Syncthing在没有添加到Windows服务列表并启用后台运行时,需要保持命令行窗口运行,如果关闭的话,会导致Syncthing运行终止。
2.3 注册安装cpolar内网穿透
完成Syncthing的安装后,就可以转入cpolar内网穿透工具的安装。与Syncthing一样,cpolar的安装注册同样很简单。我们可以直接在cpolar的官网页面找到下载按钮。
cpolar官网:https://www.cpolar.com/

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件,即可自动执行安装程序。接着只要一路Next就能完成安装。


由于cpolar内网穿透会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。


3. 本地网页发布
现在,我们有了可以正常运行的Syncthing软件,和可以建立内网穿透数据隧道的cpolar内网穿透,接下来我们就可以使用cpolar,创建一个能够连接本地测试页面的公共互联网地址,让我们的Syncthing能在公共互联网上进行操作设置。
3.1 Cpolar云端设置
文件同步可能是随机和持续的,但cpolar免费版的数据隧道每24小时重置一次。相信谁也不会想每天进行数据隧道的重连,因此可以将cpolar升级至vip版,以便获得能长期稳定存在的内网穿透数据隧道。
下一步,我们着手对内网穿透数据隧道进行设置,要获得长期稳定的内网穿透数据隧道,需要先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。
在这里生成一个公共互联网地址(也可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名栏位。

在保留二级子域名栏位,需要进行几项信息的简单设置,设置内容为:
地区:服务器所在区域,就近选择即可二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可
完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

3.2 Cpolar本地设置
完成cpolar内网穿透云端的设置,并保留了空白数据隧道后,我们打开本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。
在本地打开并登录cpolar客户端后(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

点击客户端主界面左侧“隧道管理”项下的“创建隧道”按钮,进入本地隧道创建页面(如果要创建临时数据隧道,可直接在这里进行设置,不必登录cpolar官网设置空白数据隧道)。
在这个页面,同样需要进行几项信息设置,这些信息设置包括:
1.
隧道名称– 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可;
2.协议– 由于Syncthing是网页显示的,因此选择http协议;
3.本地地址– 本地地址即为Syncthing的输出端口号,而Syncthing默认输出端口为8384,因此这里也填入8384;
4.域名类型– 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,该例子中为“Syncthingweb”(如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址);
5.地区– 与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

完成这几项简单设置,就可以点击页面下方的创建按钮,将cpolar云端的空白数据隧道与本地的Syncthing页面连接起来。
我们可以在“隧道管理”项下的“隧道列表”页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

4. 公网访问测试
最后,我们点击左侧状态项下的在线隧道列表按钮,就能找到这个页面的公共互联网地址。

不过Syncthing有host头检查功能,因此我们还需要对cpolar的数据隧道进行一个小修改,才能在公共互联网上访问到本地Syncthing网页。
我们回到隧道管理——隧道列表页面,找到“Syncthing页面”的隧道,并点击右侧的编辑

进入“Syncthing页面”,点击高级按钮,为这条数据隧道编辑一个新的host头。

点开“高级”设置页面,找到Host头域,将Syncthing在本地的网页地址填入空格处,也就是localhost:8384,这样公共互联网访客通过cpolar访问本地Syncthing网页时,cpolar可以重写host头。填写完成后,点击页面下方的更新按钮,保存我们所做的host头变更。

完成host头的设置后,我们回到在线隧道列表页面,找到Syncthing页面的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地Syncthing页面,让我们能在公共互联网上,访问到Syncthing页面。


5. 结语
当然,使用cpolar创建的数据隧道访问本地Syncthing页面并不是cpolar内网穿透的唯一用途,我们可以使用cpolar内网穿透创建任何指向本地tcp或http端口的内网穿透数据隧道,将本地网页或软件发布到公共互联网上可正常访问。
相关文章:
Syncthing文件同步 - 免费搭建开源的文件自动同步服务器并公网远程访问【私人云盘】
文章目录 1. 前言2. Syncthing网站搭建2.1 Syncthing下载和安装2.2 Syncthing网页测试2.3 注册安装cpolar内网穿透 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 在数据爆炸的当下,每天都会产生海量的数据,这些…...
SQL——索引
💡 索引 在关系型数据库中,索引是一种单独的、物理上的对数据库表中的一列或多列的值进行排序的一种存储结构,他是某个表中的一列或着若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单(类似于图书目录&#x…...
Java代码组成部分
一、构造函数与默认构造函数 构造函数,是一种特殊方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 /** * 矩形 */ class Rectangle {/*** 构造函数*/public Rectangle(int leng…...
vue2和vue3有啥区别,vue3的优点有哪些?
Vue.js 是一种流行的 JavaScript 框架,用于开发现代 Web 应用程序。Vue.js 具有简单易用、高效和灵活等特点,能够极大地提高开发效率并改进用户体验。Vue.js 一直在不断更新和改进,它的最新版本是 Vue 3。 在本文中,我们将探讨 V…...
就业内推 | 上市公司招网工,最高25k*14薪,六险一金
01 锐捷网络 招聘岗位:网络工程师 职责描述: 1、承接本产品线(无线或数通)所有咨询、故障、网络变更等业务,响应内外部客户的业务响应需求,需要值班。 2、同时作为产品线技术力的核心,需要负责…...
低代码让开发变得不再复杂
文章目录 前言低代码 VS 传统开发为什么选择IVX?平台比对总结 前言 在数字化的时代背景下,企业都面临巨大的数字化转型的挑战。为了应对这样的挑战,企业软件开发工具和平台也在不断革新和发展。低代码开发平台随之应运而生,成为了…...
【前端客栈】使用CSS实现畅销书排行榜页面
📬📫hello,各位小伙伴们,我是小浪。大家都知道,我最近是在更新各大厂的软件测试开发的面试真题,也是得到了很大的反馈和好评,几位小伙伴也是成功找到了测开的实习,非常不错。如果能前…...
【周末闲谈】超越ChatGPT?科大讯飞星火认知大模型
个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 前言星火名字的由来科大讯飞星火落地应用演示赶超ChatGPT的底气在哪里?“硬…...
第N2周:中文文本分类-Pytorch实现
目录 一、前言二、准备工作三、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 三、模型构建1. 搭建模型2. 初始化模型3. 定义训练与评估函数 四、训练模型1. 拆分数据集并运行模型 一、前言 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 …...
Salesforce许可证和版本有什么区别,购买帐号时应该如何选择?
Salesforce许可证分配给特定用户,授予他们访问Salesforce产品和功能的权限。Salesforce版本和许可证是不同的概念,但极易混淆。 Salesforce版本:这是对组织购买的Salesforce产品和功能的访问权限。大致可分为Essentials、Professional、Ente…...
接口测试怎么做?全网最详细从接口测试到接口自动化详解,看这篇就够了...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 抛出一个问题&…...
DataStore入门及在项目中的使用
首先给个官网的的地址:应用架构:数据层 - DataStore - Android 开发者 | Android Developers 小伙伴们可以直接看官网的资料,本篇文章是对官网的部分细节进行补充 一、为什么要使用DataStore 代替SharedPreferences SharedPreferences&a…...
用Python爬取中国各省GDP数据
介绍 在数据分析和经济研究中,了解中国各省份的GDP数据是非常重要的。然而,手动收集这些数据可能是一项繁琐且费时的任务。幸运的是,Python提供了一些强大的工具和库,使我们能够自动化地从互联网上爬取数据。本文将介绍如何使用P…...
深度学习-第T5周——运动鞋品牌识别
深度学习-第T5周——运动鞋品牌识别 深度学习-第T5周——运动鞋品牌识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目3、查看数据 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 …...
自媒体的孔雀效应:插根鸡毛还是专业才华?
自媒体时代,让许多原本默默无闻的人找到了表达自己的平台。有人声称,现在这个时代,“随便什么人身上插根鸡毛就可以当孔雀了”。可是,事实真的如此吗? 首先,我们不能否认的是,自媒体确实为大众提…...
Linux系统优化
一、系统启动流程 1.centos6 centos6开机启动流程,传送门 2.centos7启动流程 二、系统启动运行级别 2.1 什么是运行级别 运行级别:指操作系统当前正在运行的功能级别; [rootweb01 ~]# ll /usr/lib/systemd/system lrwxrwxrwx. 1 root root…...
Java笔记_22(反射和动态代理)
Java笔记_22 一、反射1.1、反射的概述1.2、获取class对象的三种方式1.3、反射获取构造方法1.4、反射获取成员变量1.5、反射获取成员方法1.6、综合练习1.6.1、保存信息1.6.2、跟配置文件结合动态创建 一、反射 1.1、反射的概述 什么是反射? 反射允许对成员变量,成…...
前端web入门-HTML-day01
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 HTML初体验 HTML 定义 标签语法 总结: HTML 基本骨架 基础知识: 总结&#…...
创建一个Go项目
创建一个Go项目 1.创建项目 package mainfunc main() {println("你好啊,简单点了!") }如果是本地的话可以采用go run 项目名的方式。 可以采用go run --work 项目名的方式,此时可以展示日志信息。 如果是只编译的话 go build 项…...
从 Spring 的创建到 Bean 对象的存储、读取
目录 创建 Spring 项目: 1.创建一个 Maven 项目: 2.添加 Spring 框架支持: 3.配置资源文件: 4.添加启动类: Bean 对象的使用: 1.存储 Bean 对象: 1.1 创建 Bean: 1.2 存储 B…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
