使用 Syncthing 搭建个人同步服务器(2024)

使用 Syncthing 搭建个人同步服务器(2024)

文章目录
  1. 1. Syncthing 安装
  2. 2. Syncthing 使用
  3. 3. Syncthing 扩展
  4. 4. Syncthing 移动端支持
  5. 5. 下一步工作

笔者作为一个 IT 销售人员,除了要会推销自己的产品,处理报价、合同等商务工作,还得熟悉方案,甚至有时候还要着手给客户写技术方案,因此平时手头有大量的文档处理,工作时间一般电脑不离身。销售有个好就是时间比较自由,换言之就是任何时间都在休息,也都在上班!

所以我很多时候在家里也会处理一些文档类工作,比方晚上和周末。以前是怎么干的呢?1)下班的时候把工作电脑文件通过微信、QQ 发到云上;2)拷到 U 盘里。然后做完之后再同步回去,很不方便。

在 Syncthing 之前,我曾试过百度云、Onedrive、SyncToy 等文件同步应用,它们有的速度慢,有的占用资源高,有的得付费,总之都觉得不太好。Syncthing 这样一款开源、轻量级、速度贼快的点到点文件同步系统可以说甚合我意,它支持市面上大多数操作系统如 Windows/MAC OS/Android/Linux 等,它让你的数据在两个终端间通过加密方式传输,同时也不会把存放在别的地方,很安全。而且这是一款超过 20 年的开源软件,生命周期很长,所以针对它的第三方拓展也比较多。

使用 Syncthing 搭建个人同步服务器
使用 Syncthing 搭建个人同步服务器

1. Syncthing 安装

Windows 安装 Syncthing 非常简单,直接到官网下载最新版解压后运行里面的主程序 syncthing.exe,弹出来的批处理窗口就是它的主程序了。经过几秒的初始化系统会用你默认浏览器打开http://127.0.0.1:8384,这就是 Syncthing 的操做和管理后台了。


如果你仅用于 Windows 间的文件同步和传送,那就在多台电脑间安装即可愉快食用。不瞒您说,我这博客可是用的马云家 100M 带宽的 ECS 啊,不做个文件同步服务器有点可惜的,于是下面介绍 CentOS 下的安装方法(其他 Linux 也适用)。注意,本例实用root用户直接安装运行,建议实用其他低权限用户安装。

# 下载 syncthing,可以暂时不用管版本,等安装好打开之后会自动检查更新,1.27.8 是截至 2024/06/09 的最新版本
wget https://github.com/syncthing/syncthing/releases/download/v1.27.8/syncthing-linux-amd64-v1.27.8.tar.gz
# 解压下载下来的压缩包
tar xzvf syncthing-linux-amd64-v1.27.9.tar.gz
# 进入解压出来的文件夹
cd syncthing-linux-amd64-v1.27.8
# 将 syncthing 二进制程序复制到/usr/local/bin 目录,然后就可以通过“syncthing”命令运行 syncthing 了
cp syncthing /usr/local/bin
# 将除 syncthing 运行文件之外的的其他说明文件删除
rm -rf syncthing*
# 运行主程序
syncthing

对于这一步,因为众所周知的网络原因,或者你命令行不太熟悉,可以直接将该压缩包下载到咱电脑本地,解压后将其中的主程序即syncthing通过 ftp 拖到/usr/local/bin目录,再运行它初始化也是可以的……至此 Syncthing 的主文件已经安装好了,接下来开放端口。Syncthing 默认监听以下几个端口:

22000 (TCP) --节点访问端口
8384 (TCP) --Web 控制端口
21027 (UDP)
44647 (UDP)
37269 (UDP)

我是自己使用,只打开前两个就行了,开放防火墙端口请根据自己服务器的情况来设置。阿里云需要到后台区设置,定位到云服务器-实例-管理-本实例安全组-配置规则-添加安全组规则,然后参考如下配置:

使用 Syncthing 搭建个人同步服务器
授权对象建议写成 0.0.0.0/0,即是允许所有人访问

开放端口之后直接在命令行输入syncthing运行它让主程序初始化生成相关配置文件,片刻后按Ctrl+c叫停它。接着我们手动修改生成的配置文件,定位到/root/.config/syncthing/config.xml或者/root/.local/state/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'
sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.local/state/syncthing/config.xml'

至此 Linux 版本的 Syncthing 已经搭建完成。再次在命令行输入syncthing运行它,然后就可以在浏览器输入你的服务器 IP:8384访问用户界面管理它了。

2. Syncthing 使用

建议将服务器端的面板设置个管理密码,依次定位到操作-设置-图形界面修改。系统咱们已经建好了,如何实现文件同步呢?主面板只三块清晰内容,分别是“文件夹”、“当前设备”、“远程设备”,作为本地和远程设备的一览。事实上 Syncthing 是通过唯一识别码来进行连接和文件传输的,点击“添加远程设备”,粘贴对面服务器/PC 的设备 ID 后发起连接申请,对面确认后即可选择文件/文件夹同步了。

