Syncthing 安装配置使用小教程 作者: Hogwarts 发布于: 2023-03-27 更新于: 2023-03-27 分类: 默认分类 #一、前言 Syncthing感觉不会用到的,尤其在两台VPS之间。数据打个包,wget或axel就搞定了。这不打算将Oracle的数据搬到Scaleway,存储共10G,除去系统还剩8G。数据6G多,要是压缩打包再解压,存储肯定是不够的拉。其实换个存储大些的VPS就能搞定,感觉有点浪费。就想到了同步存储的功能。 学习过程中,原来Syncthing支持的客户端还挺多,还玩手机同步功能。这不在本文的讨论范围之内。 本文仅实现两台VPS之间的同步问题。 #二、Syncthing 安装 ##2.1 下载 wget https://github.com/syncthing/syncthing/releases/download/v1.23.2/syncthing-linux-amd64-v1.23.2.tar.gz tar -zxvf syncthing-linux-amd64-v1.23.2.tar.gz mv ./syncthing-linux-amd64-v1.23.2/syncthing /usr/local/bin/ ##2.2 试运行 /usr/local/bin/syncthing 按 ctrl+c 中止 ##2.3 守护进程 vim /etc/systemd/system/syncthing.service [Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.target StartLimitIntervalSec=60 StartLimitBurst=4 [Service] User=root ExecStart=/usr/local/bin/syncthing serve --no-browser --no-restart --logflags=0 Restart=on-failure RestartSec=1 SuccessExitStatus=3 4 RestartForceExitStatus=3 4 ProtectSystem=full PrivateTmp=true SystemCallArchitectures=native MemoryDenyWriteExecute=true NoNewPrivileges=true [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl start syncthing systemctl status syncthing systemctl enable syncthing #三、Syncthing 个性化设置 本例以 root 用户为例 ##3.1 运行用户 因syncthing运行时在根目录下生成 `/root/./congfig/syncthing` 目录,所以运行用户设置为 **root** 。 ##3.2 修改运行文件 ###3.2.1 修改默认端口 - Syncthing默认控制面板的路径为127.0.0.1,默认端口为**8384**。 - 可以用caddy或nginx反代一下。 - 在测试阶段,修改 `/root/.config/syncthing` 下的 `config.xml` 文件也可。 - 将config.xml第54行中的 127.0.0.1:8384 改为 0.0.0.0:port 其中 port 为自选端口。这是ipv4的写法。 OnlyIPv6格式为:[::]:8384 - 这样在浏览器中输入:ip+port 即可打开web界面。 ###3.2.2 增加TLS - 将53行 ` `中的 tls="false" 改为 tls="**true**" - 将 /root/.config/syncthing 下的 https-cert.pem https-key.pem 删除。 - 将指向IP地址的域名的证书和密钥上传到 /root/.config/syncthing 下,并改名为 https-cert.pem https-key.pem 。要是cer结尾的证书,直接将后缀改为pem即可。 - 这样在浏览器中输入 `https://域名+port` 打开web界面。 ###3.2.3 修改传输端口 - Syncthing默认的传输端口为22000,有前台控制的主机商比如甲骨文,还需登录控制面板打开端口。已打开非其它端口怎么办呢,经测试可以使用非默认22000端口。 - 同样修改 /root/.config/syncthing 下的 config.xml 文件, 将60行和61行 `default default` 中的 default 改为 如下格式 tcp://0.0.0.0:portX tcp://0.0.0.0:portX - 其中 portX 为自选的传输端口,监听 IPv4。OnlyIPv6格式为:tcp6://:portX。 #四、Syncthing的简单设置 - 两台VPS端均需安装Syncthing,暂且命名为A和B。 - 分别在浏览器端登录后,先将语言 English 改为 简体中文 。  ##4.1 设置用户名和密码 在 操作-设置-图形用户界面 中 设置用户名和密码,并将使用加密连接勾选。  ##4.2 取消NAT穿透和全局发现 在 **图形用户界面** 旁的 **`连接` **中取消` 启用NAT穿透和全局发现` 的对勾。两台有公网IP的VPS用不到此功能。 #五、Syncthing的使用 ##5.1 先将A和B连接  ##5.2 设备ID的获取 在另一台VPS中操作,`复制`ID后填回去。  注意“地址列表”填写格式。IPv6格式为:`tcp6://[ipv6]:port` 如果config.xml同时填写了双栈,此处可以同时填写IPv4和IPv6,用逗号隔开。  登录另一台VPS的web端显示如下信息,点击“添加设备”  注意“地址列表”填写格式。IPv6格式为:`tcp6://[ipv6]:port` 如果config.xml同时填写了双栈,此处可以同时填写IPv4和IPv6,用逗号隔开。  ##5.3 设置自定义传输文件夹  稍等一下或刷新一下另一台VPS浏览器,会显示如下信息  ##5.4 确认一下 分别登录两台VPS中的同步文件夹自行查看。 #六、不尽之处 其它功能需慢慢发现补充。 #七、参考 [Syncthing 文档](https://docs.syncthing.net/users/config.html "Syncthing 文档") [Syncthing安装与配置](https://pa.ci/91.html "Syncthing安装与配置") [Syncthing使用教程](https://www.moewah.com/archives/1127.html "Syncthing使用教程") [Syncthing数据同步利器](https://www.cnblogs.com/jackadam/p/8568833.html "Syncthing数据同步利器") 标签: syncthing