CopySync

在這台電腦複製,
到那台電腦貼上。

Mac、Windows、Linux 互通。文字、圖片、檔案、整個資料夾都可以,不必使用同一個帳號。在同一個網路裡裝好就能用,不需要伺服器;跨網路也可以。資料在你的裝置之間直接傳輸,端對端加密。

版本 1.6.4,免費開源。macOS 13 以上;Windows 10、11;Linux(x64 與 ARM64)。

第一次用?看快速入門,三個步驟就設定好 →

所有裝置上複製過的,都在這裡

複製記錄保留最近 3 天的內容,隨時可以放回剪貼簿,圖片點一下就能預覽。50 MB 以內的檔案在你複製的時候就已經傳好了,更大的檔案等需要時再點一下拉取。

CopySync 的複製記錄:來自 MacBook Air 和 Mac mini 的檔案、圖片、文字,大檔案顯示「拉取到本機」按鈕

按下複製之後

文字、圖片、檔案、整個資料夾,都走同一條路。

  1. 偵測

    在 Mac 上,背景服務每隔一小段時間查看一次剪貼簿的變更計數,只看計數和類型,不需要授權,也不會跳出系統提示;在 Windows 上,複製的那一刻系統就會通知它。

  2. 傳輸

    文字隨訊息一起送出;50 MB 以內的圖片和檔案打包成串流立即推送;更大的檔案只送出一筆記錄,等你需要時再傳。

  3. 貼上

    另一台電腦先把內容存到本機,再寫入剪貼簿。按下 ⌘V 或 Ctrl+V 貼上的,就是本機上真正的檔案。

為什麼不用現有的方法

通用剪貼板要同一個 Apple ID、距離夠近;AirDrop 每次都要點接受;傳給自己要手動下載,檔案還留在別人的伺服器上。一台 Mac 加一台 Windows 時,系統內建的方法一個都用不了。

CopySync 與其他方式的比較
CopySync通用剪貼板AirDrop聊天軟體
不同 Apple ID 之間可以不行要對方接受可以
Mac 與 Windows 之間可以不行不行可以
不在同一個網路(家裡和公司)可以不行不行可以
複製後直接貼上,不用點接受可以可以不行不行
檔案與整個資料夾可以不穩定可以要先壓縮
找回之前複製過的內容可以不行不行翻聊天記錄
內容不經過第三方伺服器不經過不經過不經過經過

運作原理

兩台電腦之間直接建立加密連線。在同一個網路裡,它們自己就能找到彼此;跨網路時,由你的伺服器負責牽線,直連打不通時再幫忙轉送。下圖是跨網路的情況。

CopySync 的連線方式 電腦 A 與電腦 B(Mac 或 Windows)之間是 WebRTC 直連;兩台電腦都透過信令連線到你的伺服器;直連失敗時,資料經伺服器的 TURN 中繼。 你的伺服器 信令、STUN、TURN 中繼 信令:交換連線資訊 中繼:只在直連打不通時 Mac 在這裡複製 Mac 或 Windows 在這裡貼上 WebRTC 直連,DTLS 加密 資料只在兩台電腦之間傳輸 資料(直連) 資料(中繼,備用) 信令
  • WebRTC 直連,DTLS 加密 資料只在兩台電腦之間傳輸
  • 你的伺服器 信令、STUN、TURN 中繼
  • 中繼:只在直連打不通時

伺服器看不到你複製了什麼

  • 伺服器不存帳號,也不存內容。裝置身分是一把 Ed25519 金鑰,裝置 ID 由公鑰算出,伺服器不需要使用者資料表就能驗證身分。
  • 配對時由你核對安全指紋。兩邊的螢幕會顯示同樣的兩行:雙方各自公鑰的指紋。伺服器有能力替換轉送中的公鑰,但一旦替換,兩邊螢幕上的指紋就對不上了,這一步就是防範中間人攻擊的關卡。
  • 之後的每則訊息都帶有簽章,伺服器無法冒充你的裝置。直連通道的憑證在交握後還會再核對一次,不一致就立即中斷。
  • 中繼也只是轉送密文。TURN 轉送的是加密後的封包,中繼憑證按裝置個別簽發,12 小時後過期。
  • 區域網路裡也一樣。裝置在區域網路裡廣播的只是一個每天都會變的匿名識別碼,看不出是誰的電腦,只有開啟「搜索附近設備」時才會帶上裝置名稱;配對同樣要核對指紋,之後的訊息同樣帶有簽章。
