ARTICLE DETAIL

资讯详情

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

Syncthing 跨平台部署指南:Windows、macOS、Linux 三端同步从入门到开机自启

Syncthing 跨平台部署指南:Windows、macOS、Linux 三端同步从入门到开机自启 Syncthing 跨平台部署指南Windows、macOS、Linux 三端同步从入门到开机自启【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthingSyncthing 是一款开源的 P2P 连续文件同步工具它在多台电脑之间持续同步指定的文件夹。整个 Syncthing 跨平台部署过程不经过任何云服务器设备之间先互相发现再用 TLS 加密通道直接传输连接不上时自动借用公共 relay 中转。代码以 MPLv2 协议开放你可以自己审计。本文的目标很具体按步骤做完后你的两台设备会实时互相同步一个文件夹并且开机自动运行。适合想把文档、照片从一台电脑同步到另一台、又不想依赖网盘的个人用户和小型团队。Syncthing 官方项目标识同步协议为 BEPBlock Exchange Protocol。先做选型你的系统该走哪条安装路线做完这一步你拿到的是该装哪个包、装到哪里的明确答案后面不用再纠结。你的场景推荐系统路径安装方式说明日常办公、不想碰命令行Windows官网 MSI 安装器带图形向导装完自动起服务写代码、已习惯终端macOSHomebrew Cask一条命令装好launchd 托管服务器或长期不关机的机器Linux官方 Releases 压缩包 systemd二进制独立便于升级和沙箱同一人在混用多台设备按各自系统分别装以上对应行设备间协议互通无需同版本三大系统的最小要求Windows 7 SP1 及以上、macOS 10.13High Sierra及以上、Linux 内核 3.10 及以上四核处理器、4GB 内存起步体验较好端口要求见后文端口表。主线任务两台设备先把同一个文件夹同步起来做完这一步你得到一条真实跑通的同步链路A 机丢进去的文件几秒内出现在 B 机。下面按最容易到最复杂排列每个系统只走装好 → 首启 → 验证最短路径。Windows装完 MSI 就能看到同步界面先从 Syncthing 官网下载 Windows 版 MSI 安装包双击安装一路默认即可安装器会顺手把 Windows 服务注册好。装完后点开始菜单里的 Syncthing 图标启动它会自动在浏览器打开管理界面。# 若浏览器没自动弹出在终端执行该命令手动拉起管理界面 syncthing.exe gui✅ 检查点浏览器打开http://127.0.0.1:8384能看到本机设备卡片一串字母数字的 Device ID 就显示在这里。macOS一行 brew 装好再敲一条命令拉起先在终端用 Homebrew 安装官方 Cask# 安装 Syncthing 的 macOS 版本GUI 应用形态 brew install --cask syncthing/syncthing/syncthing再启动它并让浏览器自动打开管理界面# 启动后台进程并打开 Web 管理界面 syncthing open --no-browser✅ 检查点http://127.0.0.1:8384出现本机设备卡片菜单栏出现 Syncthing 图标。Linux官方压缩包落地 /usr/local 就能跑先从 Syncthing 官方 Releases 页下载与你发行版匹配的syncthing-linux-架构-v版本号.tar.gz解压后把二进制放进系统路径再验证版本# 解压并安装到 /usr/local/bin然后查看版本号确认落地 tar -xzf syncthing-linux-amd64-v1.27.0.tar.gz sudo cp syncthing-linux-amd64-v1.27.0/syncthing /usr/local/bin/ syncthing --version最后手动跑一次生成配置并打开界面# 首次运行会生成证书、数据库和 config.xml随后浏览器打开 GUI syncthing✅ 检查点终端打印配置文件路径通常是~/.config/syncthing/config.xml浏览器能看到设备卡片。跨机配对把 A 和 B 绑到同一个文件夹这一步不分系统A、B 两台都按下面做A 机点Add Remote Device粘贴 B 机卡片上那串 Device ID复制按钮就在 ID 旁边给 B 起个别名确认。B 机对等操作把 A 加进来确认后 A 机的设备列表里 B 会变成绿色已连接。A 机点Add Folder选一个本地目录在 Share With 里勾选 BB 机弹出请求指定 B 侧存放路径接受。投一个试金石文件在 A 的同步目录新建sync-check.txt写一行任意内容。✅ 检查点30 秒内 B 机对应目录出现sync-check.txt且内容一致两台 GUI 的文件夹状态都为绿色。到此跨平台同步已经成立。服务化与开机自启重启后它自己爬起来做完这一步你得到的是断电重启后无需任何手动操作同步进程自动恢复。Windows确认自带的服务在跑。官方安装器已注册 Windows 服务正常情况无需再做。若你用的是绿色免安装版可用一条命令把它转成服务# 以管理员身份注册并启动 Syncthing Windows 服务 syncthing.exe install验证services.msc服务管理器里找到 Syncthing状态为正在运行。选这条路线的原因Windows 服务框架自带崩溃重启比计划任务稳定。macOS加载项目自带的 launchd 描述文件。项目仓库的etc/macos-launchd/目录里有一份现成的 plist拷到用户 LaunchAgents 目录后把里面所有USERNAME占位符替换成你的登录名/Users/后面的那个# 复制 launchd 配置并加载KeepAlive 会让进程退出后自动拉起 cp etc/macos-launchd/syncthing.plist ~/Library/LaunchAgents/ launchctl load ~/Library/LaunchAgents/syncthing.plist验证launchctl list | grep syncthing输出一行且带数字 PID。选这条路线的原因launchd 的KeepAlive与LowPriorityIO正好匹配同步工具常驻且低干扰的定位项目自带的文件已经配好这两项无需自己写 XML。Linux启用项目内置的 systemd 用户单元。用户级单元对单用户桌面最省心etc/linux-systemd/user/下的服务文件已含Restarton-failure与日志环境变量直接拷进用户单元目录# 安装用户级单元并开机自启daemon-reload 让 systemd 重新读取单元 mkdir -p ~/.config/systemd/user cp etc/linux-systemd/user/syncthing.service ~/.config/systemd/user/ systemctl --user daemon-reload systemctl --user enable --now syncthing.service验证systemctl --user status syncthing显示active (running)。若是多用户服务器改装系统级模板单元etc/linux-systemd/system/syncthing.service用sudo systemctl enable syncthing用户名.service按用户实例化该文件内置了 ProtectSystem、NoNewPrivileges、MemoryDenyWriteExecute 等沙箱项能显著缩小被利用后的破坏面。网络打通端口放行与直连、中继的取舍做完这一步两台设备在任何网络下都能发现彼此并建立加密连接且你知道带宽走的是直连还是中转。四个相关端口全部列在这里正文不再零散提及端口协议用途是否必须22000TCP同步主通道文件块传输必须22000UDPQUIC 通道弱网下更稳强烈建议21027UDP局域网广播发现仅同网段需要8384TCPWeb 管理界面默认只绑 127.0.0.1本地访问即可勿直接暴露公网UFWUbuntu/Debian一条命令放行前三行项目etc/firewall-ufw/的 profile 内容即 22000 加 21027/udp# 本地防火墙放行同步端口如需外网访问 GUI 再加一条 8384/tcp sudo ufw allow 22000/tcp sudo ufw allow 22000/udp sudo ufw allow 21027/udp⚠️ 注意不要把 8384 直接映射到公网远程管理请走 SSH 隧道ssh -L 9999:localhost:8384 目标机并务必先给 GUI 设置用户名密码。Windows 侧在控制面板 → 防火墙 → 允许应用通过里勾选syncthing.exe私有网络即可macOS 的应用防火墙默认只拦入站弹窗时选允许即可一般不用逐条配置。直连、中继与公网的取舍按你的网络对号入座同路由器/同网段21027 广播自动发现零配置速度最快。两台设备各自在 NAT 后面Syncthing 会尝试用 UPnP 自动做端口映射日志里出现 UPnP port mapping 字样即路由器已自动拨通拨不通就在路由器手动把 22000/TCP 与 22000/UDP 映射到该机器内外端口一致。实在无法直连自动回落到公共 relay 中转功能不变但受限于中转带宽日常小文件够用。两端都有固定公网地址且互相被墙可以关掉全球发现在对方设备详情里把地址写死为tcp://对端IP:22000跳过一切发现环节。更细的边界情况防火墙行为、桥接 Wi-Fi 等可查仓库内 man/syncthing-networking.7。排障同步没生效时按 1 到 7 顺序查做完这一步你拿到一张不用猜的排查清单哪一步出错就在哪一步修。两台 GUI 的设备列表里是否互相可见不可见 → 回配对环节核对 Device ID 是否复制完整应为一整串 56 位字符缺一个都连不上。连接状态是绿色还是红叉红叉 → 打开端口表逐项核对防火墙多数卡死出在 22000/TCP 没放行。A 机文件夹上是否出现等待上传有 → 文件还在扫描队列看文件夹详情里的进度条大目录首次扫描较慢属正常。B 机是否真的接受了共享B 的文件夹列表里看不到该文件夹 → 回跨机配对第 2 步补接受。连接走的是直连还是 relay设备详情里看地址出现relay/前缀说明走了中转速度慢时按上一节第 2 条去开端口映射。带宽是不是被自己限住了Action → Settings → Connection 里确认限速值没有设得太低。以上都正常仍不同步 → 看日志Windows 在%LOCALAPPDATA%\Syncthing\log\syncthing.logmacOS 在~/Library/Logs/Syncthing.loglaunchd 配置把输出写到了这里Linux 执行journalctl --user -u syncthing -f按时间搜WARN/ERROR即可定位。延伸建议跑通之后值得开的四个开关文件版本管理文件夹设置里启用版本管理trashcan 或 staggered误删、误改后能从历史版本找回新手强烈建议第一个开这个。带宽与速率上限Settings → Connection 里设置上行/下行上限并配置 off-peak 时段避免同步占满你的出口带宽。忽略规则在同步文件夹里放一个.stignore用通配符排除缓存、构建产物、虚拟环境目录能省掉大量无效扫描。GUI 安全GUI 设置中启用用户名密码并保持监听地址为127.0.0.1:8384需要远程访问时加 SSH 隧道不要直接开 8384 到公网。自动升级Action 菜单里有 Upgrade 入口官方二进制带签名校验确认版本说明后一键升级即可。更多行为细节以 man/syncthing-config.5 与 GOALS.md 为准。【免费下载链接】syncthingOpen Source Continuous File Synchronization项目地址: https://gitcode.com/GitHub_Trending/sy/syncthing创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表