- Syncthing 透過 P2P 協議,使用 TLS 加密和裝置授權來同步資料夾,無需儲存伺服器。
- 它支援跨平台(Linux、macOS、Windows、Android),並提供網頁介面、圖形使用者介面和背景執行功能。
- 它支援資料夾模式(發送/接收)、版本控制、排除模式以及帶有「呈現者」的叢集。
- 它不能取代備份:它應該與外部副本結合使用,並在適當的時候使用“僅發送/接收”。

有一種方法可以讓你無需透過雲端即可在多個裝置上保持檔案更新: 同步. 這款免費開源工具可以直接在電腦之間同步資料夾。提供端對端安全保障,且不會與第三方分享您的資料。
拋開技術方面不談,它最大的亮點在於其簡潔性:您只需在每台電腦上安裝該服務,然後選擇要共享的資料夾,就完成了。 它可在 GNU/Linux、macOS、Windows 和 Android 系統上運作。它擁有網頁介面和桌面應用程序,其核心理念很明確:您的資料歸您所有,您可以決定資料儲存在哪裡以及如何傳輸。
Syncthing是什麼?為什麼它值得使用?
Syncthing 是一個跨平台的文件同步系統,專注於隱私和控制。 其許可證為 Mozilla 公共授權 2.0 (MPL 2.0)。它使用 Go 語言開發,並採用自己的區塊交換協議(稱為區塊交換協議 (BEP))來有效地傳輸資料。
實際上,該專案提出了一種自帶資源(BYO)的雲端模式,其中 您提供硬體,軟體負責連接您的裝置。 它不需要中央儲存伺服器。它支援 IPv4 和 IPv6,並且在無法建立直接連接時可以利用中繼。
這個專案的理念是基於幾個非常明確的目標: 防止資料遺失、維護安全、方便使用、盡可能自動化,並向所有人開放。所有這些都配有清晰的介面和詳盡的文件。
- 防範損失:盡量降低資料損壞或意外刪除的風險。
- 安全TLS 加密可保護傳輸中的數據,並且每個裝置都經過明確授權。
- 便利性和自動化設定簡單易懂,後台同步,沒有花俏的功能。
- 廣泛可用性支援 GNU/Linux、macOS、Windows 和 Android 用戶端,以及 Docker 容器選項。
最重要的是 它有一個可透過瀏覽器存取的網頁介面。 此外,在 GNU/Linux 系統中,基於 GTK 的 GUI(以及像 Syncthing-GTK 這樣的前端)可以簡化日常任務。

技術層面的工作原理(不深入細節)
當您共用資料夾時,Syncthing 會分析檔案並將其分成多個區塊。 僅同步發生變化的區塊這可以加快傳輸速度並降低頻寬消耗。此外,它在計算並記住完整雜湊值後,還會應用元資料壓縮和「輕量級掃描」。
關於安全方面, 所有通訊均使用 TLS 加密。設備透過唯一的 ID(源自其憑證)進行識別,設備間的連接需要雙方確認。如果發生衝突,系統會將最舊的檔案重新命名,並在檔案名稱後面加上類似「同步衝突」的後綴以及日期和時間,以便您輕鬆解決問題。
位置和連接方面 Syncthing 會自動發現區域網路上的設備 必要時,它還可以使用公共中繼。此外,即使您切換網絡,它也能保持連接,因此當您重新連接到互聯網時,同步將繼續進行。
在主要係統上安裝
在 GNU/Linux 系統中,您可以從官方倉庫或專案本身安裝它。 在 Debian/Ubuntu 及其衍生版本中,建議使用官方儲存庫並匯入 PGP 金鑰。Fedora、CentOS 和類似系統將其作為 EPEL 包含在它們的軟體倉庫中。在 Arch/Manjaro 中,它位於相應的軟體倉庫中。
安裝完成後,建議使用 systemd 執行使用者服務: 使用 systemctl enable syncthing@usuario y systemctl start syncthing@usuario (請將「username」替換為您的帳號名稱)。預設網頁介面設定為 http://127.0.0.1:8384 用於地方行政管理。
在 Windows 系統上,官方二進位檔案以「便攜式」方式運行,但為了獲得更舒適的體驗,可以使用一些類似這樣的專案。 同步托盤, 那 Syncthing 在背景啟動,顯示通知,並整合到系統托盤中。這樣一來,你就不必擔心打開控制台視窗了;它會隨系統啟動,並在你需要它之前一直處於隱藏狀態。
在 macOS 上,您可以下載打包好的應用程式。 將 Syncthing 安裝為原生應用在安卓系統上, 它在 Play 商店和 F-Droid 上均可下載。並允許您將手機與裝置配對,例如,自動將照片傳輸到您的電腦。

