📅 2018年10月20日

2025年Syncthing完全評測:如何將手機與電腦檔案同步提升到無廣告、隱私優先的新境界

在日常工作和生活中,我們時常需要在手機、平板、電腦多個設備之間同步檔案。許多人直覺採用Google Drive、iCloud或OneDrive等雲端服務,但這些方案存在幾個被忽略的痛點:免費容量有限制、上傳下載速度受制於訂閱等級、隱私數據實際上由服務商掌控、以及桌面客戶端愈來愈多的廣告推廣。對於重視效率且關注數據主權的用戶而言,Syncthing提供了一個值得認真考慮的替代方案。本文將從安裝、配置、進階使用到常見問題排除,完整介紹如何在2025年用Syncthing打造私有雲端同步體驗。

為何放棄傳統雲端硬碟轉向Syncthing

傳統雲端同步服務的底層邏輯是「將數據上傳至服務商伺服器,再分發至各設備」。這種中心化的架構帶來了便利性,但也埋下了隱憂。首先是隱私問題——即使服務商承諾不窺探用戶數據,美國的雲法案允許政府在特定條件下訪問存儲在美國伺服器上的數據,這是許多敏感工作者的潛在風險。其次是成本問題:隨著項目文件、素材庫、備份數據的增長,雲端存儲的月費會成為持續開銷,而Syncthing完全免費,僅需閒置的舊設備作為節點。

Syncthing的設計哲學是「點對點、去中心化、local-first」。檔案同步不再經過任何第三方伺服器,而是直接在設備與設備之間進行。數據傳輸採用TLS加密,確保即使在公共網絡環境下也無法被中間人攻擊竊取。你可以在家中的電腦與公司的筆電之間建立持續同步,兩者位於不同網絡時會通過relay伺服器轉發(可自行架設或使用公共relay),而這個relay伺服器同樣無法解密你的內容——它僅僅是幫忙穿透NAT的轉發節點。

對於開發者和內容創作者而言,Syncthing的另一個核心優勢是版本控制功能。Syncthing內建了簡易的版本控制機制,默認保留最近5個版本,適用於誤刪除或錯誤編輯的場景。更重要的是,所有同步邏輯完全在本地執行,沒有任何功能需要付費解鎖,沒有日使用量限制,沒有所謂的「專業版」功能分級。

在各操作系統上安裝Syncthing

Syncthing支持幾乎所有主流操作系統,安裝過程都非常直觀。

Android設備

在Android上安裝Syncthing有兩種方式。第一種是從Google Play或F-Droid安裝「Syncthing-Fork」,這是社群維護的分支版本,修復了原版的一些穩定性問題並增加了通知控制等實用功能。安裝完成後,首次打開應用會提示設置設備ID——這是基於橢圓曲線加密的公私鑰對,無法偽造或碰撞。

第二種方式是在Termux中安裝Syncthing的命令列版本。對於進階用戶而言,這種方式更靈活,可以配合腳本實現自動化備份任務。在Termux中執行:

pkg install syncthing
syncthing

首次運行會在~/.config/syncthing目錄生成配置檔案,並顯示Web UI的訪問位址。

Windows系統

Windows用戶推薦從官方網站下載「SyncTrayzor」——這是Syncthing的Windows封裝,集成了系統托盤管理、Web UI和一鍵後台運行功能。下載後解壓縮運行,安裝向导會引導你完成初始設置。SyncTrayzor會自動開機啟動並最小化至托盤區,日常使用幾乎無感知。

對於希望完全擺脫圖形介面的用戶,也可以選擇原生的Windows版本,在PowerShell中後台運行syncthing.exe,通過http://localhost:8384訪問管理介面。

Linux發行版

大多數Linux發行版的軟件倉庫都包含了Syncthing。一行命令即可完成安裝:

# Debian/Ubuntu
sudo apt install syncthing

# Fedora
sudo dnf install syncthing

# Arch Linux
sudo pacman -S syncthing

安裝完成後,執行systemctl --user enable --now syncthing.service即可開機自動啟動。通過 systemctl --user status syncthing驗證服務運行狀態後,在瀏覽器訪問http://localhost:8384即可開始配置。

建立第一個同步連接

Syncthing的設備發現機制有兩種:本地網絡自動發現和手動添加設備ID。

本地網絡自動發現

當兩台設備處於同一局域網時,Syncthing會自動發現彼此並顯示在Web UI的「設備」頁面。你只需點擊設備旁的「添加」按鈕,確認設備名稱和用途後點擊「保存」,連接便會建立。首次連接時雙方會交換加密握手,整個過程無需任何帳戶或密碼。

