Skip to content

syncthing

目录


Syncthing 是一个连续的文件同步程序,用于在多个设备之间同步文件夹,对于备份或者同步来说非常好用。

安装

有多种安装方式,使用 github 的 release 下载二进制文件,或者使用包管理器,或者使用 docker 安装

安卓端可以在 google play 上下载

PC 推荐推荐 docker 或者 apt 安装,这样后台运行不用自己去管理

syncthing 的发现服务器(syncthing-discosrv)和中继服务器(syncthing-relaysrv)也可以使用上述方法安装,发现服务器和中继服务器需要装在有公网 IP 的服务器上

apt 安装(Ubuntu/Debian)

bash
# 添加release PGP keys
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

# 添加稳定版本
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

# 添加候选版本
# echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing candidate" | sudo tee /etc/apt/sources.list.d/syncthing.list

# 更新
sudo apt-get update
# 安装syncthing
sudo apt-get install syncthing
# 安装中继服务器和发现服务器
sudo apt-get install syncthing-relaysrv
sudo apt-get install syncthing-discosrv

参考资料:

syncthing 配置

略,网上教程繁多

发现服务器和中继服务器

比较逆天的是官方基本没给 发现服务器和中继服务器 的使用教程,所有示例链接都指向 syncthing,乐

所以配置方面是自己踩着坑过来的

发现服务器需要开放端口 8443,中继服务器需要开放端口 22067 和 22070(可选)

我这边使用 apt 来下载和运行,所以相关的配置未见在 /etc/default/syncthing-discosrv/etc/default/syncthing-relaysrv

discosrv 的默认配置可以直接用,不用修改,relaysrv 为了不加入官方的中继服务器列表需要加上-pool 或者 -token参数,案例如下

conf
# Default settings for syncthing-relaysrv (strelaysrv).
NAT=true

## Add Options here:
RELAYSRV_OPTS="-token \"1919810\""

然后将relay://<host name|IP>[:port]/?id=<relay device ID>&token=mySecretToken添加到本地 syncthing 的中继服务器配置中

https://<host name|IP>:[:port]/v2/?id=<relay device ID>添加到本地 syncthing 的发现服务器配置中

eg:

conf
relay://11.45.1.4:22067/?id=QWERTYUIOPASDFGHJKLZXCVBNM&token=1919810
https://11.45.1.4:8443/v2/?id=PLOKIJUHYGTFRDESWAQZXC

注意:中继服务器和发现服务器的 ID 是不同的

参考资料:

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1