


synthing 同步的界面
在扔掉百度云盘之前,你是不是踩过如下的坑? :
国内的各家云盘,对用户像父亲对儿子一样耳提面命地亲切,个人隐私说看就看,内容说删就删,网盘说关就关,就这还要收费,让你不得不叫他们爸爸;
国外的云盘速度又慢,存储空间又贵,放大文件很容易满,每年买ICloud的钱够几个VPS了。
自己搭建的NAS太折腾了,浪费时间,维护起来是个大坑,搬家也很麻烦。
自己搭建的云盘比较提心吊胆,xss,sql注入,说不定哪天就发生了,功能越复杂,维护起来越麻烦,多个服务器同时同步备份麻烦。
所以我就想自己搭建一个功能简洁的同步盘
我对我的同步保存的云盘有以下几个要求:
搭建和维护像FTP服务器那样简单,可以直接用系统的包管理器维护升级
稳定安全,像FTP服务器那样安全,不需要担心xss注入,sql注入等乱七八糟的问题,
跨平台,起码跨 Linux 和 OSX
双向同步,我是希望本地删除后,多个服务器也同步删除。如果有版本控制功能,可以关掉。
功能简单,可以用脚本扩展管理
占用服务器资源小
我想着这些要求并不高吧,linux 下的备份工具那么多,一定可以找到一款我心仪的。通过比较和实践之后,最终我找上了syncthing,事实证明,它已经超出了我想象地好。
如果你不想再折腾了,但还是想控制个人数据,多端稳定同步备份,那么我推荐syncthing。
为了忽悠你少折腾,一步到位,我再来吹捧一下 syncthing 相较于其他方案的优势:
Go(AKA Golang)是当今可用的最高性能的编程语言之一,并且还拥有最好的现代语言和库之一。知识点:Bilibili 的后台就是用Go语言写的。
虽然这不是syncthing独有的,但是对于如我一样对于商业公司一直保持警惕的人来说,这一点也相当重要。就个人经验来说,开源而且稳定更新的软件一般都是非常有良心的,从来不会有什么猫腻,更不会由于它是免费的,像国内公司一样无耻偷偷地收集你的数据,让你叫它爸爸。
用一个词语来形容就是端到端加密,复杂解释如下:
如同步是非常私密的,因为数据直接保存到您选择的位置。无需第三方参与。由于加密是端到端的,因此所使用的任何中继服务器都无法读取您的数据。
在技术方面,您的数据受Block Exchange Protocol v1保护。这结合使用基于TLS 1.2证书的身份验证和“强密码套件”和完美前向保密性(PFS)。
或许您已经懵逼了,文件存哪里?如何同步?哦,忘了介绍它最重要的一点了。我们重新来一次,syncthing 是一款去中心化的P2P文件同步系统,它能够在本地和因特网上的不同设备直接同步文件。在很大程度上 syncthing 像 bitorrent sync,只不过syncthing免费而且开源。
大概明白了吗?不明白我们再用英文来介绍一遍:
Syncthing is a secure decentralized peer-to-peer (P2P) file synchronization program that can sync files between devices on a local network or over the internet. In many ways, it is similar to BitTorrent Sync, except that it is completely free and open source。
支持macos,linux,windows,android
几乎不需要你有任何的知识,只要您下载了软件,开箱即用。由于它的使用方法真地没有什么可以介绍的,所以本视频将演示一种最复杂的使用方法。
吹捧到这种程度,我觉地应该要演示一下了,这里我以linux(Debian 9)和 OSX 为例,其他的平台类似。
简单来说,分两步:
第一步:安装
第二步:交换ID,开始同步
syncthing 提供的官方的安装版本和社区贡献的版本
官方的版本可以去这里下载:https://syncthing.net/

官方的版本提供基本的同步功能,如果您愿意玩一点花里胡哨的,可以去社区贡献版那里看看。
社区贡献版本里有NAS插件,版本控制工具,Docker等等,这里我给出链接。
https://docs.syncthing.net/users/contrib.html
由于我使用的是debian 9 所以使用apt 安装
sudo apt install syncthing
随后输入syncthing 就可以启动了,启动后大概是这样

之后你就可以在浏览器中打开http://localhost:8384,如图所示进行配置

这时候添加另外一个设备的ID,就可以在两个设备间进行同步了

其他的一些设置方式,比如文件夹,本地发现,版本控制,本地监听地址,监听端口等等的看着字面意思就明白,我就不一一介绍了。
在Mac Os下的设置方式也类似,我这里使用的是社区提供的一个客户端,是一个托盘应用程序。下载链接如下
https://github.com/syncthing/syncthing-macos
这就是最简单的使用方式了,如果您觉得还不满意,非要折腾,让它来更像一个云盘,要搞以下几项:
域名解析
ssl 证书
nginx 反向代理
我会在下个视频介绍和演示。