安装 RealtimeClipboard

RealtimeClipboard 在你每一台设备的浏览器里就能跑,为此你什么都不用装。 安装换来的只有一件很具体的事,而且只在一部分平台上成立:你在别的窗口里 干活的时候,应用也看得见你复制了什么。

先看这里:你到底要不要装东西?

大概率不用。在两台设备上打开应用,各自输入同一个短 密钥,它们就共用一个剪贴板。下面所有内容讲的都是一个功能 —— 后台捕获 —— 以及你的平台能不能做到它。

平台要装什么后台捕获
Windows 10 / 11桌面应用可以
macOS 11+桌面应用可以
Linux,X11桌面应用可以
Linux,Wayland桌面应用KDE 和 wlroots 可以;GNOME 不行
Android / ChromeOS添加到主屏幕不行 —— 被 Android 挡住
iPhone / iPad添加到主屏幕不行 —— 被 iOS 挡住
服务器、SSHnpx realtimeclipboard不适用 —— 它走管道
其他任何设备什么都不用 —— 开浏览器不行

下面每个平台都有一段简版说明,另外还各自有一份完整指南 —— 装好之后应该 是什么样子、怎么把第一条内容传过去,以及具体是什么会让它不工作。

  • 在 Windows 上安装

    .msi、托盘图标和状态栏应该显示什么,以及会挡住它的三件事: SmartScreen、被管控的单位电脑,还有 Windows 自带的剪贴板同步 —— 那是 另一个功能。

  • 在 macOS 上安装

    Intel 和 Apple Silicon 共用一个通用版下载,第一次打开时 Gatekeeper 会说 什么,以及为什么这里没有剪贴板权限要授予 —— 也正因为这样,应用才自己 把这件事说出来。

  • 在 Linux 上安装

    .deb.rpm 和 AppImage,webkit2gtk 4.1 这条 底线,以及一张表说清 Wayland:X11 可以,KDE 和 wlroots 可以,GNOME 不行, 而且没有任何办法能补救。

  • Android 和 ChromeOS

    在 Chrome 里点两下,没有应用商店条目,以及那条让原生应用变得毫无意义的 Android 10 规则。当后台捕获根本不在选项里时,发送到底是怎么一回事。

  • iPhone 和 iPad

    Safari 的分享菜单就是全部机制 —— iOS 上的 Chrome 做不到这件事,而且永远 不会弹出安装提示。另外还有那条粘贴横幅是什么,以及为什么没有应用关得掉它。

  • 命令行

    用管道送进 send,从 watch 里重定向出来,四条命令 一条不落。和浏览器用的是同一套加密,任何装了 Node 22 的机器上都能跑。

  • 自己跑一个中继服务器

    一个容器,没有数据库。怎么验证它跑起来了、怎么在前面加一层 TLS —— 还有副本数这个坑,它表现出来的样子是剪贴内容悄无声息地不到。

“后台捕获”究竟指什么

在浏览器里,RealtimeClipboard 只有在自己的窗口处于焦点时才读得到你的剪贴板。 这不是这个应用的局限 —— 这是每个浏览器对每个网站都强制执行的规则,因为 一个能悄悄读你剪贴板的页面,会把你复制过的每一个密码都收走。所以浏览器版 是这样工作的:你复制了点东西,切回 RealtimeClipboard,它在获得焦点的那一刻 把内容取走。

原生桌面应用不受这条规则约束。Windows、macOS 和 Linux 上的应用会持续盯着 系统剪贴板,所以你在任何程序里复制,它立刻就发出去,不用来回切窗口。

也就是说,桌面应用运行期间,你每一次复制它都读得到 —— 包括你因为别的原因 复制的密码。这些内容在离开你的机器之前就已经加密,也从不写到磁盘上,但这 确实是一件需要你点头的事。应用在首次启动的引导里就把话说清楚了,开关就在 那个对话框里:应用内意味着在你亲手粘贴进去之前,什么都不会离开这台 机器;它同时也在托盘菜单里,叫分享我复制的内容,所以你可以在复制 密码之前先暂停分享,连窗口都不用打开。

Windows