配對時的「核對安全指紋」對話框,顯示 R8NF-2WTC-QL5J,要求與另一台電腦上顯示的完全一致

出問題的時候會怎樣

每個人的網路環境都不一樣。下面這些情況都考慮過,也都有對應的測試。

在同一個網路裡找不到對方
不同網段、訪客網路、開了 AP 隔離的 Wi‑Fi,都會擋住區域網路探索。配對時輸入對方配對碼下方顯示的位址就行;之後位址會被記住,兩邊都換了位址時,在裝置清單裡幫它重新輸入一次。
系統擋住區域網路連線
從 macOS 15 起,背景服務要連線區域網路裡的裝置,需要你允許;Windows 第一次執行時,防火牆會跳出詢問。沒有允許時,App 會提示,並提供直達設定的按鈕。
兩台電腦打不通直連
常見於對稱型 NAT 和公司防火牆。會自動改走你伺服器上的 TURN 中繼,內容依然加密,裝置清單裡顯示「中轉」。
連不上公共 STUN 伺服器
在中國大陸連公共 STUN 時通時斷。伺服器內建 STUN,用戶端會優先使用它。
先連上了中繼
中繼的交握比較快,有時會搶在直連之前。連上之後,發起連線的一方會在閒置時再打一次洞,打通就換成直連;正在傳檔案時不會打擾。
對方睡眠、斷線或重新開機
連線悄悄斷了也能察覺,會立即關閉並重新連線。這段期間複製的內容會先記下來,連上後補送到對方的複製記錄裡,但不會覆蓋對方當下剪貼簿裡的內容。
伺服器斷線
自動重新連線,間隔從 1 秒開始加倍、最長 30 秒,並加上隨機抖動,避免一大群裝置同時重連。同一個網路裡的裝置不受影響,照常同步。
檔案太大
超過上限的只同步一筆記錄,需要時再拉取。拉取時如果原始檔案已經被刪除,會明確告訴你,而不是莫名其妙地失敗。
貼到只接受純文字的地方
從網頁複製的帶格式文字,會同時寫入 HTML 和純文字兩份,貼到哪裡都不會冒出標籤。
檔名在 Windows 上不合法
Mac 上可以用的冒號、問號等字元,收到時會換成對應的全形字元,檔名照樣看得懂;只差在大小寫的兩個檔案也不會互相覆蓋。
複製的是密碼
在 Windows 上,密碼管理工具複製的內容會帶一個「不要記錄」的標記,CopySync 看到就跳過:不同步,也不會進入複製記錄。
還沒授權讀取剪貼簿
不去讀取內容,否則背景程序會卡在一個看不見的系統對話框上。App 裡會提示你去授權,並提供直達設定的按鈕。
背景服務當掉
Mac 上由系統的 launchd、Windows 上由 CopySync 內建的守護程式自動重新啟動,每次至少間隔 10 秒,不會無限重啟。
更新了 App,或把它搬到別的位置
打開 App 時會自動修正登入項目,並把背景服務重新啟動到新版本。

安裝

每台電腦裝一個 App。在同一個網路裡裝好就能配對;跨網路時,再選一種方式讓兩台電腦找到彼此。第一次安裝可以跟著快速入門做。

Mac

  1. 下載 DMG,打開後把 CopySync 拖進「應用程式」。Apple 晶片與 Intel 晶片各有一個版本,下載頁會告訴你怎麼查自己的 Mac 是哪一種。
  2. 從「應用程式」裡打開。第一次會提示「無法驗證開發者」:CopySync 還沒有經過 Apple 公證。到「系統設定 → 隱私權與安全性」,點頁面下方的「強制打開」,只需要這一次。
  3. 點「啟用後台同步」。系統詢問是否允許讀取剪貼簿、是否允許尋找區域網路上的裝置時,都選擇允許。
  4. 跨網路同步時,在「設置」裡填入伺服器位址 ws://伺服器位址:8787/signal,按 Enter;在同一個網路裡不用填。
下載 Mac 版

