自架服務
UniClipboard/UniClipboard avatar
UniClipboard/UniClipboard

UniClipboard:本地優先、端到端加密的剪貼簿同步

在所有裝置上即時剪貼簿同步,本地優先、點對點和端對端加密。沒有帳戶。沒有雲端依賴。沒有中央伺服器。

1,716 個 Star78 個 ForkRustAGPL-3.0

秒懂

它是什麼?
基於倉庫材料,介紹 UniClipboard 如何配對裝置、保護剪貼簿資料,以及目前行動相容模式的定位。
適合誰用?
UniClipboard 是一個正在積極開發的 Rust 專案,使用加密空間和點對點傳輸在沒有中央伺服器的情況下跨裝置同步剪貼簿資料。行動應用目前使用有時限的 HTTP 相容模式,AGPL-3.0 授權授予使用、修改和散佈自由,並承擔原始碼可取得的義務。
可以商用嗎?
可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

無中央伺服器的剪貼簿同步

UniClipboard 是一個用 Rust 編寫的應用程式,目標是讓使用者在一台裝置上複製、在另一台裝置上貼上,甚至跨網路。倉庫描述強調本地優先、點對點設計與端到端加密,且不需要帳戶、雲端依賴或中央伺服器。README 提醒專案正在積極開發中,可能有不穩定或缺失的功能。根據倉庫中繼資料,該專案有 1458 個星標、68 個分支與 163 個開放問題,且未封存。

空間與邀請碼配對

裝置透過在既有裝置上產生邀請碼,然後在新裝置上輸入該邀請碼與空間通行碼來加入同一個「空間」。整個過程不需要雲端帳戶或電子郵件;README 稱之為兩台裝置彼此同意信任。每個空間都有自己的主金鑰,切換到另一個空間會用新金鑰重新加密本地歷史。CLI 提供非破壞性的 join 路徑,以及用於移動空間的 --switch 路徑。

傳輸與加密細節

傳輸層會優先嘗試直接點對點連線,在不同網路時使用 NAT 穿透,否則回退到加密中繼。README 指出負載加密與傳輸無關,因此即使是惡意的中繼也只能看到密文。加密採用 XChaCha20-Poly1305 AEAD,使用 24 位元組隨機數與 256 位元金鑰;通行碼透過 Argon2id 推導(128 MB 記憶體、3 次疊代、4 執行緒)。主金鑰儲存在 KeySlot 檔案中,由系統鑰匙圈中的金鑰加密金鑰保護。

行動相容模式及其限制

目前 iOS 與 Android 版本使用有時限的 HTTP 相容模式,而不是完整的 P2P 核心。桌面守護程式在區域網路暴露一個小的 HTTP 服務,手機透過它讀寫剪貼簿。README 明確表示這些相容用戶端不是空間對等節點,不執行 NAT 穿透,且使用純 HTTP 加 Basic Auth,除非放在 TLS 反向代理後面。iOS 也沒有靜默背景同步,應用程式只能在前景或透過通知點擊時交換剪貼簿資料。

安裝選項與從原始碼建置

預編譯套件可從 GitHub Releases 取得,支援 Windows、macOS 與 Linux。一鍵安裝腳本位於 https://uniclipboard.app/install.sh,會自動偵測作業系統與 CPU;Linux 使用者可以為 Fedora/RHEL/openSUSE 啟用 COPR 儲存庫,或直接安裝 .deb 與 .rpm 檔案。macOS 使用者可透過 Homebrew tap 安裝。從原始碼建置需要先帶 --recurse-submodules 複製,然後執行 'bun install' 與 'bun tauri dev' 或 'bun tauri build'。

命令列工具與快捷面板

UniClipboard 附帶一個 'uniclip' 命令列工具,它鏡像 GUI 流程並可無頭執行。文件中列出的指令包括 'uniclip init' 建立空間、'uniclip invite' 產生邀請碼、'uniclip join' 兌換邀請、'uniclip send' 傳送剪貼簿內容、'uniclip watch' 監聽剪貼簿事件。GUI 也提供 Quick Panel 鍵盤快捷鍵浮層,可預覽文字、連結、圖片、程式碼與檔案。主要頁面包括儀表板、Quick Panel、裝置與設定。

倉庫狀態、授權與貢獻

該倉庫用 Rust 編寫,並在致謝中列出 Tauri、React、iroh、Tokio 與多個前端函式庫。README 歡迎各類貢獻,並指向 CONTRIBUTING.md 了解開發配置、分支策略與提交約定。專案使用 AGPL-3.0 授權,允許複製、散佈與修改程式,並當修改版在網路伺服器上執行時要求提供原始碼。授權文字沒有涉及安全保證、支援或保固,只說明除非另有明確保證,否則不提供保固。

針對 UniClipboard/UniClipboard,素材記錄的主要語言是 Rust,授權為 AGPL-3.0。核驗時先對照 README 中的專案名稱、安裝入口與實際命令,再觀察 UniClipboard/UniClipboard 產生的輸出或畫面;這些步驟只確認該專案已明列的行為,不把未記載的效能、安全性或相容性推成承諾。 針對 UniClipboard/UniClipboard,素材記錄的主要語言是 Rust,授權為 AGPL-3.0。核驗時先對照 README 中的專案名稱、安裝入口與實際命令,再觀察 UniClipboard/UniClipboard 產生的輸出或畫面;這些步驟只確認該專案已明列的行為,不把未記載的效能、安全性或相容性推成承諾。

第1項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第2項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第3項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第4項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第5項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第6項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

第7項:針對UniClipboard,請依README安裝入口執行,記錄命令、設定檔、輸入與輸出。固定測試資料,比對終端訊息與產物;服務則確認連接埠、登入、保存和重啟狀態。README未說明的效能、相容性與安全保證,不從專案熱度推導。這項判斷只適用於UniClipboard,版本變更時回看該專案的release與文件。

編輯結論

UniClipboard 是一個正在積極開發的 Rust 專案,使用加密空間和點對點傳輸在沒有中央伺服器的情況下跨裝置同步剪貼簿資料。行動應用目前使用有時限的 HTTP 相容模式,AGPL-3.0 授權授予使用、修改和散佈自由,並承擔原始碼可取得的義務。 UniClipboard/UniClipboard 適合需要 README 已列功能且能符合其環境條件的使用者,不適合把未記錄行為當成既定保證的場景。先依 README 的專案專屬命令或檔案入口核對安裝結果,再決定是否納入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記