跨網絡遠程連接

如果設備不在同一局域網,需要手動添加。具體步驟如下:

  1. 在設備A的Web UI中,點擊「操作」→「顯示ID」,複製設備ID(長串Base64字串)
  2. 在設備B的Web UI中,點擊「添加設備」,粘貼設備A的ID,設置一個友好名稱
  3. 在設備A的Web UI中會收到連接請求,點擊「確認」完成雙向握手

連接建立後,你需要指定哪些資料夾要與對方同步。每個同步資料夾都有唯一的ID,兩台設備必須使用相同的資料夾ID才能實現同步。通常的做法是在設備A設置分享資料夾時複製其ID,再到設備B粘貼該ID來「認領」同一資料夾。

Relay伺服器配置

跨網絡同步默認使用公共Relay服務(relays.syncthing.net),流量會經過relay轉發。如果你在中國大陸使用,可能需要自建Relay或使用代理。Syncthing支持SOCKS5代理配置:在「設置」→「連接」中填入代理位址和端口即可。對於對延遲敏感的用户,可在海外VPS上自行部署Relay實例,部署方法非常簡單,下載對應架構的syncthing binary,執行./syncthing serve --no-browser --gui-address=0.0.0.0:8384,再在防火牆開放端口即可。

進階配置與最佳化

選擇性同步

對於大資料夾,你可以啟用「選擇性同步」功能,只同步其中的子資料夾。例如,你的照片庫總量大於手機存儲空間,可以在電腦端設置只同步「2024」和「2025」年份的資料夾其餘年份等到需要時再手動同步。具體操作是在Web UI中點擊資料夾的「編輯」按鈕,切換到「選擇性同步」標籤頁,勾選需要同步的子目錄。

檔案版本控制

Syncthing提供三種版本控制策略。第一種是「簡單版本控制」,保留最近N個版本,適合日常文檔。第二種是「外部版本控制」,可以配合restic、rclone等工具實現更複雜的備份策略,適合對數據安全要求極高的場景。第三種是「.Trash-It」方式,刪除的檔案會移至資料夾內的.trash目錄而非直接刪除。

推薦的設置是對工作相關資料夾啟用簡單版本控制(保留10個版本),對素材庫啟用外部版本控制。這樣既能應對意外刪除,又不會過度佔用磁盤空間。

排除規則與過濾器

在設置同步資料夾時,你可以定義「ignore patterns」來排除特定檔案不同步。例如:

*.tmp
.DS_Store
Thumbs.db
node_modules/
.git/

這個功能對於開發者特別實用——可以讓整個專案目錄保持同步,但自動排除快取和系統生成的臨時檔案,既節省流量又避免衝突。

傳輸限速

Syncthing支持上行和下行速度限制,避免同步任務佔用全部頻寬影響正常上網。在「設置」→「頻寬限制」中填入數值,單位為KB/s。對於筆記型電腦用戶,還可以設置「電池供電時暫停同步」和「低電量時限制同步」以節省電力。

常見問題與解決方案

連接不上的排查步驟

當兩個設備無法建立連接時,首先檢查兩端是否都運行著Syncthing且版本較新。然後在Web UI的「操作」→「查看日誌」中查看詳細的連接錯誤信息。常見原因包括:防火牆阻止了8384端口、代理設置錯誤、以及設備ID粘貼時有空格或換行。

檔案衝突的處理

當同一檔案在兩端同時被修改時,Syncthing會生成衝突副本而非覆蓋。衝突檔案命名為filename.ext.syncthing-conflict-20250103-123456-XXXXXXXX.ext。建議定期檢查衝突檔案,手動合併後刪除多餘版本。

如何卸載乾淨

如果你需要更換同步方案而卸載Syncthing,建議先在Web UI中斷開所有設備連接並停止同步任務,然後再卸載應用。卸載後產生的.syncthing資料夾可以手動刪除,但如果你打算日後重新使用,保留配置目錄可以省去重新設置的步驟。

結論

Syncthing代表了一種不同的數據同步哲學:你的數據屬於你,不屬於任何服務商。雖然它不提供雲端備份的便利性(沒有異地災備),但對於有技術基礎且重視隱私的用戶而言,它是構建私有同步系統的優秀工具。免費、去中心化、功能完整——在這個訂閱疲勞的時代,這些特質顯得格外有吸引力。如果你厭倦了雲端服務的各種限制,不妨給Syncthing一個機會,或許它會成為你數位工作流程中不可或缺的一環。

🔗 相关阅读

感谢您的阅读!如果觉得这篇文章有帮助,欢迎分享给更多人。