隔空貼

隔空貼

運作原理

複製之後發生了甚麼,兩部電腦怎樣連上,連不上怎麼辦。

按下複製之後

文字、圖片、檔案都走同一條路。

  1. 偵測

    背景服務察覺剪貼簿有變。

  2. 傳輸

    文字和 50 MB 以內的檔案即時傳過去,更大的先傳一條記錄。

  3. 貼上

    另一部存到本機再放進剪貼簿,貼上的就是真實的檔案。

隔空貼的連接方式

同一網絡裏直接找到對方;不在同一個網絡時,由伺服器牽線後盡量直連,連不上才中轉。內容全程加密。

隔空貼的連接方式 電腦 A 與電腦 B 之間是 WebRTC 直連;兩部電腦都透過信令連到伺服器;直連失敗時,資料經伺服器的 TURN 中轉。 信令與中轉服務 信令、STUN、TURN 中轉 信令:交換連接資訊 中轉:只在直連不通時 Mac 在這裏複製 Mac、Windows 或 Linux 在這裏貼上 WebRTC 直連,DTLS 加密 資料只在兩部電腦之間傳輸 資料(直連) 資料(中轉,後備) 信令
  • WebRTC 直連,DTLS 加密 資料只在兩部電腦之間傳輸
  • 信令與中轉服務 信令、STUN、TURN 中轉
  • 中轉:只在直連不通時

出問題的時候

常見的情況,都有處理。

在同一網絡裏找不到對方
配對時填上對方的地址,之後會記住。
打不通直連
經伺服器中轉,內容同樣加密。
對方睡眠或斷網
醒來後自動重新連線。
傳檔案時中斷
連上後從中斷的地方接着傳。
檔案名稱在 Windows 上不合法
換成全形字元,名稱照樣看得懂。
複製的是密碼
在 Windows 上,密碼管理工具複製的內容會被略過。

技術規格

版本2.10.2,發佈
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、macOS 與 Windows 10/11 x64。
介面語言簡體中文、繁體中文(台灣、香港)、English、日本語,預設跟隨系統,可在設定裏切換
同步的內容純文字、帶格式的文字、圖片與截圖、檔案、資料夾,可以按類型關閉
傳輸WebRTC 數據通道,直連優先,打不通時經 TURN 中轉;同一網絡裏經 mDNS 發現、UDP 8788 交換連接資訊;多出口網絡逐一探測每個出口;檔案以 tar + zstd 串流打包
加密與身份DTLS 端對端加密;裝置身份為 Ed25519 密鑰;信令訊息逐條簽名
配對6 位配對碼,5 分鐘內有效,字元集剔除了 0/O、1/I 等容易混淆的字元;配對時人手核對安全指紋
自動同步上限預設 50 MB,可在 1 MB 到 1 GB 之間調整
隔空傳送傳給一部裝置,不限大小,檔案和整個資料夾都可以;區域網絡裏走加密的 TCP 通道(兩端需 2.5.1),用不了時退回 WebRTC;外網和中轉用 WebRTC;中斷後接着傳,每個檔案用 SHA-256 校驗。Mac 傳 1 GB 到 Linux 虛擬機實測 144.3 MB/s,實際速度視乎網絡和磁碟。
好友F 開頭的 7 位好友碼,經區域網絡或「服務」交換,可以核對安全碼;好友之間只能互傳檔案和圖片,可附 200 字以內的備註,每批都要對方接受;好友看不到你的剪貼簿、複製記錄和裝置;收到的檔案去掉可執行權限,Mac 上加上隔離標記;兩端需 2.6 或更新版本
記錄保留預設 3 天,可在 1 小時到 30 天之間調整,到期自動清理
實測速度區域網絡直連傳輸 20 MB 檔案約 330 毫秒,校驗和一致
技術架構背景服務與伺服器用 Go(Windows 上以純 Go 呼叫 Win32,Linux 上以純 Go 走 X11 協定),介面用 Flutter(三個系統共用一套程式碼),訊息定義用 Protocol Buffers
授權GNU AGPL-3.0