当前位置: 首页 > 科技观察

36,000颗星星!开源跨平台文件同步工具

时间:2023-03-11 22:33:54 科技观察

介绍Syncthing是用Go语言编写的。它是一个免费的跨平台文件同步工具。其独特的点对点自由块交换协议可以在两台或多台计算机设备之间同步文件。同步是指在一台设备上创建、修改或删除文件的操作都会被其他设备看到。Syncthing仅在同步设备之间传输数据,不会上传到云端。Syncthing使用以下功能同步文件:防止数据丢失。这是文件同步最重要的目标,保护数据不被损坏。没有这个目标,同步文件将毫无意义。Syncthing不会为了性能或在某些情况下甚至可用性而做出不安全的妥协。防范攻击者。保护用户数据非常重要,用户数据不能被第三方窃听或修改。使用方便。复杂的概念和数学构成了Syncthing功能的基础,但普通用户无需关心底层实现,其使用非常简单和自动化。Syncthing可以在无需用户干预的情况下自动执行很多操作,例如获取文件更改、解决冲突、维护连接等。多功能性。保持跨平台使用的通用性。项目地址为:https://github.com/syncthing/syncthing简单易用Syncthing提供了非常简单的安装方法,linux下直接解压安装包,windows提供exe文件安装,社区也提供Android等安装包。用命令行启动,输出如下内容(也可以在可视化系统中双击启动,这里只用命令行详细说明):>syncthing[monitor]22:56:32INFO:Logoutputsavedtofile"C:\Users\User\AppData\Local\Syncthing\syncthing.log“[monitor]22:56:32信息:已创建默认文件夹和/或链接到新配置[start]22:56:32信息:syncthingv1.7.1“FermiumFlea”(go1.14.4windows-386)teamcity@build.syncthing.net2020-07-1118:17:41UTC[start]22:56:32INFO:Defaultfoldercreatedand/orlinkedtonewconfig[start]22:56:32INFO:Defaultconfigsaved.EditC:\Users\User\AppData\Local\Syncthing\config.xmltotaste(withSyncthingstopped)或使用GUI[6FOKX]22:56:33INFO:MyID:6FOKXKK-SKUBWFW-GSKX6IQ-ZC4SYUZ-5IEVZKE-TC42AAX-HW7IBW4-GAZFAQ7[6FOKX]22:56:34INFO:Singlethreadis12356/performancesusingcrypto/sha256(108MB/susingminio/sha256-simd).[6FOKX]22:56:34INFO:Hashingperformanceis106.31MB/s?noannounce&id=LYXKCHX-VI3NYZR-ALCJBHF-WMZYSPK-QG6QJA3-MPFYMSO-U56GTUK-NA2MIAW[6FOKX]22:56:34信息:使用发现服务器https://discovery-v4.syncthing.net/v2/?nolookup&id=LYXKCHX-VI3NYZR-ALCJBHF-WMZYSPK-QG6QJA3-MPFYMSO-U56GTUK-NA2MIAW[6FOKX]22:56:34INFO:使用发现服务器https://discovery-v6.syncthing.net/v2/?nolookup&id=LYXKCHX-VI3NYZR-ALCJBHF-WMZYSPK-QG6QJA3-MPFYMSO-U56GTUK[-NA2MIAWK6FOKX]22:56:34INFO:Readytosynchronize"DefaultFolder"(默认)(发送接收)[6FOKX]22:56:34INFO:QUIClistener([::]:22000)starting[6FOKX]22:56:34INFO:TCPlistener([::]:22000)starting[6FOKX]22:56:34INFO:Relaylistener(dynamic+https://relays.syncthing.net/endpoint)starting[6FOKX]22:56:34INFO:Completedinitialscanofsendreceivefolder"DefaultFolder"(默认)[6FOKX]22:??56:34INFO:GUIandAPIlisteningon127.0.0.1:8384[6FOKX]22:56:34INFO:AccesstheGUIviathefollowingURL:http://127.0.0.1:8384/[6FOKX]22:56:34INFO:Mynameis"Thiscomputer"[6FOKX]22:??56:45INFO:quic://0.0.0.0:22000检测到NATtype:SymmetricNAT[6FOKX]22:56:45INFO:quic://0.0.0.0:22000resolvedexternaladdressquic://125.190.151.7:59296(viastun.syncthing.net:3478)[6servicesect]22:56:46ed0INFON:D管理员页面会自动启动,访问http://localhost:8384/即可。左边是“Folders”列表,代表要同步的目录。此时还没有分享给其他设备,所以当前状态为“Unshared”,文件夹状态也包括Paused、Stopped、UptoDate等状态。右边是设备列表,显示当前设备连接的设备,包括本地设备。本地设备始终位于顶部,而远程设备按字母顺序列出。对于每个设备,您可以查看当前状态和更详细的信息,例如传输速率、数据总量等。为了让Syncthing与另一台设备同步文件,必须告知该设备关于另一台设备的信息。Syncthing通过交换“设备ID”来工作。设备ID是一个唯一的加密安全标识符,在首次启动Syncthing时作为密钥生成的一部分生成。它打印在上面的日志中,您可以通过选择“操作”(右上角)和“显示ID”在WebGUI中看到它。如果两个设备都配置了彼此的设备ID,它们将相互连接和交谈。由于配置必须是相互的,因此无需对设备ID保密。它们本质上是公钥的一部分。要使两台设备相互通信,请点击两台设备右下角的“添加远程设备”,然后输入对方的设备ID,同时选择共享文件夹。设备名称是可选的,可以随时更改。点击“保存”后,新设备会出现在GUI的右侧,大约一分钟后,连接到新设备。另一台设备也需要重复上述步骤。此时,两个设备共享一个空目录。将文件添加到任一设备上的共享目录会将这些文件同步到另一台设备。Syncthing也有命令行方式,感兴趣的读者可以自行尝试。