Syncthing 可以很方便的实现文件共享和版本管理
当移动端想要访问最新文件时,有时会不方便启动其他设备来共享最新文件
这时有一台服务器作为中继服务器就会非常方便
每一个设备只需要提交,使得服务器端保存的是最新文件
客户端便只需要在使用时再从服务器获取最新文件就行
# 在 Ubuntu 服务器上安装 Syncthing
首先允许系统检查软件包的真实性,需要提供发行密钥。
sudo mkdir -p /etc/apt/keyrings | |
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg |
添加 Syncthing 稳定版的 APT 仓库:
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 |
更新包列表并开始安装
sudo apt-get update | |
sudo apt-get install syncthing |
# 配置服务器端允许远程访问
# 打开配置文件
配置文件被保存在 ~/.config/syncthing/config.xml 路径
使用以下命令编辑配置文件
vim ~/.config/syncthing/config.xml |
# 查找 gui 部分
在文件中找到 <gui> 标签
<gui> | |
... | |
</gui> |
# 修改监听地址
在 <gui> 标签内,找到 <address> 标签,并将 127.0.0.1:8384 修改成 0.0.0.0:8384
<gui> | |
<address>0.0.0.0:8384</address> | |
... | |
</gui> |
修改完后就可以通过 ip 加端口号访问了
在浏览器中输入 你服务器的公网ip:8384 访问服务器端的 Syncthing 的 GUI 界面
!!!记得为服务器端的 Syncthing-GUI 的远程连接配置身份验证(用户名加密码)
# Syncthing 配置开机自启
在服务器端配置开机自启
如果你没有移动 syncthing,文件地址应该为默认地址
如果已经移动,可以用 which syncthig 查找路径,修改为对应的就行
sudo vim /etc/systemd/system/syncthing.service |
填入以下配置信息,并修改 User 为你的用户名
[Unit] | |
Description=Syncthing - Open Source Continuous File Synchronization | |
After=work.target | |
[Service] | |
User=<your_user_name> | |
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 | |
Restart=on-failure | |
SuessExitStatus=3 4 | |
RestartForceExitStatus=3 4 | |
[Install] | |
WantedBy=multi-user.target |
最后用以下命令开启
sudo systemctl daemon-reload | |
sudo systemctl enable syncthing.service | |
sudo systemctl start syncthing.service |
配置后,在服务器重启后也能自动启动 syncthing 服务,确保服务器端文件为最新状态
# 最后
到这里,syncthing 在服务器上的配置就完成了
接下来在服务器端的 GUI 上连接自己的设备,并创建共享文件夹
# 一些问题
- 如果连接不到服务器端,检查客户端的软件有没有开启
NAT穿透(没有公网 ip 就需要开启) - 如果开启了 NAT 穿透,就
不需要额外配置其他的内网穿透 - 如果访问不了服务端 GUI,请确保你的服务器的防火墙允许
83834端口通过 - 安卓端在接收共享文件夹时会出现无法写入,这是由于高版本安卓系统限制读写权限
但在安卓端的 syncthing 创建共享文件夹时,可以授予 syncthing 进行读写操作
