ResilioSync-P2P同步文件工具

简介

Resilio Sync是一个使用对等网络(P2P)进行数据同步的工具,由BitTorrent公司开发。 优点是当用户想给其他人分享内容时,不需要由中心服务器进行转发,数据直接由两个节点建立P2P进行传输。 缺点则是因为没有中心器,拥有文件的节点必须保持在线,其它节点才能同步数据,而且由于采用类似BT的协议,在某些禁用BT下载的场景可能会受到影响。

不过对于我来讲这个缺点几乎可以忽略,因为我本身有一台局域网服务器可以保持长期在线,而且也不需要将服务对外映射过多的端口,只需要一个管理页面即可管理服务

服务分标准版和专业版,个人用户不涉及商业用途选择标准版即可,

服务安装

Ubuntu安装

为了方便服务管理,以下安装采用[[systemctl服务控制 | systemd]]来对服务进行管理

# https://help.resilio.com/hc/en-us/articles/206178924-Installing-Sync-package-on-Linux

wget https://download-cdn.resilio.com/2.7.3.1381/Debian/resilio-sync_2.7.3.1381-1_amd64.deb

dpkg -i resilio-sync_2.7.3.1381-1_amd64.deb
systemctl enable resilio-sync
systemctl start resilio-sync

# 配置文件目录
ls -l /etc/resilio-sync/

config.json  # 服务配置文件
init_user_config.sh  # 初始化用户脚本
user_config.json	# 用户配置文件


# 安装完之后默认会在系统中添加一个rslsync用户来控制服务,需要调整一下这个用户的权限

usermod -aG USER_GROUP rslsync

config.json内容

{
    "storage_path" : "/var/lib/resilio-sync/",
    "pid_file" : "/var/run/resilio-sync/sync.pid",

    "webui" :
    {
        "force_https": true,
        "listen" : "127.0.0.1:8888"	# 管理台地址
    }
}

init_user_config.sh脚本内容

#!/bin/sh

mkdir -p $HOME/.config/resilio-sync

BTSYNC_STORAGE=$HOME/.config/btsync/storage
RESILIO_STORAGE=$HOME/.config/resilio-sync/storage

BTSYNC_CONFIG_PATH=$HOME/.config/btsync/config.json
RESILIO_CONFIG_PATH=$HOME/.config/resilio-sync/config.json

if [ -d ${BTSYNC_STORAGE} ] && [ ! -d ${RESILIO_STORAGE} ]; then
    # Copy btsync storage folder
    cp -r ${BTSYNC_STORAGE} ${RESILIO_STORAGE}
    # Copy btsync config if exist
    if [ -f ${BTSYNC_CONFIG_PATH} ] && [ ! -f ${RESILIO_CONFIG_PATH}]; then
        cp ${BTSYNC_CONFIG_PATH} ${RESILIO_CONFIG_PATH}
        sed -i 's$\.config/btsync/storage$\.config/resilio-sync/storage$g' ${RESILIO_CONFIG_PATH}
        sed -i 's$\.config/btsync/btsync\.pid$\.config/resilio-sync/sync\.pid$g' ${RESILIO_CONFIG_PATH}
    fi
else
    mkdir -p ${RESILIO_STORAGE}
fi

if [ ! -f ${RESILIO_CONFIG_PATH} ]; then
    sed -e "s|{HOME}|$HOME|g" /etc/resilio-sync/user_config.json > ${RESILIO_CONFIG_PATH}
fi

user_config.json内容

{
    "storage_path" : "{HOME}/.config/resilio-sync/storage",
    "pid_file" : "{HOME}/.config/resilio-sync/sync.pid",

    "webui" :
    {
        "force_https": true,
        "listen" : "127.0.0.1:8888"
    }
}

服务管理

通过浏览器访问ip:8888即可打开管理台,需要先配置一个用户名和密码,用于限制管理台不会被随意登录。 然后为这个服务节点指定一个名称,这个名称指定之后不可修改。

使用

配置完之后通过管理界面添加需要同步的目录,然后在分享中可以设置访问次数、链接过期时间、读写权限。

分享给其它用户同步的方式则有“链接”,“私钥”,“二维码”三种方式。

基本的使用根据界面的引导就可以完成了。

服务端也是客户端

基本上常见的系统(Android、iOS、mac OS、Windows、Linux、NAS)都支持

最后更新于