ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Syncthing部署速查:3步把P2P文件同步服务跑进后台

Syncthing部署速查:3步把P2P文件同步服务跑进后台 Syncthing部署速查3步把P2P文件同步服务跑进后台【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing家里一台笔记本、单位一台迷你主机需要两台机器的文件持续保持一致又不想走任何云盘——这正是Syncthing部署要解决的场景在这两台机器上各跑一份这个开源的P2P连续文件同步工具文件在设备间加密直传。本文按推荐路径从装包讲到后台服务最后给你一份连通性自检清单。先看看你能做到什么按本文操作完之后你应该能独立完成在 Linux 主机上装好官方二进制并用syncthing --version确认版本把 Syncthing 变成用户级 systemd 服务开机自启、崩溃自动拉起、注销后不退出打开 Web 管理界面抄下自己的设备 ID与第二台机器完成配对用自检清单定位「连不上」到底是防火墙、端口绑定还是发现问题处理「GUI 远程打不开」「注销后服务消失」这两个高频坑动手前的取舍先选部署路径不同平台的装法差别不小先对照这张表定好主线再去看对应章节选项适合谁代价官方发布二进制 用户级 systemd本文主线单用户、systemd 系发行版Ubuntu/Debian/Fedora 等版本升级要自己手动换包发行版软件源安装想要系统级自动更新版本常落后官方高级特性可能缺失Windows 官方压缩包 注册表服务Windows 宿主机服务命令要自己拼无图形化安装向导macOS Homebrew 或 DMG LaunchAgentMac 宿主机需要自己维护 plist 配置文件版本上建议直接跟官方发布版走别追「最新 dev 版」只要两台机器版本差距别超过一个大版本同步行为就稳定。 主线Linux 用户级服务三步装这一节带你走我推荐的完整路径官方二进制 用户级 systemd 服务权限最小、配置量最少验证完再谈别的平台。一条命令装好官方二进制从 Syncthing 官方站点下载当前版本的 Linux amd64 tar 包后解包并放到系统目录tar -xzf syncthing-linux-amd64-*.tar.gz sudo cp syncthing-linux-amd64-*/syncthing /usr/local/bin/ syncthing --version成功长什么样--version打印出版本号且无任何权限报错二进制即可被任意用户执行。用户级服务文件只需这几行关键配置这一小节帮你省掉手写整个 unit 文件的麻烦——仓库里etc/linux-systemd/user/syncthing.service就有现成模板直接拷过来用。若想自己写抓住下面这几行就够[Service] # --no-browser 不开浏览器--no-restart 关掉程序内置的自拉起避免和 systemd 抢重启权 ExecStart/usr/local/bin/syncthing serve --no-browser --no-restart Restarton-failure [Install] WantedBydefault.target # 跟随用户会话启动成功后systemctl --user daemon-reload静默返回、无报错。启动、自启并让注销后继续跑把服务文件放进~/.config/systemd/user/目录不存在先mkdir -p然后执行systemctl --user enable syncthing.service systemctl --user start syncthing.service loginctl enable-linger $USER # 关键注销后服务不退出 systemctl --user status syncthing成功长什么样status 输出active (running)日志里能看到一行My ID: 一长串字符——把这个 ID 抄下来下一步配对要用。变体Windows 与 macOS其余平台压缩成两个短小节思路和主线一致只是服务管理工具不同。Windows把官方 zip 解压到C:\Program Files\Syncthing双击syncthing.exe首跑它会自动生成配置并打开 8384 端口的管理页。之后用管理员权限的 CMD 注册服务sc create Syncthing binPath \C:\Program Files\Syncthing\syncthing.exe\ serve --no-browser --no-restart start auto sc start Syncthing sc query Syncthingsc query显示RUNNING即成功另外记得在 Windows 防火墙的「允许应用通过」里把syncthing.exe加进私有和公用网络否则局域网发现会被拦。macOSbrew install syncthing最省事或装官方 DMG 拖进「应用程序」。仓库里etc/macos-launchd/syncthing.plist是 LaunchAgent 模板把其中的USERNAME占位替换成你的实际用户名可执行文件路径和 HOME 都是占位内容放进~/Library/LaunchAgents/后执行launchctl load ~/Library/LaunchAgents/syncthing.plist。成功标志是launchctl list | grep syncthing有输出日志落在~/Library/Logs/Syncthing.log。✅ 连通性验证端口没开时怎么自检服务起来不等于网络通了。先看这张端口表再逐条过下面的检查清单哪条卡住就在哪条处理不要跳着走端口协议用途被挡住的表象22000TCP文件同步主通道设备间完全不传数据22000UDPQUIC 通道QUIC基于 UDP 的低延迟传输退回 TCP同步变慢21027UDP局域网发现IPv4 广播 / IPv6 组播局域网内设备互相发现不了8384TCPWeb 管理界面默认绑定回环地址仅影响远程管理本机浏览器访问 127.0.0.1:8384现象出现登录/配置页。判断GUI 正常。若是空白或超时跑systemctl --user status syncthing看最近几条日志多半是服务没起来。命令行执行ss -lntp | grep 22000现象能列出 tcp、udp 两条监听记录。判断同步端口就绪。若一条都没有先确认服务进程确实在运行。执行journalctl --user -u syncthing | grep My ID现象打印出一长串设备 ID。判断这就是你的设备 ID抄下来给对方配对。查不到说明服务尚未完成初始化。两台机器互相添加对方设备 ID现象你这边看到对端状态变成「等待批准」。判断配对流程已建立点批准即可。若一直停在发现中跳到坑 3。批准后观察传输状态现象双方出现绿色连接文件夹内容开始收敛。判断全链路通。若已连接却不传文件跳到坑 4。⚠️ 常见坑四个高频问题问局域网里另一台设备打不开我的管理页是端口没放通吗答多半不是。GUI 默认绑定 127.0.0.1:8384本就只服务本机这是设计而非故障。要远程管理最省事的是开 SSH 隧道ssh -L 8384 localhost:8384 用户名主机浏览器访问自己机器的 8384 即可。非要暴露到局域网请先把 GUI 监听地址改为 0.0.0.0:8384 并务必启用用户名密码认证。问服务配好了一注销登录或重启就没了答用户级 systemd 服务天然只活在你的登录会话里。执行loginctl enable-linger $USER打开 linger注销后服务就会继续跑。这不是 Syncthing 的 bug是 user unit 的机制要求改完用systemctl --user is-enabled syncthing复核一下是否enabled。问两台机器都在互联网上互相发现不了对方答先分清两类发现UDP 21027 的本地发现只在同一局域网生效跨网段本来就不工作。跨网段靠全局发现服务器或静态地址如果 NAT 环境怪异直接把对端日志里显示的ip:port填进「静态地址」字段可以完全绕开发现机制。动手前先确认 22000 的 TCP/UDP 没被防火墙或路由器拦掉。问显示已连接文件却不动答先核对两边是否添加了同一文件夹且路径在各自机器上都真实存在、可读写。再看日志里有没有索引更新或拒绝类报错。最常见的根因是 22000 端口「半通」——TCP 握手能过但数据块传不动去防火墙里把 22000 的 TCP 和 UDP 一并放通再试。下一步往哪走网络行为与端口细节的权威说明在仓库的man/syncthing-networking.7和man/syncthing.1防火墙排查不奏效时优先读它们想看懂连接是怎么发起的看lib/connections/设备发现逻辑在lib/discover/。正式投入使用前建议再补读官方在线文档里关于文件版本化与冲突处理的章节。【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表