Windows

  1. 執行 CopySync-Setup.exe。它會安裝在目前使用者的目錄下,不需要系統管理員權限。CopySync 還沒有程式碼簽章,Windows 會提示「Windows 已保護您的電腦」:點「其他資訊」,再點「仍要執行」。不想執行安裝程式的話,可以下載免安裝版。
  2. 打開 CopySync,點「啟用後台同步」。關掉視窗後,它會在右下角的通知區域繼續執行。防火牆詢問時選擇允許。
  3. 跨網路同步時,在「設置」裡填入伺服器位址,按 Enter;在同一個網路裡不用填。
下載 Windows 版

Linux

  1. Ubuntu、Debian 等發行版下載 .deb,執行 sudo apt install ./CopySync-linux-amd64.deb;其他發行版下載 tar.gz,解壓縮後執行 ./CopySync/install.sh。
  2. 從應用程式選單打開 CopySync,點「啟用後台同步」。之後它會在登入時自動啟動。
  3. 跨網路同步時,在「設置」裡填入伺服器位址,按 Enter;在同一個網路裡不用填。
下載 Linux 版

連線方式

在同一個網路裡不需要伺服器。三種方式依你的情況選一種,每種都有圖文教學:

比較三種方式

配對:一台點「設備 → 添加設備」產生一組 6 碼的配對碼,另一台輸入它;兩邊螢幕上的兩行安全指紋完全一致後再確認。不在同一個網段時,輸入配對碼的同時,也要輸入它下方顯示的位址。Mac、Windows、Linux 之間怎麼搭配都一樣。

技術規格

版本1.6.4,發布
Mac 用戶端macOS 13 Ventura 以上;Apple 晶片與 Intel 晶片各有一個安裝檔,約 25 MB,不需要 Rosetta;也有兩種晶片通用的版本,約 47 MB
Windows 用戶端Windows 10 與 Windows 11,x64;只為目前使用者安裝,不需要系統管理員權限;安裝檔約 23 MB
Linux 用戶端x64 與 ARM64;.deb(Debian、Ubuntu 等)或 tar.gz(其他發行版),約 22 MB;需要 X11 桌面,或附有 XWayland 的 Wayland 桌面(GNOME、KDE 等預設都有);GTK 3
伺服器選用,只在跨網路時需要。Linux x86_64 或 ARM64(systemd 或 Docker)、macOS(Intel 與 Apple 晶片)、Windows 10 與 11 x64(系統服務);約佔 15 MB 記憶體
介面語言簡體中文、English、日本語,預設跟隨系統,可在設定裡切換;繁體中文系統上顯示簡體中文
同步的內容純文字、帶格式的文字、圖片與螢幕截圖、檔案、資料夾,可依類型個別關閉
傳輸WebRTC 資料通道,優先直連,打不通時經 TURN 中繼;同一個網路裡透過 mDNS 探索、UDP 8788 交換連線資訊;多出口網路逐一偵測每個出口;檔案以 tar + zstd 串流打包
加密與身分DTLS 端對端加密;裝置身分為 Ed25519 金鑰;信令訊息逐則簽章
配對6 碼配對碼,5 分鐘內有效,字元集去掉了 0/O、1/I 等容易混淆的字元;配對時人工核對安全指紋
自動同步上限預設 50 MB,可在 1 MB 到 1 GB 之間調整
記錄保留預設 3 天,可在 1 小時到 30 天之間調整,到期自動清除
實測速度區域網路直連傳輸 20 MB 檔案約 330 毫秒,檢查碼一致
技術堆疊背景服務與伺服器用 Go(Windows 上以純 Go 呼叫 Win32,Linux 上以純 Go 走 X11 協定),介面用 Flutter(三個系統共用一套程式碼),訊息定義用 Protocol Buffers
授權GNU AGPL-3.0

常見問題

開著 UU 遠端時,為什麼一直出現 .uuremote_ 檔案?

UU 遠端會在系統剪貼簿裡寫入暫時的佔位檔案,舊版 CopySync 把它們當成一般檔案,反覆記錄和轉送。1.3.2 在傳送和接收時會過濾已確認的佔位檔名,啟動時清除只含佔位檔案的記錄。正常的空檔案、隱藏檔案和大檔案不受這條規則影響。50 MB 只決定是否自動傳輸,與 UU 的 UDP P2P 設定無關。建議兩端都更新;其他軟體如果也會同步剪貼簿,仍可能產生一般內容的重複記錄。

和 macOS 內建的「通用剪貼板」有什麼不同?

