【導語】:Syncthing 是一個免費的、跨平台的檔案同步工具。

Syncthing 采用 Go 語言編寫,它是一個免費的、跨平台的檔案同步工具,其獨有的對等自由塊交換協定,可以在兩台甚至更多的計算機之間同步檔案,同步意味着在其中一台裝置上進行的建立、修改或删除檔案的操作,都會被其他裝置看見。
Syncthing 隻會在同步的裝置之間傳輸資料,不會上傳到雲中。
Syncthing同步檔案具有以下特點:
防止資料丢失。這是檔案同步最重要的目标,保護資料避免損壞。沒有這個目标,同步檔案将毫無意義。Syncthing不會為了性能或在某些情況下甚至是可用性而進行不安全的折衷。
防範攻擊者。保護使用者資料至關重要,不能讓使用者的資料收到第三方的竊聽或修改。
易用性。複雜的概念和數學構成Syncthing功能的基礎,但是對于普通使用者來說不需要關心底層實作,其使用方法非常簡單,
自動化。Syncthing會自動化處理很多問題而無需使用者幹預,擷取對檔案的更改,解決沖突,維護連接配接等。
通用性。保持在各個平台上使用的通用性。
項目位址是:
https://github.com/syncthing/syncthing
Syncthing提供了很簡易的安裝方式,linux下直接解壓安裝包,windows則提供了exe檔案供安裝,另外社群還提供了Android等安裝包。
以指令行啟動,并輸出以下内容(也可以在可視化系統中輕按兩下啟動,這裡隻是為了了解細節才使用指令行):
管理者頁面會自動啟動,通路http://localhost:8384/即可。
左側是“Folders”清單,代表要同步的目錄,此時尚未與其他裝置共享,是以目前狀态為“Unshared”,檔案夾狀态還包括Paused、Stopped、Up to Date等狀态。
右邊是裝置清單,表示與目前裝置連接配接的裝置,包括本地裝置。本地裝置始終位于頂部,而遠端裝置則按字母順序排列。對于每個裝置,都可以檢視到目前狀态以及更多的詳細資訊,如傳輸速率、資料總量等。
為了使Syncthing能夠與另一台裝置同步檔案,必須告知該裝置另一台裝置的相關資訊。Syncthing通過交換“裝置ID”來實作。裝置ID是唯一的加密安全辨別符,該辨別符在首次啟動Syncthing時作為密鑰生成的一部分生成。它被列印在上面的日志中,您可以通過選擇“Actions”(右上角)和“Show ID”在Web GUI中看到它。
如果兩個裝置都配置有彼此的裝置ID,則它們會互相連接配接并通話。由于配置必須是互相的,是以不需要将裝置ID保密。它們本質上是公鑰的一部分。
要使兩個裝置互相通信,請單擊兩個裝置右下角的“Add Remote Device”,然後輸入另一側的裝置ID,還要選擇共享的檔案夾。裝置名稱是可選的,可以随時更改。
單擊“Save”後,新裝置将出現在GUI的右側,然後在大約一分鐘後連接配接到新裝置。另一台裝置也需要重複以上步驟。
此時,兩個裝置共享一個空目錄。将檔案添加到任一裝置上的共享目錄會将這些檔案同步到另一端。
Syncthing還有指令行的使用方法,感興趣的讀者自己去嘗試吧。
<code>開源前哨</code> 日常分享熱門、有趣和實用的開源項目。參與維護 10萬+ Star 的開源技術資源庫,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。