Total Pageviews

Monday, 12 June 2017

免费开源文件同步工具-Syncthing

Syncthing与BitTorrent/Resilio Sync的异同:

两者是不同的和不相关的。Syncthing和BitTorrent/Resilio Sync同步完成一些同样的事情,即两台或多台计算机之间同步文件。

BitTorrent Sync(已经更名Resilio Sync),是一个专有的对等网络文件同步支持Windows,Mac,Linux和Android版,iOS版的Windows Phone,亚马逊Kindle Fire和BSD的工具。

Syncthing是一个开源的文件同步工具。

Syncthing采用开源协议,并同样地在使用中的安全机制是源代码中可见。

BitTorrent Sync使用一个未公开的,封闭未知的安全性协议。

转自:Syncthing FAQ

特点:
    不需要将文件上传到中转服务器。
    TLS加密传送。
    支持版本控制。


支持系统

目前支持:Windows / Linux / Mac OS X / Android /FreeBSD / Solaris / Dragonfly BSD / NetBSD / OpenBSD

貌似没有IOS APP


下载地址

https://github.com/syncthing/syncthing/releases/tag/v0.14.14

按照自己的系统选择下载。


详细说明

我们主要说明一下 Windows 下的使用。


Windows

1). 安装

windows下使用非常简单,只要下载windows文件包,直接运行 syncthing.exe  即可。

不需要安装程序。

直接访问  http://127.0.0.1:8384/  即可。

如果防火墙拦截,请点击允许。





2). 主界面

界面支持多国语言选择。

帮助只有英文的。



3). 操作 – 设置

含上行,下行限制

用户名密码修改

API KEY 等信息



4). 操作 – 高级配置

这里谨慎操作,一般保持默认就好。



5). 操作 – 显示ID

此ID用于在其他电脑同步使用。是唯一标识。无法修改。



6). 添加同步目录

这里主要说明一下版本控制。

    回收站式版本控制:当文件被 Syncthing 替换或删时,将会被移动到 .stversions 文件夹。
    简易版本控制:当某个文件在其他设备被替换或删除时,本设备将会在 .stversions 文件夹中保留该文件的备份,并在文件名中加入时间戳信息。
    阶段版本控制:当某个文件在其他设备被替换或删除时,本设备将会在 .stversions 文件夹中保留该文件的备份,并在文件名中加入时间戳信息。 超过最长保留时间,或者不满足条件的历史版本,将会被删除。
    外部版本控制:使用外部命令接管版本控制。该命令必须自行从同步文件夹中删除该文件。



请选择一个适合自己的。



6). 添加远程设备

我们在另一台电脑 B 上,添加远程设备。

电脑A 会提示连接,直接添加设备即可。

可以给电脑B共享我们的目录。



Linux

我们以 CentOS 6.8 x64  为例子演示。



1). RMP安装(推荐)

来源于:https://github.com/mlazarov/syncthing-centos
yum install https://github.com/mlazarov/syncthing-centos/releases/download/v0.14.7/syncthing-0.14.7-0.el7.centos.x86_64.rpm -y


2). RMP编译安装
cd ~
git clone https://github.com/mlazarov/syncthing-centos.git rpmbuild/
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
cd ~/rpmbuild/SOURCES/
wget https://github.com/syncthing/syncthing/releases/download/v0.14.7/syncthing-linux-amd64-v0.14.7.tar.gz
cd ~/rpmbuild/SPECS/
rpmbuild -bb syncthing.spec



3). 检查是否成功
syncthing --version

syncthing v0.14.14 “Dysprosium Dragonfly” (go1.7.4 linux-amd64) jenkins@build.syncthing.net 2016-12-13 10:29:40 UTC



3). 防火墙设置

默认使用8384端口,请开放此端口
iptables -I INPUT -p tcp --dport 8384 -j ACCEPT



4). 修改配置文件

不懂vi 命令,请自行百度操作
vi ~/.config/syncthing/config.xml

将 127.0.0.1:8384  修改成 0.0.0.0:8384

此处修改为了 外网能访问。



5). 启动
syncthing

然后直接访问 http://ip:8384 即可。

操作就和Windows差不多一样的。



6). 后台运行

也可以借助 screen
nohup syncthing


7). 开机启动
echo 'nohup syncthing >/dev/null 2>&1 &' >> /etc/rc.local



8). 停止运行
eval $(ps -ef | grep syncthing | grep -v grep | awk '{print "kill "$2}')


参考文献:
https://docs.syncthing.net
官方网站:https://syncthing.net/
开源地址:https://github.com/syncthing/syncthing
-------------

Mac 上使用 Syncthing 同步文档

最早的时候个人同步我使用的是 BTsync ,但这家伙后来改版后有诸多不便,于是转投了我一直看好的另一个同步工具 —- Syncthing 。开源且多平台 ( iOS 上不行,不过 iOS 除了照片也没什么可以同步的了 ),我最喜欢的就是可以自建一个 relay 。详细使用上比较简单,我今天只记录一下我在 Mac 上的操作。
操作需要使用 iTerm 或者 Terminal 请自备。

