使用Resilio Sync部署同步服务器

官网地址https://www.resilio.com/individuals/
安装说明https://help.resilio.com/hc/en-us/articles/206178924-Installing-Sync-package-on-Linux,Linux安装包链接可从此处获取

介绍

Resilio Sync(曾经名为“BitTorrent Sync”)是由 BitTorrent 公司开发的专有的对等网络数据同步工具,可在 Windows、OS X、Linux、Android、iOS 和 FreeBSD上使用。其可在局域网、互联网上通过安全的、分布式的P2P技术在不同设备之间同步文件。

原理

Resilio Sync使用P2P协议同步软件。该协议用于在多个设备间传递大文件时非常有效,与µTorrent和BitTorrent使用的协议类似 。Resilio Sync中,用户数据并不在云端,而是存储在本地硬盘中,因此在同步数据时需要至少一台持有数据的计算机处于开机状态。Resilio Sync使用在计数模式中AES-128密钥,该密钥可随机生成,或由用户设置。在Resilio Sync中该密钥称为secret,可告知给其他用户以便共享数据。数据是直接从一台设备上发送到另一台设备中,因此需要数据所在设备在网络上可访问。如果原设备不可访问,则数据由其他节点传播,这些传播节点无需知道原先的secret,但只有知道secret的节点才能解码并查看数据。
可以将secret告知给某个节点,这样就将该节点加入到同步系统中,使其可以访问数据。当创建新节点时,用户可以将原secret告知给新节点;若出于安全性考虑,也可以创建一次性使用的secret。用户还可以通过Resilio Sync客户端生成一个只读的secret,这样当新节点接收到这个secret时,只能查看文件而无法修改。
Resilio Sync对需要同步的文件大小没有限制,唯一的限制就是不同的同步设备中都需要有足够的空间容纳所要同步的文件。

优缺点

Resilio Sync最大的优势在于其不需要第三方服务器,几乎不受存储空间和流量限制。由于Resilio Sync是一款采用BitTorrent协议的P2P同步工具,传输速度基本上只受用户网络带宽的制约,它可以支持多人同时同步,而且越多人对文件夹进行同步,则同步速度越快。它支持多平台,可以通过密钥进行文件分享。
由于Resilio Sync的数据不在云端,而是存储在本地,所以拥有文件的电脑需要保持在线,才能同步到其他电脑去。而且由于采用类似BT的协议,因此在某些禁用BT下载的场景中可能会受到影响。

部署

将以在 Linux 上部署服务节点提供共享文件夹,在 Windows 上以只读方式获取文件为例

Linux上部署节点

  1. 下载并安装
wget https://download-cdn.resilio.com/2.7.2.1375/RPM/resilio-sync-2.7.2.1375-1.x86_64.rpm
rpm -ivh resilio-sync-2.7.2.1375-1.x86_64.rpm

安装完成后默认服务名为resilio-sync,配置文件路径/etc/resilio-sync/config.json,可以通过命令rslsync --dump-sample-config查看配置文件模板进行相应调整
2. 修改配置文件

vim /etc/resilio-sync/config.json
    {
        "storage_path": "/resilio-sync",
        "pid_file": "/var/run/resilio-sync/sync.pid",
        "listening_port" : 12345, 
        //"use_upnp": true,
        //"download_limit": 0,
        //"upload_limit": 10240,
        //"directory_root": "/data/sync/",
        "webui": {
            "listen": "0.0.0.0:80",
            // "login": "admin",
            // "password": "admin123456",
            // "allow_empty_password": false
        }
    }
  1. 启动服务
systemctl start resilio-sync
systemctl enable resilio-sync

页面设置

  1. 通过浏览器访问服务器IP:8888,使用配置文件中webui中填写的用户名密码登录后可看到如下界面,第一次使用时需要填写当前节点的名字,填写后不可更改。此名字主要用作与其他节点通信时显示使用。
  2. 第一次进入可以看到界面如下,我们选择右上角的设置按钮。选择General修改Language中文,然后刷新页面
  3. 在服务器上/data/sync/路径下创建文件ResilioSyncPro.btskey 并填写如下内容:以下许可证为网络获取,仅供学习交流使用,如商业使用请官网购买许可证