通用剪貼板要求兩台裝置登入同一個 Apple ID、開著藍牙和 Wi‑Fi,而且距離要近,也只能在 Apple 裝置之間使用。CopySync 在同一個網路裡裝好就能用;跨網路時,只要兩台電腦都能連上你架設的伺服器,或都裝了 Tailscale 就行:不同 Apple ID、一台在家一台在公司、一台 Mac 一台 Windows,都可以。另外它有複製記錄,大檔案也可以依需要再拉取。

如果你的兩台 Mac 用同一個 Apple ID、總是放在一起、主要複製文字,系統內建的功能就夠用了。

伺服器會看到我複製的內容嗎?

不會。直連時資料根本不經過伺服器;需要中繼時,伺服器轉送的是 DTLS 加密後的封包。伺服器不存帳號,也不存任何複製的內容。程式碼是開源的,可以自己檢查。

公司網路(雙線路、多出口)能直連嗎?

可以。這類網路依目的位址選擇出口,CopySync 會在同一個連接埠上向多台伺服器偵測,拿到每個出口的位址後一起傳給對方,由對方逐一嘗試。實測公司的 4 個出口與家用寬頻之間可以直連。對方是連接埠隨機分配的 NAT 時,仍會走中繼。

一定要自己準備伺服器嗎?

不一定。兩台電腦在同一個網路裡時,裝好 App 直接配對就行,不需要伺服器。

跨網路時有兩種做法:雲端伺服器,最低規格的雲端主機就夠,在哪裡都能同步;Tailscale,每台電腦裝上它,配對時輸入對方的 Tailscale 位址,不需要伺服器。CopySync 不提供公共伺服器,所以任何人的資料都不會經過別人的機器。

家裡沒有公用 IP,能在家和公司之間同步嗎?

可以,有兩種做法。如果有一台具備公用 IP 的伺服器,就把伺服器架在上面,家裡和公司的電腦都直接連它,見雲端伺服器架設。沒有的話,每台電腦裝上 Tailscale、登入同一個帳號,配對時輸入對方的 Tailscale 位址,見Tailscale 教學。

在同一個網路裡,為什麼找不到另一台?

先確認兩台是不是真的在同一個網段:公司裡的有線和無線、訪客網路、開了「AP 隔離」的 Wi‑Fi 常常互不相通,區域網路探索過不去。這時在輸入配對碼的那台點「不在同一網段?」,填上另一台配對碼下方顯示的位址。

在 Windows 上,第一次執行時防火牆會詢問,要選擇允許;如果按過取消,到「設置 → 局域網」裡點「放行」。在 Mac 上,要到「系統設定 → 隱私權與安全性 → 本機網路」裡開啟 CopySync Daemon。更多說明見同一網路教學。

支援 Windows 和 Linux 嗎?iPhone 呢?

支援 Windows 10 與 Windows 11(x64),與 Mac 互通。複製的檔案在 Windows 上貼上後就是真正的檔案,能直接貼進檔案總管、WeChat、Office。

也支援 x64 與 ARM64 的 Linux 桌面:X11,或附有 XWayland 的 Wayland 桌面(GNOME、KDE 等預設都有)。複製的檔案能直接貼進檔案管理員。

暫不支援 iPhone 和 iPad:iOS 不允許 App 在背景監聽剪貼簿,做不到複製後立即同步。

為什麼第一次打開時系統會擋一下?

CopySync 還沒有經過 Apple 公證,Windows 版也還沒有程式碼簽章,兩者都需要每年付費購買的憑證。

在 Mac 上,到「系統設定 → 隱私權與安全性」,點頁面下方的「強制打開」;在 Windows 上,在「Windows 已保護您的電腦」提示裡點「其他資訊」,再點「仍要執行」。都只需要這一次。

大檔案怎麼處理?

預設 50 MB 以內的內容,在你複製時就推送到另一台電腦,那邊可以直接貼上;更大的檔案只同步一筆記錄,需要時在複製記錄裡點「拉取到本機」再傳。上限可以在設定裡調整。

免費嗎?公司能用嗎?

免費。CopySync 以 GNU AGPL-3.0 授權開源,個人和公司都可以免費使用和修改。散布它,或透過網路提供修改過的版本時,需要以同樣的授權公開原始碼。

兩台電腦,一個剪貼簿。

版本 1.6.4,免費開源。macOS 13 以上;Windows 10、11;Linux(x64 與 ARM64)。

第一次用?看快速入門,三個步驟就設定好 → 在 GitHub 上檢視原始碼