下载页.msi。后台捕获在这里没有 任何附加条件,也不弹权限请求 —— Windows 是桌面应用最值得装的平台。

应用不需要管理员权限,不装驱动也不装服务。它只在 443 端口向一个主机名发起 出站连接,这正是 IT 部门愿意放行的形状。如果 SmartScreen 警告你,先确认文件 确实来自官方发布页, 再点继续。

完整指南:在 Windows 上安装

macOS

一个 .dmg 同时覆盖 Intel 和 Apple Silicon —— 构建是通用的, 不用再去找第二个下载。

macOS 读剪贴板不需要任何特殊权限,所以这里没有权限请求可以授予。这件事是 双向的:如果某个应用开始读你每一次复制,操作系统不会有任何提示 —— 正因如此, 这个应用才自己说出来,在首次启动的引导里,附带对话框里那个应用内开关。

完整指南:在 macOS 上安装

Linux

从发布页取 .deb.rpm 或 AppImage。没有 Flathub、 Snap 或 AUR 包,这里也不会摆一条命令假装有。应用需要 webkit2gtk 4.1,大致 相当于 Ubuntu 22.04 或 Fedora 36 及以上;更老的系统请用浏览器或命令行客户端。

Wayland 那条限制,直说。在 X11 上,剪贴板一变应用就会收到通知,后台 捕获是好用的。在 Wayland 上则取决于你的合成器:KDE 和基于 wlroots 的那些提供 了对应协议,GNOME 没有 —— 在 GNOME Wayland 上,任何应用都无法监视剪贴板。 应用会检测到这一点并在状态栏里说明,而不是默默地什么都不做,然后退回到获得 焦点时再捕获,和浏览器完全一样。

完整指南:在 Linux 上安装

Android 和 ChromeOS

没有 Android 应用,以后也不会有。从 Android 10 起,只有你当前正在用的应用、 当前的输入法,或者一个无障碍服务,才被允许读剪贴板。所以一个 RealtimeClipboard 应用能剩下的,只有一个分享菜单按钮和一个图标 —— 其余它能做的, 装好的网页应用已经在做了。

  1. 在 Chrome 里打开应用
  2. 点菜单,然后选添加到主屏幕

之后它就有了自己的图标和窗口,离线也能用。要发送内容,把它粘贴进应用,或者用 Android 的分享菜单。

完整指南:Android 和 ChromeOS

iPhone 和 iPad

答案一样,原因也一样:iOS 从来不允许在后台读取粘贴板,而且从 iOS 16 起, 任何应用只要读一次剪贴板,系统就弹一条横幅。

  1. Safari 打开应用。iOS 上的 Chrome 和 Firefox 装不了网页应用。
  2. 分享,然后选添加到主屏幕

iOS 自己不会弹任何安装提示,所以如果你在等一个提示出现,那是等不到的。 分享菜单就是全部机制。

完整指南:iPhone 和 iPad

服务器、SSH 会话和脚本

npx realtimeclipboard D75LV

给那些没有剪贴板、也没有屏幕的机器用。它读标准输入、写标准输出,所以能和 别的一切拼起来:

echo "deploy key" | npx realtimeclipboard send D75LV
npx realtimeclipboard watch D75LV --once > token.txt

它需要 Node 22 或更新的版本。它不是另一套实现 —— 它直接引用浏览器跑的那些 加密和传输文件,所以从服务器发出的一条内容,和从笔记本发出的没有任何区别。

完整指南:命令行

自己跑一个中继服务器

中继服务器在你的设备之间传递加密后的剪贴内容。它读不到内容 —— 它看得见的 只有房间哈希和密文 —— 但如果你不愿意只凭信任接受这一点,那就自己跑一个:

docker run -p 8000:8000 ghcr.io/akshaynikhare/realtimeclipboard-relay

然后在设置 → 中继服务器里把应用指过去。 deploy 目录 里有一份带自动 TLS 的 docker-compose.yml,还有一份 Helm chart。 除非你给它配了 Redis,否则请把副本数固定为一个。

完整指南:自己跑一个中继服务器

准备好装了:下载页。 这一页有错或者过时了? 提一个 issue