修改hosts,防止证书验证导致pro丢失,在hosts文件中添加:127.0.0.1 license.resilio.com

tos1_eyJzIjogIm5xNjRmNGgrWDhxWHFiaWRodEtyTWdNcEVaMHdYaUJLbExwSWFwSDUxMzkyaHdqMFFpQWJOTTFGd2JGWGpJQ0FhV2w4V3ZidVpPenpITXZmNTRLWU1XVGVsVFZjS3JGQUpYMmVUMGttT2lCMm8zQ1BjVFd2VWlCLzRsTTlQN1FsalVSVzREMVFNUktWcEhwaG5IVzIvZmdqN05MaThmMnhNa1NDNERwRVVpQ0pXZHpPWXFIbW1OMFdOUEt6QWg4RkJoanNvUVNBa1hKN09WS0c5WElkVTczWnNlVWNxWW1WVUo0WDc0S05wYmlYZk0vemlsU2pIK0U5Y3ZMZ092YlplVjlCZXlveDNwT3pRYUJOeFNQT3FYWEpTRHE1bVRhRXMvWGppVGtJV21uVHJudVJnb01DZ0RBOHdBS3RIYjRvVkduWm1jeU8xNlhoQ3dvL2VkeHFxZz09IiwgImQiOiAiZXlKamF5STZJQ0ppZEc5ell6RmZaWGxLYW1ONVNUWkpRMHBJVlZoYVYxRldUakZsVldoWVZrWldNMUpXU2tWVVJURlZZVEZXZFZacVVsUmpNMUp5Wkcxd1FsUkVRVFZWUXpsMVZraGtUVk5wT0hsUFEzUjNUV3hrVjJOck1IaFVhelI1VXpOQ1QyUlhiR3RTYlVwb1ZtNUtURlJZVVRWVFJ6RXpWVVU1TVZwdVdtRlVWbVJ1VVd4Sk1sWXlXbkZsYm14b1ZWaHdlbEV3TVVKamJXaE5XVlYwZFZwVVJYZFRSbEpOVW5wU2JGbHBkRXBVVlRGSlYwUnNWMkV5ZEZSalZFRXdUbTVuTUdKck1WZE5SR2N3VmxWYVRsSnJNVzlqUlVwMFlVUlNlRTFJYkZaWmExRXhVbTFzTUUxSVpIZE5iR3hVWWxob1IyTkVSbE5sVlhkeVVsWm9OV0ZGUlROUmJWSnVWVEZDYUdKSVZrWkxNV3hZVmpGb2FtSjVPVWxSVlRsT1ltMTNNbE5zUlRCYWFsSlFWbXBCZUZRd1VrSlpha1Z5V20wMWRVNXVXblZSTTJnell6RldTazlGTVU1aFNHeFFUREE1TUZOc2JFWldTRkpXVlVaSk1sUkRkRkpXUjJoUlYwUlNjbGxyTlhGTlJHeFpXbmwwYjJGVk1VeFZWMVpVU3pCd2RFNTZVblpUYW14SVpEQnJlVkZ0TVVsalJGWXdWRlZTZEZreWVIcE9WbWhLV1Zkb1MxZEdSa1pqTUhSMVVsaFdlbE13VGpSaVJsSjVUVmR3ZFdOSGFFNWFlbFV3WW0xNGJFOVVhRzlUU0VWeVVWaE5NV1ZZVWxSTlIyTTVVRk5KYzBsRFNtcGFRMGsyU1VOS2JHVlZjSGRaYlRGaFpHdHNjV0l5Wkd4bFZYQTJXa2N4VDFKSFNYbFZiWGhLWVcwNWJsTlhOVTlPVjBwMFZHeEdhbUpVYUhCVVJVNUNZVlpyZVdSSVFtRlJNR3N5VTFWT1MyVkdWblJXVkVKVFltczFjbGt3V2s1TmJVVjNaVVYwYW1Wc1NsaFpla0pyVFVaRmVGRnRlRmRUUlRWNVUxZHNNMW93YkhSV2FsSnFVVEJyTWxOVlVrcGxSVFZGVmxSV1RsWkdhekJVVlZKQ1l6QnNSRk50Y0dwTk1VWndWREpzUW1GWFNqVk5WelZQVmtaYVVGbDZRbTloYkZwelZsZHNUVkV3Um5CYVJXaHpaREZ3VkZOVVdrcFJNSEF6VjJ4b1MyVnRTWGxPVjJocFVUQnNlbE5WVGt0a2JVNUpWVzV3U21GdE9XNWFXR3hMWWxkSmVXVkhkR0ZYUlhCVlYyeGtUMlZXY0ZsVlYyeFFZVlZHY0ZSdGMzaFVNVlpIVjJ4YVZGSkhVa05VV0hCVFYyeEdWbFZVUmxoU1ZGWkhWV3RXVTFWV1VrWk9WVnBYVFZWd1UxUlhjRk5VVmxsNFdqSnNUVkV3Um5CWmVrcFhZVWRTU1ZSWGJGQmhWVVkwV214bmQyTXdiRVJUYlhoc1UwVkdjRlF5YkVKbFZURlZWVlJHVUZaRlZYbFVNRkpDWkRKYVVsQlVNR2xtVVQwOUlpd2dJbWx1Wm04aU9pQjdJbTl5WkdWeVNXUWlPaUFpWVc1aGRXeG1ZVzUxYTJadWIydHViVzF6TURZNWNXbzNOQ0lzSUNKaGNpSTZJREFzSUNKbGVIQWlPaUF5TVRRMU9URTJPREF3TENBaVkzSmxJam9nTVRRNE1UUXlOek00Tnl3Z0luTjJZMGxrSWpvZ0luTjVibU5RY204eElpd2dJbU56ZENJNklDSnZMV2MxTlU1elNHTldWU0lzSUNKemRtTkRiMlJsSWpvZ0luTjVibU5RY204aUxDQWlZMmxrSWpvZ0ltZHFaV295YmlJc0lDSjBlWEJsSWpvZ0luQmxjbk52Ym1Gc0lpd2dJbTl3ZEhNaU9pQjdJbVp2YkdSbGNsTmxZM0psZENJNklDSkJWMFJOVHpSRlUxTkJUbGhCV2xKVE1rMHlORlpCTmtkQlIxSlhWVFJRTlZZaUxDQWljMlZoZEhNaU9pQXhmWDBzSUNKbGVIQWlPaUF5TVRRMU9URTJPREF3ZlE9PSJ9
  1. 许可证中选择应用许可证,填写路径为/data/sync/ResilioSyncPro.btskey,点击打开后,可看到应用已使用许可证激活