網頁介面入門
開啟瀏覽器並輸入 http://127.0.0.1:8384 (預設連接埠)。 理想情況下,您應該啟用圖形使用者介面使用者名稱和密碼。 從操作 → 設定 → GUI 中進行設置,尤其是在您要將其暴露在本機主機之外或從區域網路上的另一台電腦對其進行管理時。
您將看到一個螢幕,其中包含「資料夾」、「此裝置」和「其他裝置」面板。 該介面能夠檢測系統語言,而且非常直覺。您可以在這裡新增遠端設備、建立共用資料夾、調整參數和檢查同步狀態。
您的裝置 ID 和配對訊息
每個 Syncthing 安裝都會產生自己的憑證和關聯的裝置 ID。 該ID允許其他裝置找到您並要求連線。當您與手機配對時,您會在「操作」→「顯示 ID」中看到它,旁邊還有一個非常有用的二維碼。
若要連接兩台設備,請在其中一台設備上按下「新增遠端設備」按鈕。 貼上對方的ID並保存如果兩台電腦在同一個區域網路內,Syncthing 通常無需輸入代碼即可「看到」第二台電腦,這要歸功於本地發現功能。
存放時, 第二隊將收到配對通知。 接受連線。雙方確認後,兩台裝置即連線成功,可開始同步資料夾。
共享資料夾:標籤、路徑以及共享對象
若要開始同步,請在其中一台裝置上新增一個資料夾。 分配標籤(描述性名稱)和磁碟路徑您可以透過在「共享」標籤中選擇一個或多個團隊來與之共享。
所有隊伍的路線不必相同; 您可以將電腦上的“FotosMóvil”映射到“/home/usuario/syncthing/camara”例如,盡量保持條理清晰,這樣在儲存文件時就不會搞混了。
當你共享資料夾時,對方團隊會收到「接受」邀請,並選擇將其放置在他們系統上的哪個位置。 雙方達成協議後,同步過程開始。 您將即時看到進度條、物品計數和區塊索引。