使用 Syncthing 搭建个人同步服务器
Syncthing 联系二维码

具体到文件同步管理,这里面有个功能深得我心。它的“忽略模式”允许用户排除主文件夹下不想被同步的文件夹或内容,能非常灵活的管理和设置,对于我这种安良付费的 ECS,如果随便把每个文件都上传,一则费时间,二则费钱。

如果你的两个同步服务器是处于局域网内普通电脑,那么系统会进行网络寻址,数据流不会经过路由器直接在局域网内同步。如果两个电脑没在一个局域网也没有对应的公网地址,Syncthing 还能通过它分布全球的中继服务器进行数据同步——只不过速度稍慢了。

如果你像我一样,有自己的云服务器,建议关闭设置里边的“全球发现”和“NAT 遍历”,这样它就不会 P2P 传输了~

使用 Syncthing 搭建个人同步服务器
以上是它的全球用传输热点图

3. Syncthing 扩展

以上完成了 Syncthing 的安装和使用,这样一般会占用你系统 50MB 左右的内存,可以说相当轻量级了。不过,程序在启用的时候系统任务栏会常驻一个程序,界面也比较简陋,于是有的朋友开发了对应的 GUI,把它弄到了系统托盘。我试了一下觉得没啥必要。需要的朋友可以看看这两个链接:

  • https://github.com/sieren/QSyncthingTray
  • https://github.com/canton7/SyncTrayzor

4. Syncthing 移动端支持

Syncthing 本身是支持 Android 的,但是我并不希望文件实时同步到手机,很耗电对不对?不过毕竟有需要的时候,怎么办呢?安装个 Kodexploer 在手机上能对单独文件或目录浏览、下载、分享就行啦——建议你:保持 Syncthing 和 Kodexploer 的文件目录一致比较省事儿。

Syncthing 移动端支持
Kodexplorer 是个相当强大的文件管理工具,可以文件外链共享、预览、编辑等

5. 下一步工作

在查询相关资料的时候,了解到斐讯 N1 这么个强大的玩意儿,于是……已经买了 N1 盒子准备折腾,初步打算:

1920 1080 Kevin's
「使用 Syncthing 搭建个人同步服务器(2024)」有 41 条评论
  • […] 在探索 Syncthing 的时候,偶然听有人建议说让我不要把数据存储放阿里云了,不如直接用斐讯 N1 做个软路由,数据放家里省钱省事儿…于是我开始去了解:斐讯 N1 是个什么鬼?原来 N1 开发的本源是作为一个挖矿机,因为斐讯翻车成了众人的闲置物品。在大神手里,垃圾都能变废为宝,况且 N1 盒子本身具有良好的性能和外观,还能轻松定制化,于是被广大爱好者折腾成了电视盒子、软路由、NAS、游戏机等等。 […]

  • caijack
    05/08/2024 at 16:23 回复

    不支持windows server

    • 的头像
      Kevin
      05/09/2024 at 11:17 回复

      servers 环境缺了很多依赖

  • […] 在探索 Syncthing 的时候,偶然听有人建议说让我不要把数据存储放阿里云了,不如直接用斐讯 N1 做个软路由,数据放家里省钱省事儿…于是我开始去了解:斐讯N1 是个什么鬼?原来 N1 开发的本源是作为一个挖矿机,因为斐讯翻车成了众人的闲置物品。在大神手里,垃圾都能变废为宝,况且 N1 盒子本身具有良好的性能和外观,还能轻松定制化,于是被广大爱好者折腾成了电视盒子、软路由、NAS、游戏机等等。 […]

  • 世界平均值
    04/07/2024 at 13:13 回复

    30元买了个玩客云,刷了Casaos,安装gopeed用于bt下载,安装syncthing用于手机相册自动备份,双USB各连一个硬盘,其中一个作为备份盘,双重保险。配合安装tailscale进行组网,在外也能随时下载和浏览文件。Casaos自带samba共享,家里的电脑、电视可直接访问,非常方便,另外玩客云非常省电,1w-3w的功耗,可常年挂着。

    • chen
      06/10/2024 at 22:34 回复

      加个好友呗 基本很多步做到了 还有一些不明白 需要请教

  • 惠姐姐源码网
    05/03/2021 at 00:55 回复

    还是上群辉吧。。。专业

  • 老头
    04/20/2021 at 10:47 回复

    这货类似 微力同步、Resilio Sync 吧?不过前两者多几个任务就比较耗资源。

    • 的头像
      牧羊人
      08/18/2022 at 14:38 回复

      要更轻巧一些

  • Andy烧麦
    04/19/2021 at 21:19 回复

    赞,这是拿ECS云服务器,做网盘么?

    • 的头像
      牧羊人
      08/18/2022 at 14:38 回复

      差不多是这个意思

  • Uz
    04/03/2021 at 23:27 回复

    为什么不用坚果云呢?

    • 的头像
      牧羊人
      04/04/2021 at 09:00 回复

      为什么要用坚果云呢?

  • 皇家元林
    09/23/2019 at 11:13 回复

    我想知道你内网穿透用的是什么?

    • 的头像
      牧羊人
      09/23/2019 at 18:24 回复

      用的FRP,搭建了没使用~
      想了想我还不如直接把数据放在云上,还快~

  • Lvtu
    08/23/2019 at 16:51 回复

    原来还是位隐藏的IT大神,失敬。。。。

  • 曾经左手烟
    08/23/2019 at 10:27 回复

    我是想到时候直接买群晖
    省事省心

    • 的头像
      牧羊人
      08/23/2019 at 10:41 回复

      恩恩额,我觉得我还是比较喜欢这种折腾的快乐吧哈哈哈哈

  • 懿古今
    08/16/2019 at 09:40 回复

    其他文件我倒是很少,一般都是在公司写的稿件或文档,家里还要继续用,一般直接用WPS编辑然后保存为云文档,然后随时随地都可以编辑使用。

    • 的头像
      牧羊人
      08/19/2019 at 14:05 回复

      其他文件少自然可以简便一些了~ 微软也有类似功能

  • 尽欢
    08/13/2019 at 19:23 回复

    我是用的nextcloud

    • 的头像
      牧羊人
      08/13/2019 at 20:43 回复

      跟这个好像不是一个方向的产品~

  • Joe
    08/06/2019 at 14:36 回复

    遗憾的是,Syncthing好像没有适用的ios客户端

    • 的头像
      牧羊人
      08/09/2019 at 09:46 回复

      好像是的,似乎 ios 的读写权限比较难搞到,根据自己需求选择合适的系统吧~

  • repostone
    07/19/2019 at 16:44 回复

    还真的没搞过这个。

  • 1900
    07/19/2019 at 00:51 回复

    我之前也考虑了很久,最后还是找几个人合伙买了个onedrive

    • 的头像
      牧羊人
      07/21/2019 at 17:42 回复

      生命的乐趣在于折腾~

  • Sam.Z
    07/16/2019 at 11:44 回复

    现在用的自家NAS同步,给个建议,还是不要搭在路由器上,最好买个itx的板子做,24h不关机稳定功耗小散热快最关键,咸鱼几百块淘一下可以的。如果家里想做软路由,可以买最近出的树莓派4~

    • 的头像
      牧羊人
      07/19/2019 at 11:17 回复

      我公司有个宏碁的HTPC,赛扬CPU,可以拿回去用,体机也还算小,但是我看了看功率,要30w以上,我觉得没啥必要。。。我还是就用阿里云算了。经过两周的试用,家里 的OMV唯一作用是当下载器看电影(然而电影我也很少看)。。。问个问题:怎么把内网映射出来?性价比高点的方案

      • Sam.Z
        07/20/2019 at 09:26 回复

        我走的FRP,你用你的主机搭一个就好了,性价比很高,速度嘛,我觉得OK

        • 的头像
          牧羊人
          07/20/2019 at 23:52 回复

          感谢提醒,我已经装上啦~

  • 山小炮
    07/16/2019 at 10:59 回复

    这个挺好,配置看起来也不太复杂。另外阿里云确实快,一分钱一分货啊,羡慕~~

    • 的头像
      牧羊人
      07/21/2019 at 17:43 回复

      那可不~

      我的斐讯 N1 已经折腾好了,可能还需要DDNS,然后把 sync 搬进去~

  • 山野愚人居
    07/15/2019 at 11:51 回复

    100M?独享吗?我的天,我的才1M小水管……

    • 的头像
      牧羊人
      07/21/2019 at 17:44 回复

      是的,100M独享哈哈哈哈,只不过我是按流量计费的,我把图片什么的都用cdn了,所以一年下来也没花多少钱~

      • k8s
        08/16/2020 at 11:03 回复

        可以了解一下阿里云的轻量应用服务器 轻量香港节点864元/3年,30M峰值带宽

  • 逆时针
    07/14/2019 at 20:25 回复

    我的网站用的还是一个共享的虚拟主机,是不是落伍了~

    • 的头像
      牧羊人
      07/21/2019 at 17:48 回复

      不落伍不落伍,看需求嘛,我是之前在这个server上有过其他站,就这么留下来了,不过,vps 确实还是要方便很多的~

  • 子午物联网
    07/13/2019 at 21:42 回复

    这个不错啊,有时间尝试一下!

  • 神父
    07/12/2019 at 12:36 回复

    能不能用个旧手机(安卓、苹果都行)作为中转服务器,在不同的windows间同步。比如,上班时办公室pc同步至手机,下班后在家里pc自动接收手机同步来的文件

    • 的头像
      牧羊人
      07/13/2019 at 10:13 回复

      可以直接同步到你手头的手机,不过不建议这么干,太耗电了…

      请继续关注我的下一篇折腾日志:在家里面安装个 斐讯N1作为软路由和NAS,可解决你说这个痛点~

发表评论

请输入关键词…