使用

  1. 创建需要共享文件的文件夹,共享的文件夹需要rslsync用户可访问,否则会有权限问题,添加失败
mkdir /data/sync/share
chown -R rslsync:rslsync /data/sync/
  1. 添加共享文件到此目录,选择左上角的“➕”然后选择高级文件夹或者标准文件夹
  2. 高级文件夹中添加共享文件成功后,会显示如下界面。勾选新用户(我邀请的)必须由我批准后,所有通过分享链接加入的节点都需要经过同意后才能正式加入。由于我们需要访问节点可控,所以选择此类型文件夹共享。
    完成后关闭窗口可看到当前有共享文件夹share,在线用户0/0,这是由于我们还没有用户节点加入。接下来我们来在Windows上面部署节点加入

Windows上部署节点

  1. 下载Windows上对应版本安装包,官网地址https://www.resilio.com/individuals/
  2. 安装Resilio-Sync,并填写当前节点名字
  3. 添加链接或秘钥
  4. 输入我们之前在Linux上部署的sync中添加的共享文件夹的共享链接
  5. 选择保持路径,并勾选选择性同步,等待服务端同意
  6. 登录共享文件夹的服务端,同意节点加入
  7. 加入节点成功,开始同步
  8. 点击Sync中共享文件夹名称,进入文件夹可看到与源服务器上同样的文件目录结构,只不过本地文件中所有文件均添加有后缀 .rsls,且文件图标为半透明状。此时双击文件或右键选中文件选择同步到此设备即可下载文件查看使用

使用注意事项

  1. 如果只是在自己不同设备间备份个人文件,主键建立分享的时候记得把**"需要时使用中继服务器"**选项去掉,以保个人信息安全