写在前面

Syncthing是一款非常实用的跨平台文件同步程序,可以实现Windows、MacOS、Linux、安卓等平台文件同步,在Syncthing官网,提供了各个平台的程序安装包,本文将主要记录Debian/Ubuntu使用apt的方式安装。

添加证书

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

安装syncthing

sudo apt-get update
sudo apt-get install syncthing

添加运行用户(可选)

因syncthing不推荐使用root用户运行,所以我们需要使用其他用户,可以使用现有用户也可以运行下方命令根据提示添加用户。

adduser syncthing

运行

切换到syncthing用户,运行命令

su syncthing
syncthing

此步骤仅为了自动生成配置文件,运行后可关闭

更改web页面监听ip

如果web端需要开放给外网或局域网访问,则需要进行此步骤,如果只是本机访问,则不需要。

编辑以下文件(注意用户名,我的用户名为syncthing所以路径是/home/syncthing/)

vi /home/syncthing/.local/state/syncthing/config.xml

找下如下行

<gui enabled="true" tls="false" debugging="false" sendBasicAuthPrompt="false">
        <address>127.0.0.1:8384</address>
        <apikey>bwukMv54</apikey>
        <theme>default</theme>
    </gui>

将127.0.0.1:8384更改为0.0.0.0:8384,允许所有IP访问。

运行并配置开机自动启动(可选)

使用syncthing用户运行

systemctl start syncthing@syncthing.service

使用syncthing用户开机自动运行

systemctl enable syncthing@syncthing.service

访问管理页面

浏览器访问http://ip:8384即可