使用 Brew Cask 安装

其实你也可以自己下载安装包 (https://github.com/syncthing/syncthing/releases),解压后把“ syncthing ” 这个可执行文件放到 /usr/local/bin 。( 我建议你养成好习惯,所有自己下载安装的终端都丢这里 )
如果你有了 brew 则可以
brew tap caskroom/cask
brew tap caskroom/versions
brew cask install syncthing 

会看到下图,

然后进入上图中的 open /opt/homebrew-cask/Caskroom/syncthing/0.12.22 然后进入安装文件夹(如果你有多个版本,则进入最高的那个就可以了),找到 syncthing.plist ,通常位置安装目录的 etc/macosx-launchd

修改配置文件

在 Finder 里,不要选中任何文件的情况下,点击如下图标,拷贝为路径,如果你的系统没有这个选项,请试着按下 Option 键。

接着在 iTerm 或者 Terminal 里输入
cd $(pbpaste)
sed -i .bak "s/USERNAME/$(whoami)/g" ./syncthing.plist
sed -i .bak "s/\Users\/$(whoami)\/bin/usr\/local\/bin/g" ./syncthing.plist
sed -n '/Users/p' ./syncthing.plist
sed -n '/local/p' ./syncthing.plist
你应该会看到输出了带你的用户名的几行以及带有 syncthing的一行:
        <string>/Users/bao3</string>
    <string>/Users/bao3/Library/Logs/Syncthing.log</string>
    <string>/Users/bao3/Library/Logs/Syncthing-Errors.log</string>
        <string>/usr/local/bin/syncthing</string>

加载启动文件

比较简单,我是直接 copy 过去:
 cp syncthing.plist  ~/Library/LaunchAgents/syncthing.plist
  launchctl load ~/Library/LaunchAgents/syncthing.plist 
随后会打开网页,让你登录 http://127.0.0.1:8384
----------------------

使用Syncthing搭建我们的私有同步网盘

简介

Syncthing是一个开源免费的文件夹/文件同步神器,支持AndroidLinuxWindowsMac OS X等系统,可以使我们在2台任何系统任何设备之间,实现文件实时同步,很强大。而且数据很安全,不会存储在你的设备以外的其他地方。所有通信都使用TLS进行保护。所使用的加密包括完美的前向保密,以防止窃听者获得对您的数据的访问权限。很适合我们用来搭建私有同步网盘。

安装

本文只做Linux VPS服务器与Windows电脑之间的同步安装及演示操作。Syncthing官网:点击进入,软件自行下载最新版本即可。
1、VPS安装Syncthing
安装Syncthing
#目前最新版v0.14.47,日后自行修改版本号
wget https://github.com/syncthing/syncthing/releases/download/v0.14.47/syncthing-linux-amd64-v0.14.47.tar.gz
tar xzvf syncthing-linux-amd64-v0.14.47.tar.gz
cd syncthing-linux-amd64-v0.14.47
cp syncthing /usr/local/bin
cd ~
rm -rf syncthing*
开启Syncthing
syncthing
第一次启动会生成配置,然后给的内网地址我们是进不去的,这时候需要修改成外网地址才行,先使用Ctrl+C退出。
然后编辑/root/.config/syncthing/config.xml文件,将127.0.0.1:8384改成0.0.0.0:8384即可,可以直接使用命令:
sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.config/syncthing/config.xml'
再次启动Syncthing
syncthing
然后在浏览器访问http://IP:8384,就可以进入Syncthing界面,如果打不开请自行开放8384端口。

然后我们点设置,填好管理用户、密码及其它参数再重启Syncthing即可。
2、Windows安装Syncthing
Win系统安装Syncthing是非常简单的,直接从官方网站下载对应版本的Syncthing程序,解压打开syncthing.exe,然后会弹出一个窗口,浏览器再打开http://127.0.0.1:8384就可以进入并使用Syncthing了,默认文件夹路径为C:\Users\Administrator\Sync

使用

首先打开其中一个设备的Syncthing界面,并点击右上角操作-显示ID获取设备ID。再到另一个设备的Syncthing界面,点击右下角添加远程设备,输入需要同步的设备ID和共享的文件夹。

这时候另一台设备会弹出一个窗口,点击添加设备即可。
此时设备添加完成,就可以开始同步文件夹了,也可以在其中一台设备新建/添加其它文件夹.
然后同样的,另一台设备也会弹出一个窗口,点击同意添加即可。
最后等待片刻,所添加的文件夹都会自动同步完成。
更多功能请自行摸索,注意设备删掉Syncthing后,同步的文件夹依然存在。

No comments:

Post a Comment

Note: only a member of this blog may post a comment.