0x01 起因

一直有把公司电脑的文件同步到家里 NAS 上需求, 之前一直使用 Google Drive 来做同步, 还买了 G Suite, 但是最近 Google Drive 政策修改不支持无限转存了, G Suite 也全部改成了 Google Workspace, 所以我取消了 G Suite 的订阅。

后来打算使用 OneDrive 来做数据同步的, 但是一直对微软的东西无感 (不要打我!)。之后在网上兜兜转转看到了 Resilio Sync, 感觉是个很好玩的东西, 但是感觉价格有点高 (60美刀), 进一步发现了 Syncthing, 相当于开源版的 Resilio Sync, 然后就入坑了, 目前体验了一段时间, 感觉各方面体验都还不错。

0x02 Syncthing 搭建

下载安装

官网下载地址: https://syncthing.net/downloads

Github: https://github.com/syncthing/syncthing

目前官方支持大部分常用平台: Linux/Windows/macOS/FreeBSD/OpenBSD …

因为我使用的 macOS, 所以满心欢喜的从官方下载下来了 macOS 的安装包, 结果不能用 …

但是这点小困难还是难不倒咱这个小机灵鬼的, 在官方的 Github 找到了 macOS 的仓库 https://github.com/syncthing/syncthing-macos

一看支持 homebrew 安装, 这就省事多了 (原本打算看看有啥问题, 打算自己编译一遍呢 ~)

$ brew cask install syncthing

搞定! 然后就是打开 webui 配置下同步目录等 ~

常用配置信息

常规里面我们可以配置下当前 设备名默认文件夹路径

图形用户这里配置下用户名和密码, GUI 监听地址 可以像我一样配置成 0.0.0.0

这样公司电脑就配置好了, 下面配置家里面的 NAS。

Qnap 安装 Syncthing

因为我使用的 Qnap 的 NAS, 恰好有人已经写好 qpkg 的安装包直接安装就行 (拿来主义 ~)

先在 QTS 上安装 qnapclub.eu 源, 里面有很多第三方开发的软件 (推荐!)

直接在 App Center 里面搜索 SyncThing 安装就可以。

默认安装的端口是 8384, 在浏览器里输入 NAS_IP:8384 就可以访问了。

安装完成后跟上面的安装步骤一样设置 设备名/默认文件夹路径用户名/密码

添加远程设备

首先获取下远程设备的 设备ID, 点击右上角的 操作->显示ID, 就可以看到远程设备的 ID。

我这里是获取 Qnap NAS 里面的 ID 添加到我的 MAC 端, 现在打开 MAC 上的 SyncThing 管理界面, 点击右下角的 添加远程设备

然后在设备 ID 里填入刚刚获取的设备 ID。

有两个选项需要注意下:

  • 作为中介,SyncThing 使用了P2P技术来实现文件同步, 现在我们是 2 台设备, 同步一个文件夹, 如果加入新设备, 是要分别给这两台设备配置一个新的远程设备。如果开启作为中介, 那么, MAC 端会自动添加。

  • 自动接受, 如果在 NAS 创建了一个共享文件夹, 并共享给 MAC 端, 无需 MAC 端选择接受, 即在默认目录, 创建共享文件夹, 并同步。

因为默认使用全球发现服务器, 受网速影响, 还是要等等的。

注意 NAS 的 WEB 界面。出现新设备, 就是已经连上了, 选择添加设备, 就会自动把我的 MAC 电脑作为远程设备。

好啦! 现在我们已经完成了远程设备的添加, 下面我们需要添加共享文件夹。

添加共享文件夹

  • 删除默认文件夹

貌似新装,管理页左边都会出现 default ***

点击 文件夹名->下拉框右下部分->选项->移除->确认

删除是因为路径问题, 它们分别生成在每台设备的默认共享目录下, 基本不是我们需要的路径。

  • 本地设备添加文件夹

管理页中间部分, 添加文件夹

关键设置文件夹ID, 说明在所有从设备上必须一致, 也就是在我们这多个设备同步时, 都用这个ID, 来同步这个文件夹。

第二个 TAB 还有共享给远程设备, 勾选远程设备的名字就好了。

第三个 TAB 是版本控制, 可以每个选项都点一下, 下面的解释还是比较清晰的。我这里就选 简易版本控制 了。

其中的高级设置, 看一下也能明白。

  • 给远程设备添加同步文件夹

还是等待, 我们使用的是全球发现服务器。直到 NAS 的管理界面出现是否添加新文件夹的选项,点击添加即可。

  • 查看同步状态

好啦! 现在已经配置完成了, 可以尽情享用了。

0x03 End