自建Syncthing中继服务器(私密传输或造福大众)

一.介绍

我之前介绍了Syncthing,作为一款开源的文件同步程序,它的功能还是非常强大的,我也很高兴能看到它被越来越多的人知道和使用,前几天有位朋友留言说让我介绍下Syncthing的中继服务器的搭建,在这之前的一段时间我在网上偶尔看到过有朋友介绍过一次。

首先来科普一下? 不同于Resilio Sync(BT Sync)使用BT协议进行数据传输,Syncthing使用了BEP对等自由块交换协议(Block Exchange Protocol),这两个倒是没啥优劣的问题,主要是BT Sync在老版本的时候支持DHT,而后来删掉了,这也是导致它的官方服务器在被干扰之后几乎完全无法使用的原因之一,所以当初有人说老版本(支持DHT)的依旧能够使用。而Syncthing不一样的是它没有使用DHT,但是也没有像BT Sync一样只有官方服务器(通告+中继服务器),由于开源,所以Syncthing的服务器都是可以自己部署的,这也就是说,即使官方的服务器出了问题,也能够随时有服务器去代替它。

那么为什么要有这两种服务器呢? 这主要是因为P2P的原理,通告(Announcement)/发现(Discovery)服务器用于发现和索引用户,就和你BT的Tracker(这个其实也是通告服务器)一样,你接入了就等于在里面挂了名,然后服务器会把其他人告诉你,这样你们才能够连上。这个是公网IP的情况,如果没有公网IP呢?这就要轮到中继(Relay)服务器出手了,要么是辅助实现打洞,要么是转为C/S模式。总之,中继服务器就是为了在特殊网络环境下(但是在国内很多家庭宽带就是这样的)的正常使用而存在的。

我们本次就不说通告服务器(Syncthing官方其实是叫做Global Discovery服务器的),因为目前官方的服务器还正常运作,不过感兴趣的或者想建立企业内部的本地Discovery服务器可以自己研究下

GitHub——>传送门
文档——>传送门

PS.之前写的Syncthing的搭建和使用——>传送门 阅读全文→

自建云盘系列——Syncthing (BT Sync的开源替代)

Resilio Sync或者说BT Sync用起来还是挺简单的,只是如果觉得Resilio Sync可设置的太少,想要控制更多东西并且还想要开源或者免费的替代品的话,我觉得Syncthing应该是唯一的答案了,讲真我没太关注过BT Sync和Syncthing到底是哪个先出来的,反正我两者都很早就在用了,只不过BT Sync是用在本地,而Syncthing是用于我在服务器上的文件多节点同步(异地备份),为什么?因为Syncting的同步模式或者说文件保存模式挺多,可以单向同步,也能冗余备份等等,这个我在之后会展示。

所以我们先得装一下,安装渠道其实比较多,因为有很多社区的封装版本,我这边主要列举官方包以及部分社区包,其它的请自行访问官方下载 ——> 传送门

①Debian/Ubuntu

②Centos

需要注意的是,Centos7下请使用文件夹内etc文件夹中的linux-systemd或者linux-upstart作为启动脚本,Centos6我建议使用supervisor作为运行控制 阅读全文→

自建云盘系列——Resilio Sync (原BT Sync)

一.槽先在前面吐了

话说我用BTSync也很久了,起码是在它改名为Resilio Sync前就在用了,老早的时候是拿来在自己的电脑和nas间拿来同步文件的,后来有次优惠剁了两个授权后就拿来做一些其它用处了(比如开车)…… 好吧,说真的,吃灰的比较多,因为我这校园网多重NAT情况下p2p还是挺捉瞎的,所以速度上不去,也一直就没太拿来用。

最近打算拿出来搞些东西,做下异地备份顺便给自己搞个云存储,之前一直是用OwnCloud的不过这货的部署还是略微有点小烦,而且,总觉得慢慢的……不知道是啥问题,所以,搞个Resilio Sync存点番和本子岂不是美滋滋,唔,这个是个系列教程,除了Resilio Sync外,后面还会介绍它的开源替代版Syncthing以及一些其他的比如NFS,WebDAV还有OneDrive的第三方脚本啥的(疯狂挖坑)

二.划重点(敲黑板)

①Centos

唔,这次重新安装的时候出现了"Package resilio-sync-2.5.2-1.x86_64.rpm is not signed"的错误,根据官方论坛说明,这个错误他们已经知道了,应该是忘记签名了(汗),下次更新会处理

所以的话,在yum安装失败后可以用下载的缓存来忽略签名安装

rpm -iv /var/cache/yum/x86_64/6/resilio-sync/packages/resilio-sync-2.5.2-1.x86_64.rpm   //那个x86_64/6代表是centos6的64位系统,其它的情况自己改

阅读全文→