資料夾類型和實用設定
Syncthing 為每個資料夾提供三種模式: 發送與接收、僅發送、僅接收第一種是雙向的(一如既往)。 「僅發送」模式可防止其他團隊的變更影響來源檔案;適用於主團隊推送內容的情況。 「僅接收」模式可阻止本地修改傳播。
資料夾編輯面板包含一些非常有用的進階選項。例如: 您可以設定最低可用磁碟空間百分比。或調整掃描變化的方式和時間(掃描間隔,以及在適當情況下進行即時觀察)。
您還會發現 忽略模式 (需要排除的模式,例如) *.tmp 或特定目錄),以及該部分 文件版本控制 保留文件的先前版本。這種版本控制方式雖然簡單,但對於撤銷常見的編輯或刪除錯誤非常有用。
另一個重要的調整是類 UNIX 系統中的檔案驗證順序和權限/擁有者的處理。 如果您在 Windows 和 Linux 之間進行同步,請勾選這些複選框以避免意外情況。 包含元資料。
網狀結構:放射狀結構(含「呈現者」)與網狀結構
使用三台或更多計算機,您可以建立一個更有效率的叢集。假設這三台計算機分別是 A、B 和 C。 如果您將 A 標記為「演示者」(回車) 將 B 和 C 連接起來,A 將這兩個設備「介紹」給彼此,其他設備便會自動相互感知。
優勢?如果A關閉, B 和 C 將繼續直接同步 前提是它們能夠連接。此外,傳輸是共享的:不是由 A 發送所有數據,而是每個設備都貢獻一部分,從而降低了源端的頻寬。
如果將所有人標記為演示者,則可以實現“完全網格化”,但不建議這樣做。 會產生難以清除的「幽靈裝置」。 當一個物件已不存在,但其引用仍保留在網路上時,Syncthing 會偵測到互惠呈現者,並發出警告,提醒您重新考慮。
遠端管理和實用技巧
想從一個團隊管理另一個團隊?請前往“操作”→“設定”→“圖形使用者介面”,然後 變更 Web 介面的監聽位址 允許從您的區域網路存取(例如, 0.0.0.0:8384請提供所需的使用者名稱和密碼。
如果你管理的是一台沒有圖形介面的伺服器, 您可以編輯 ~/.config/syncthing/config.xml 調整參數,包括圖形使用者介面 (GUI)。如果所有操作都透過 SSH 完成,則可以使用連接埠轉送隧道將設備「引入」。 127.0.0.1:8384 連接到您正在連接的裝置。
當有嚴格支援UPnP的路由器或不支援UPnP的路由器時, Syncthing 可以拉動繼電器它們作為臨時解決方案非常有效,但會降低連線速度。如果您可以控製網路環境,直接開啟連接埠和路由流量通常能提供更好的效能。
隱私與安全:你需要了解什麼
設備間的通訊使用 TLS 加密,且每個設備 它有自己的憑證和私鑰然而,隱私並不意味著同伴之間完全匿名:已連接的設備可以看到你的IP位址、系統資訊和狀態(已連線、正在同步等)。只與你信任的人連結。
為了在全球範圍內運營,Syncthing 使用了一些公共服務: 全球發現伺服器、中繼和中繼列表除了更新伺服器之外,如果您同意,我們還會提供用於統計的匿名遙測資料。如果您想建立自己的私人網絡,所有組件都可以替換,但對大多數用戶來說沒有必要。
港口、績效和衝突解決
預設情況下,GUI 使用 本地主機上的 8384 端口對等同步通常採用 22000/TCP 以及當地的發現 21027/UDP如果您有防火牆,請根據需要開啟它以改善直接連線。
當兩台計算機幾乎同時修改同一個檔案時, 著名的「同步衝突」出現了Syncthing 會在版本號碼後面加上日期後綴,以便您可以選擇要保留的版本。啟用版本控制有助於保護您的系統。
如果您發現索引耗時過長, 查看掃描結果和即時變化「觀察」。在大型程式碼庫中,調整間隔並啟用 inotify 通知(如果適用)可以在不犧牲散熱的情況下節省 CPU。
容器化安裝及其他說明
對於封裝環境, 有一個官方的 Docker 映像。這是一種非常方便的方法,可以將 Syncthing 安裝在 NAS、家用伺服器或 VPS 上,並保持資料夾的磁碟區已掛載。
在 GNU/Linux 桌上型系統中, Syncthing-GTK 或類似的前端可以簡化管理流程。 SyncTrayzor 在系統托盤中顯示圖標,無需打開瀏覽器即可直接存取各種選項。在 Windows 系統上,SyncTrayzor 完美地滿足了這項需求。
正如該項目所強調的那樣, “您的資料只屬於您自己”正是由於這種無需第三方雲端服務的方式,許多用戶才會將內部工作、媒體串流或敏感資料從 Dropbox/Drive 遷移出來。
如果你想充分利用它,就應該投入時間… 排除模式、頻寬限制和版本控制在擁有眾多機器和大型目錄的實際環境中,這三個設定至關重要。
歸根結底,Syncthing 結合了 P2P 速度、絕對控制權和非常人性化的設定。一旦設定好並運行起來,你就可以告別U盤、電子郵件附件和無休止的雲端上傳了。而且,它的確出乎意料地好用。
專門研究技術和互聯網問題的編輯,在不同數位媒體領域擁有十多年的經驗。我曾在電子商務、通訊、線上行銷和廣告公司擔任編輯和內容創作者。我還在經濟、金融和其他領域的網站上撰寫過文章。我的工作也是我的熱情所在。現在,透過我的文章 Tecnobits,我嘗試探索科技世界每天為我們提供的所有新聞和新機會,以改善我們的生活。