Syncthing 是 GitHub 上累積 89,198 顆星標與 5,506 次 fork 的開源檔案同步工具,以 Go 語言撰寫、採用 Mozilla Public License 2.0 授權,由開發者 Jakob Borg 於 2013 年 11 月建立。該項目的核心主張是移除雲端中轉:檔案直接在參與同步的裝置之間以點對點方式傳輸,不經過任何中央伺服器,使用者也不需要為此申請第三方帳號。專案於 2026 年 10 月 6 日發布 2.1.6 版本,距離首個版本上線已超過十年,儲存庫仍維持每日提交的活躍度,累計提交數達 8,206 次。

Syncthing 是以 Go 撰寫的開源檔案同步工具,讓多台電腦點對點同步檔案而不經中央伺服器,採 MPL-2.0 授權,支援 Windows、macOS 與 Linux。
Syncthing 是什麼?
它把檔案同步定義為裝置之間的直接協作:沒有任何伺服器保存資料副本,同步範圍由使用者自行指定,兩台裝置只要交換識別碼即可建立連線。
該項目的功能定位可以用一句話概括:在兩台或更多電腦之間持續同步指定的資料夾。官方文件把參與同步的機器統一稱為「裝置」,其中正在設定的那一台稱為本機裝置,其餘則為遠端裝置。使用者在一台裝置上指定要同步的資料夾,再透過裝置識別碼把另一台機器加入清單,兩端便會開始交換檔案清單與差異內容。整個過程不需要註冊帳號,也不需要把檔案先上傳到某個中繼位置。
README 把設計目標按重要性排序,第一位是「避免資料遺失」,第二位是「抵禦攻擊者」,其後才是易用、自動化、跨平台普及與服務個人使用者。這份排序解釋了該項目在功能取捨上的偏好:當便利性與資料完整性衝突時,它會選擇後者。舉例而言,同步過程會偵測檔案衝突並保留兩份版本,而不是以時間戳直接覆蓋,使用者必須自行決定如何合併。
專案由多位維護者共同運作,核心團隊包括 Jakob Borg、Audrius Butkevicius 與 Simon Frei,社群貢獻者累計超過三百人。周邊生態則由官方與社群分別維護,包含 macOS 的原生應用程式封裝、Android 客戶端,以及各種桌面圖形介面。官方文件說明,這些不同的封裝版本底層都執行同一套 Syncthing 核心,因此使用者日後轉換介面時,同步設定與資料不會受到影響。

