在线剪贴板:跨设备同步你复制的文字

要同步剪贴板,你需要的不是账号,而是一个两台设备都知道的密钥。 在两台设备上打开这个页面,输入同一个短密钥,在一边复制的内容就会出现在 另一边的系统剪贴板里。不需要邮箱、密码、安装包,也不需要浏览器扩展。

打开剪贴板

它是怎么工作的

  1. 在第一台设备上打开剪贴板,它会生成一个短密钥。
  2. 在第二台设备上输入这个密钥,或者扫描它显示的二维码。
  3. 在任意一台设备上复制内容。
  4. 切换到另一台设备直接粘贴,内容已经在系统剪贴板里了。

密钥本身从不离开你的浏览器。到达中继服务器的是 SHA-256(密钥) —— 一个仅仅用作房间地址的哈希值 —— 以及已经 用 AES-GCM 加密过的文字,加密用的密钥由你输入的那个密钥派生而来。中继 服务器只在两个连接之间转发密文,不向磁盘写入任何东西。文件则完全绕开它, 通过 WebRTC 在两个浏览器之间直接传输。

在线剪贴板、剪贴板管理器和 pastebin 的区别

这三个东西经常被混为一谈,但它们解决的是不同的问题。剪贴板管理器 (比如 Ditto、CopyQ、Maccy)记录你在一台机器上复制过的历史,方便 你翻回去找。pastebin 把文字放在一个公开的网址上,谁拿到链接谁就能看。 在线剪贴板做的是第三件事:把你在一台设备上复制的内容,送到另一台 设备的系统剪贴板里,中间不产生公开链接,会话结束后什么也不留下。

所以如果你想找的是本机的复制历史,这个工具不是你要的东西;如果你想跨过 两台机器之间的那道缝隙,它正是为此而做的。

跨网络也能用

大多数同类工具要求两台设备在同一个 Wi-Fi 下,因为它们靠局域网广播来发现 彼此,而广播出不了子网。这个工具不做设备发现 —— 两端各自连到同一个由密钥 决定的房间,所以家里的电脑和公司的电脑、手机和服务器之间都能用,两台设备 不需要挨在一起。

不用账号要付出什么

每个不需要登录的服务都在某处做了取舍,把取舍藏起来的页面不值得信任。

把代价说清楚

密钥是唯一的凭证
没有第二重验证,背后也没有身份。任何人只要知道这个密钥,就能在会话开着的时候读到里面的内容。
什么都不保存
没有账号就没有服务端历史。关掉会话内容就没了 —— 这是设计本身,不是待解决的缺陷。
无法找回
忘了密钥没有地方可问。重新生成一个就行,这不花什么代价。
自动读取剪贴板需要 Chromium 内核浏览器
Firefox 和 Safari 可以发送和接收粘贴的内容,但不能自己读取剪贴板。任何浏览器都无法在标签页处于后台时读取剪贴板,这是浏览器的安全规则,不是缺失的功能。

如果一个会话需要更难被闯入,可以给密钥加一个 PIN 码。这会改变房间本身, 而不是在原有房间上加一层权限检查,所以拿到密钥但没有 PIN 码的人打不开 它,也不会悄悄退回到同一密钥对应的未加锁房间。

这样安全吗

就它的用途而言 —— 在你自己的设备之间搬运文字 —— 没有账号反而更安全,因为 没有账号可以被攻破,也没有存下来的历史可以泄露。加密在你的浏览器里完成, 所以网络上的旁观者(你的 Wi-Fi、你的运营商)读不到你的剪贴板。

服务器确实能看到的那个房间地址,经过了同样 250,000 次迭代的密钥拉伸, 所以每猜一次都要付出这份计算代价,无法反推回你的密钥。 威胁模型文档里有具体的算法。

真正的风险就是上面写明的那个:短密钥短到有决心的人可以猜出来,所以它不 适合用来传一年后仍然重要的秘密。敏感内容请用 PIN 码锁住会话,未加锁的 会话请当作放在桌上的便条来对待。 源代码在 GitHub 上, 采用 MIT 许可证;如果你不愿意信任别人的服务器,也可以 自己架设中继服务器

打开剪贴板

常见问题

什么是在线剪贴板?

在线剪贴板是一种通过互联网把你在一台设备上复制的内容送到另一台设备的 服务。它和剪贴板管理器不同 —— 管理器保存的是单台机器上的复制历史;也和 pastebin 不同 —— pastebin 会生成一个公开网址。在线剪贴板要做的只有一件 事:让另一台设备可以直接粘贴。

需要注册账号吗?

不需要。两台设备输入同一个短密钥就会进入同一个房间,全程不涉及邮箱、 密码或个人资料。服务器也分辨不出用户之间的区别,因为它从来没有拿到过 能用来分辨的东西。

两台设备必须在同一个 Wi-Fi 下吗?

不必。它不依赖局域网发现,两端各自连接到由密钥决定的同一个房间,所以 跨网络、跨城市都能用。这一点和 Snapdrop、LocalSend 这类靠同一网络广播 来发现设备的工具不同。

免费吗,有什么代价?

免费,没有付费档位,也没有试用期。诚实地说,代价在功能范围而不在钱: 文件传输单个上限 5 MB,自动读取剪贴板需要 Chromium 内核的浏览器。项目 以 MIT 许可证开源,你完全可以自己部署一套。

关掉页面之后我的文字去哪了?

没了。中继服务器只在转发期间持有消息,不写磁盘;没有账号也就没有挂在 你名下的服务端历史。留在本地的内容存在你自己的浏览器存储里,清掉浏览器 数据就一并消失。