《树莓派4B家庭服务器搭建指南》第八期:树莓派部署P2P文件同步服务程序syncthing全攻略
title: 《树莓派4B家庭服务器搭建指南》第八期:树莓派部署P2P文件同步服务程序syncthing全攻略
Syncthing是一款开源免费跨平台的文件同步工具,基于P2P技术实现设备间的文件同步,流量不需要经过服务器,参与同步的设备越多,同步的速度越快!设备们不在同一局域网下,也能实现高速同步(具体速度取决于设备的网速上限)。
Syncthing只会将数据存储于你信任的设备上,不会存储到服务器上!
开源地址: https://github.com/syncthing/syncthing
安装文件同步服务程序 syncthing
sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/usr/share/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
配置Web GUI页面
打开 ~/.config/syncthing/config.xml
, 将gui中的address内容 127.0.0.1:8384 改成 0.0.0.0:8384
运行syncthing
syncthing
通过浏览器访问syncthing的网页服务
我的树莓派内网ip为 192.168.50.223 , 则访问的地址为 http://192.168.50.223:8384
http://192.168.50.223:8384
- 设置登录验证信息
-
填入用户名密码并保存
-
设置密码后,设置重新登录
- 调试成功后将syncthing设置为pm2 后台守护运行
mkdir /opt/syncthing-start/
cd /opt/syncthing-start/
echo "pm2 start /usr/bin/syncthing" > start_syncthing.sh
pm2 start /opt/syncthing-start/start_syncthing.sh
pm2 save
- 将8384端口开放到公网
在frp内网穿透客户端配置文件/opt/frp_0.37.0_linux_arm64/frpc.ini
追加以下内容
如果不了解frp的安装与配置, 请翻看《树莓派4B家庭服务器搭建指南》刷Ubuntu Server 20.04,绑定公网域名,对公网提供http服务,SSH登录服务
[syncthing-v2fy-com-8384]
type = tcp
local_ip = 127.0.0.1
local_port = 8384
remote_port = 8384
- 重启frpc服务
pm2 restart start_frpc
pm2 save
- 开放云服务器的 8384 端口
- 我们已经将frp.v2fy.com解析到服务器ip, 所以此刻我们可以在任何计算机,通过http://frp.v2fy.com:8384访问树莓派提供的syncthing服务
- 通过公网域名登录成功
- 分享树莓派文件夹
/opt/frp.v2fy.com/netdisc/https_frp.v2fy.com
- 添加文件夹
- 保存
- 扫描中
- 扫描完成后
- 获取树莓派设备标识
Windows同步树莓派的文件夹到本地
- 下载Windows软件包
https://github.com/syncthing/syncthing/releases/download/v1.18.4/syncthing-windows-amd64-v1.18.4.zip
- 将树莓派 id添加到Windows中
打开与树莓派不在同一网络环境的Windows电脑,尝试做一次同步
- 打开树莓派Web页面, 确认添加
- 回到Windows客户端
此刻Windows正在飞速下载
如何同步到安卓
谷歌商店Apk下载地址 https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid
zhaoolee树莓派提供的离线下载地址(早下载,说不定哪天就清理了): http://frp.v2fy.com/%E5%85%8D%E8%B4%B9%E5%85%A8%E5%B9%B3%E5%8F%B0%E6%96%87%E4%BB%B6%E5%90%8C%E6%AD%A5Syncthing%E5%AE%89%E5%8D%93Apk/Syncthing1.18.3apkcombo.com.apk
软件自带一个web管理后台, 使用方法和PC一模一样
syncthing分享文件夹,默认开启了读写权限,把树莓派文件夹同步到Windows后,在Windows对应文件夹内增删文件,树莓派内的文件夹数据也会同步变化。
其它平台syncthing安装包下载
Github下载地址 https://github.com/syncthing/syncthing/releases
官网下载地址 https://syncthing.net/downloads/
小结
syncthing 是一款开源免费的p2p文件同步工具,同步的数据不经过服务器中转,点对点的传输,极大提升了同步提升速度,而且覆盖了全平台。syncthing 默认开启了数据中继,你在树莓派上放一份数据,其他的N台设备可以像下载BT种子一样,不仅从树莓派取数据,设备之间也会交换数据,减少了对树莓派带宽的依赖。
这种不限流量,高速免费的数据同步程序,比某度,某果同步盘好太多,只要不是网速拉跨,几十兆的文件,只需几秒种,即可实现全设备同步。
而且把syncthing暴露到公网明显比用公共中继危险得多,暴露到公网最好还是有authelia之类的认证,还可以少设置一些密码。
用公共的中继算了。其实我觉得应该尽量只用树莓派和自己的网络,其他服务是免费的。或者放弃公网,因为公网是另一块内容,只需要介绍frp之类的服务就可以了。说到服务器就扯到域名,境内外的服务器情况,备案等,就不应该碰,要么用免费的简单一点,练手。