Syncthing 的技術架構有什麼特點?
它採用自研的 BEP 協定在裝置間傳輸,全程以 TLS 加密並用裝置憑證互相驗證;首次啟動即自動產生金鑰與設定檔,配對不依賴集中式服務。
架構上,該項目定義了一套名為 BEP 的區塊交換協定,作為裝置之間的溝通語言。每台裝置在第一次啟動時會自行產生一組加密金鑰與裝置識別碼,這個識別碼就是它對外的身分憑證。兩台裝置建立連線時,會以 TLS 加密通道互相驗證憑證,而不是依賴帳號密碼,因此攻擊者即使取得其中一台裝置的網路位址,也無法冒充它與其他裝置通訊。
連線建立的方式相當彈性。同一區域網路內的裝置可以透過本地探索直接找到彼此,也能藉由全域探索伺服器交換位址,或由使用者手動指定遠端位址。官方文件指出,探索服務只協助裝置找到對方,並不參與檔案傳輸,也不會接觸任何檔案內容。這一層設計讓同步在無法對外連線的內網環境中依然可行。
在資料處理層面,同步以區塊為單位進行。裝置會為每個檔案建立區塊雜湊清單,交換清單後只傳輸缺少的區塊,因此大幅修改過的檔案不必整份重傳。這個機制也支援多裝置同時同步與中繼傳遞,讓兩台無法直接連線的裝置可以透過第三台已連線的裝置完成交換。整個流程不含任何遠端執行的設計,裝置之間交換的是檔案內容與中繼資料,而不是可執行的指令。
Syncthing 2.x 版本帶來了哪些重大改變?
2.0 把資料庫由 LevelDB 換成 SQLite,改採結構化日誌,刪除紀錄只保留六個月;2.1 系列加入裝置分組、HTTP 代理與可調整的登入工作階段。
2025 年 8 月發布的 2.0 版本是該專案近年幅度最大的一次調整。最關鍵的變動是資料庫後端由 LevelDB 改為 SQLite,官方說明這項改動讓資料庫更容易理解與維護,也希望藉此降低錯誤率;代價是首次啟動時需要執行一次資料遷移,對於檔案數量龐大的使用者可能耗時較長。同一版本也把日誌格式改為結構化條目,讓每則訊息由一段描述加上若干鍵值組成,使用者可以針對不同模組個別設定記錄層級。
2.0 另有多項影響日常使用的調整。刪除紀錄不再永久保留,而是在六個月後自動遺忘;若使用情境需要更長的刪除追溯期,可透過命令列選項或環境變數把保留時間設為零或自訂長度。命令列參數也一併現代化,過去以單一短橫線書寫的長選項不再支援,部分選項更名或改為子命令形式。此外,新版本預設不再於首次啟動時建立示範資料夾。
2026 年 5 月發布的 2.1 系列延續同一條線。使用者現在可以在圖形介面中以群組方式歸類裝置與資料夾,便於管理數量較多的同步情境;網路方面新增支援可處理 CONNECT 方法的 HTTP 與 HTTPS 代理,補足了過去僅支援 SOCKS 代理的不足。針對資料庫體積敏感的使用者,2.1 也允許關閉區塊索引,以換取更小的資料庫與更低的系統負擔。登入工作階段的有效期限則改為可設定,最長可設為永久有效。
如何開始使用 Syncthing?
先由官方網站或套件庫取得對應平台的執行檔,啟動後系統會自動產生設定檔與金鑰並開啟網頁介面,之後加入遠端裝置識別碼即可開始配對同步。
安裝流程依作業系統而異。官方建議使用者先查閱社群貢獻清單,挑選適合自身情境的版本;若需要跨平台圖形介面,可選用社群維護的桌面應用程式,Windows、Android 與其他平台亦有對應封裝。核心版本的作法是下載對應系統的發行檔並解壓縮,Debian 與 Ubuntu 使用者則可直接透過套件庫安裝,Docker 使用者另有官方映像檔可直接取用。
首次啟動時,程式會產生設定檔與加解密金鑰,隨後在瀏覽器開啟管理介面。官方文件說明,這個介面可執行新增資料夾、加入遠端裝置、檢視同步狀態與調整進階選項等操作,全部設定都儲存在本機,不會同步到外部服務。使用者只需在其中一台裝置上把另一台的裝置識別碼加入清單,並在對方接受配對請求後指定共享的資料夾,同步便會自動開始。
若要長期運作,官方在儲存庫的 etc 目錄中提供了各種讓程式常駐背景的範例,涵蓋 systemd、launchd 等常見服務管理機制。這種部署方式適合搭配 NAS 或常時開機的伺服器,讓行動裝置與筆電在不同網路環境下都能取得最新檔案。對於不想自行維運的使用者,社群也提供了多種圖形化封裝,把背景服務與介面一併處理。
Syncthing 的統計數據與授權條件為何?
該專案累積 89,198 顆星標、5,506 次 fork 與 1,053 名關注者,以 Go 撰寫、採 MPL-2.0 授權,累計提交 8,206 次。

授權方面,該項目採用 Mozilla Public License 2.0,允許商業使用、修改與再散布,但要求對原始碼的修改需以相同授權釋出。官方發行的二進位檔附有 GPG 簽章供使用者驗證,macOS 與 Windows 版本另附程式碼簽章,內建的自動升級機制則以編譯進程式的簽章金鑰驗證更新來源。專案同時取得 Core Infrastructure Initiative 最佳實務徽章,反映其在供應鏈與維運流程上的成熟度。
出處連結有哪些?
本文資訊整理自 syncthing/syncthing 的 GitHub 儲存庫與官方文件,包括版本發布說明、BEP 協定規格、安裝指引與專案目標文件。
- GitHub 儲存庫:https://github.com/syncthing/syncthing
- 官方文件:https://docs.syncthing.net/
- BEP 協定規格:https://docs.syncthing.net/specs/bep-v1.html
- 專案目標說明:https://github.com/syncthing/syncthing/blob/main/GOALS.md
總結:Syncthing 適合什麼團隊?
它適合重視資料主權、需要跨多台自有裝置同步檔案的個人與中小團隊;若組織要求集中式稽核、權限管理或協作編輯,傳統雲端硬碟仍是更合適的選擇。
此專案的價值在於把檔案同步的控制權交回使用者。對擁有 NAS、多台工作機或經常在外部網路作業的使用者而言,它提供了一條不依賴第三方雲端服務的同步路徑,且授權寬鬆、安裝成本低。核心團隊長期維護與超過三百名貢獻者形成的生態,也讓它在同類工具中具備相對穩定的更新節奏。
不過,去中心化同時意味著責任轉移。沒有集中式服務代為處理備份、版本歷史與跨組織權限,使用者必須自行規畫備份策略與裝置管理;裝置識別碼一旦外流,任何持有該識別碼的機器都可能發起配對請求,因此存取控制需要仰賴使用者的謹慎設定。對於需要集中稽核、多人協作編輯或合規保存的組織情境,傳統雲端硬碟仍是更直接的選擇,該項目更適合定位為自有裝置之間的同步基礎層。