Syncthing的适用场景
Syncthing主要用于两台或多台电脑间的文件同步(备份)
,比如你可以在工作电脑上把所有需要的文件夹都设置为同步,共享给你家里的电脑,那么你在工作电脑上做的任何工作(修改)
,所有东西都会及时同步到家里电脑,这样做的好处
:
1. 一是可以备份
,避免工作电脑因为各种意外造成的资料丢失
;
2. 二是你回到家也可以在家里的电脑上继续工作,所作的任何更改又会自动同步到工作电脑
,两台电脑始终保持同步!
Syncthing简介
- Syncthing 官网: https://syncthing.net/
- Syncthing 官方 github: https://github.com/syncthing/syncthing/
Syncthing核心程序是一个终端程序,实现了Web服务器,可以通过浏览器访问和配置。 - 如果需要常规的安装程序,以便实现更方便、丰富和简介的设置,可以下载Syncthing带界面的Gui程序:
- Windows tray utility, filesystem watcher & launcher: SyncTrayzor
- macOS application bundle: syncthing-macos
- Cross-platform GUI wrapper: Syncthing-GTK
- Android app:
Google Play
F-Droid
- Syncthing 另外非常好的一点就是可以实现
内网穿透
,用P2P方式
建立多台电脑的直接连接,这样可以减少第三方服务器的压力,并且上传下载带宽直接受制于两台电脑最小的一台,比如公司电脑是10M上行,家里电脑是100M下行,那么传输带宽就取10M,传输速度可以达到1M/S。 - Syncthing
并不是
一个搭建私有云盘
的工具,如果想搭建私有云盘,可以用参考我的另一篇文章 nextcloud
Syncthing的目标
Syncthing是一个连续的文件同步程序。它在两台或更多台计算机之间同步文件。下面是Syncthing的目标,按重要性顺序列出,最重要的是第一个。
此处的“正在同步文件”非常准确。这意味着我们专门排除了不是文件的内容-日历项,即时消息等。如果实际上将它们存储为磁盘上的文件,则它们当然可以作为文件同步。
- 防止数据丢失
保护用户数据至关重要。我们采取一切合理的预防措施,以避免损坏用户的文件。这是最重要的目标,没有这个目标,同步文件就变得毫无意义。这意味着我们不会为了性能或在某些情况下甚至是可用性而进行不安全的折衷。
- 防范攻击者
同样,保护用户数据至关重要。不管我们的其他目标是什么,我们都绝不能让用户的数据容易受到未授权方的窃听或修改。应该从上下文中理解这一点。期望Syncthing能够抵抗装备精良的状态级别的攻击者并不一定是合理的。但是,我们会尽力而为。还要注意,这与匿名(目前不是目标)不同。
- 易于使用
同步应该平易近人,易于理解且具有包容性。复杂的概念和数学构成Syncthing功能的基础。但是,应将其抽象或隐藏到某种程度,以使普通公众可以使用Syncthing。
- 自动
仅在绝对必要时才需要用户交互。具体来说,这意味着无需提示即可拾取文件更改,无需提示即可解决冲突,并且无需提示即可维护连接。我们仅在需要实现(最重要的)安全,安全或轻松目标之一时提示用户。
- 普遍可用
同步应该在每台普通计算机上运行。我们谨记,最新技术并非总是可用于任何给定的个人。计算机包括台式机,笔记本电脑,服务器,虚拟机,小型通用计算机(例如Raspberry Pi)以及可能的平板电脑和电话。 NAS设备,烤面包机,汽车,枪支,恒温器等可能包括计算能力,但Syncthing在这些设备上平稳运行并不是我们的目标。
- 对于个人
同步主要是为了使单个用户具有安全,可靠和易于使用的文件同步能力。我们承认,它在企业环境中也很有用,并包含支持该功能的功能。如果这与个人的要求相抵触,则应优先考虑。
- 其他一切
我们关心的很多事情都没有列入清单。只要不与上述目标冲突,就可以对这些值进行优化。例如,性能是我们关心的事情。我们只关心安全性,安全性等方面。代码库的可维护性以及为维护者提供娱乐价值也很重要。可以理解,同步的某些方面不是最理想的,甚至与上述目标相反。但是,我们不断努力使Syncthing越来越符合这些目标。