实时剪贴板,打字即同步
实时剪贴板就是没有发送按钮的在线剪贴板:你打的字随手出现在另一台 设备上,你复制的内容自动跟过去。这一类工具大多是一个文本框加一个 按钮。这个区别听上去像是外观问题,其实不是 —— 它分开的是"你共享的剪贴板" 和"你提交的表单"。
什么才算实时
判断标准是需不需要按什么。常规的在线剪贴板 给你一个框,你粘进去,按发送,另一台设备刷新或者轮询之后才显示结果。每一步 都是一个决定,而这一来一回长到让人不再信任它,转头又去给自己发消息。
实时剪贴板把这三步都去掉了:
- 不用按。你还在打字,按键就已经流向另一台设备。
- 不用刷新。连接一直开着,来的内容自己就落下了。
- 不用往框里粘。在最高一档上,在这台机器上任何地方复制就够了 —— 被盯着的就是剪贴板本身。
最后一条是真正值钱的,也是最该小心的那条:一个什么都同步的剪贴板,会把你 因为别的事复制的密码一起同步过去。所以它是你自己爬上去的一档,而不是它 唯一的工作方式。
实时剪贴板、在线剪贴板、云剪贴板
这几个说法指的是同一类东西,差别在侧重,不在种类。搜其中任何一个的 人想要的大多是同一样东西,但这些词确实带着不同的预期,值得说清楚哪个是哪个。
| 说法 | 这个词强调什么 | 人们通常指什么 |
|---|---|---|
| 实时剪贴板 | 当下就到,不用等 | 它自己更新,而且是双向的 |
| 同步剪贴板 | 两端保持一致 | 两台设备看到同一份内容 |
| 在线剪贴板 | 走互联网 | 这一类的统称,实时与否都算 |
| 云剪贴板 | 绑定账号 | 通常指系统自带的那个 —— Windows、苹果 |
最后一行才是让人栽跟头的地方。云剪贴板是微软和苹果给自家操作系统 内置功能起的名字,两者都锁在各自的生态里、锁在一个已登录的账号上:Windows 的剪贴板历史在 Windows 电脑之间同步,通用剪贴板在苹果设备之间同步,谁也 过不到对面去。如果你来搜索正是因为手机和笔记本出自不同厂商,那么内置的 云剪贴板恰恰是帮不上忙的那一个。
实时的是打字,不只是粘贴
剪贴板能做到"实时"的其实是两件事,而大多数号称实时的工具只做到了后一件。 把一段写完的内容快速送到,是容易的那一半。把还在写的文字就显示出来,才是让 共享剪贴板像一块屏幕而不是两块的那一半。
在这里,打字是流式的,剪贴内容是提交的,这两条路是刻意分开的:
- 你打字的时候,编辑器每秒把文本发出去大约十次。另一头把它渲染出来,然后什么也不做 —— 不进历史,不写剪贴板。
- 你停下来的时候,安静 800 毫秒之后,或者失去焦点时,或者按 Ctrl+Enter,它就提交。那一刻它才成为一条真正的剪贴内容:进入历史,并且在最高一档上写进系统剪贴板。
超过大约 4 KB 就不再流式发送,只在提交时同步;实际用起来看不出来 —— 那么长的文字是粘进去的,不是敲进去的。
两个人同时打字,永远不会被合并。合并并发编辑需要 CRDT,而这是剪贴板, 不是文档编辑器。你正在打字时,进来的流会被丢掉;会覆盖未保存内容的剪贴内容, 是先问你而不是直接应用。真正避免撞车的,是你能看见它要来:每个人的光标会在 行号栏里把自己那一行染成他自己的颜色,你能看着对方先动手,再决定谁提交。
实时同步能走多远
同步的范围是一个设置,三档,每一档都只比下面一档多做一件事。它放在 应用的顶栏里而不是设置菜单里,因为它决定的是什么东西离开这台机器。
| 档位 | 会发生什么 | 碰系统剪贴板吗? |
|---|---|---|
| 关闭 | 什么都不离开这台设备,也什么都不进来 | 否 |
| 应用内 | 文字在窗口里实时同步,双向 | 否 |
| 剪贴板 | 你复制的会被共享,进来的会复制到这里 | 会,两个方向都会 |
应用内是大多数人在共用电脑或工作电脑上该待的一档:会话完全是实时的, 但你操作系统的剪贴板既不被读也不被写,所以你因为别的事复制的东西一概不会 出去。剪贴板是那个让"在机器上任何地方复制"就够用的档位,而且它是一个 同时管住两个方向的设置 —— 一台已经停止发送的设备,不会还在悄悄接收。
实时同步的实际代价
自动读取系统剪贴板是浏览器给不给的能力,不是一个网站想有就能有的功能, 在你断定哪里坏了之前,这些限制值得先知道。
- 自动读取需要 Chromium 内核的浏览器 —— Chrome、Edge、Brave、Opera。Firefox 和 Safari 可以发送和接收你粘贴进来的文字,但不能自己读剪贴板。
- 标签页在后台时,任何浏览器都不读剪贴板。这是浏览器的安全规则,对这一类里所有基于网页的工具都一样,不只是这一个。窗口必须处于焦点。
- 单条剪贴内容上限 24,000 个字符,这是加密之后中继服务器的帧大小,不是随手定的数字。
- 文件不是文字,不走流式 —— 它们通过 WebRTC 在浏览器之间直接传输,每个最大 5 MB。
如果根本收不到同步,原因几乎总在一份很短的名单里 —— 剪贴板同步不工作 按顺序把它们过了一遍。
怎么用实时剪贴板
RealtimeClipboard 就是共享密钥这一类的实时剪贴板, 所以没有什么要注册的:
- 在两台设备上打开应用。
- 在两边输入同一个短密钥。配对靠的就是这个密钥 —— 不要账号,不要邮箱,不用登录。
- 开始打字。它随手出现在另一块屏幕上。
密钥从不离开你的浏览器:到达中继服务器的是 SHA-256(密钥),
只用作房间地址,外加已经用 AES-GCM 加密好的文字。中继服务器在连接之间转发
密文,不向磁盘写任何东西,所以这里的"实时"不等于"先存在服务器上等你来取"
—— 没有任何一份副本可取。它能跨不同网络
工作,而不只是在同一个 Wi-Fi 下,这正是
Snapdrop 这类只在本地网络里工作的
工具停下来的那条线。
常见问题
有没有能自动实时同步的在线剪贴板?
有。两台设备打开同一个页面,输入同一个短密钥,从这以后文字就在它们之间 流动,不用按任何东西 —— 而且是在你还在打字的时候,不是提交之后。在最高 一档上,系统剪贴板也被接了进来,于是在机器上任何地方复制,就足以把它发 出去。
实时剪贴板和同步剪贴板有什么区别?
实际上没有区别,它们说的是同一类东西。"实时"强调它当下就到,而不是等下 一次刷新;"同步"强调两端始终保持一致,不用你手动去做什么。两个词描述的 都是一个保持着连接、而不是让你提交表单的在线剪贴板。
实时剪贴板和 pastebin 有什么不同?
pastebin 把你的文字存在一个网址上,好让你把这个链接发给别人,文字会一直 留到过期。实时剪贴板没有任何网址存着你的内容,也没有什么可分享的 —— 它在你写的同时就把文字放到另一台设备上,之后什么也不留。一个是发布, 一个是同步。
实时剪贴板能在 Windows 和安卓之间用吗?
能,而且这正是用它而不用内置方案的主要理由。Windows 的剪贴板同步只在同一 个微软账号下的 Windows 电脑之间有效,苹果的通用剪贴板只在苹果设备之间 有效。基于浏览器的剪贴板对所有平台一视同仁,因为它只需要一个浏览器。
为什么我一切换标签页,剪贴板就不同步了?
因为任何浏览器都不允许页面在标签页处于后台时读取系统剪贴板 —— 这是一条 安全规则,对所有基于网页的剪贴板工具都成立。已经在会话里的文字照样会到; 暂停的是对你在别处复制内容的自动读取。把窗口切回前台就会恢复。
如果实时剪贴板能看到我复制的一切,那它安全吗?
这完全取决于这个服务能不能读到你复制的东西。在这里,文字在你的浏览器里 就完成加密再发出去,所以中继服务器转发的是它解不开的密文,而且不向磁盘 写任何东西。这也正是同步范围要做成一档一档由你选的原因:在"应用内"这一 档,会话依然完全实时,但系统剪贴板从不被读取,你因为别的事复制的密码根本 不会进来。