不同设备间的剪切板同步服务GCopy
本文软件由网友
dawei推荐;
什么是 GCopy ?
GCopy是一个跨平台的剪切板同步工具,旨在帮助用户在不同设备之间共享和同步剪切板内容。它支持在多种操作系统(如Windows、MacOS和移动端)之间传输文本、截图和文件。
GCopy 的使用非常简便,用户只需通过浏览器访问其网站并使用相同的邮箱登录,即可实现数据的即时同步。此外,GCopy 不持久化存储用户数据,所有数据都在内存中处理, 如果你 24 小时内不使用,数据就会被删除。以保障用户的数据隐私和安全。

和老苏之前介绍的 ClipCascade 不同,ClipCascade 需要客户端,而且只支持文字,但截图、文件不支持。而 GCopy 解决了这些问题。 目前,您可以在 PC、Mac 和移动端之间共享剪切板,支持文字、截图和文件。
文章传送门:跨设备剪贴板同步服务ClipCascade
GCopy 不需要安装客户端,仅依赖浏览器的剪贴板 API。以下是测试过的浏览器和版本:
| 浏览器 | 版本 | 测试结果 |
|---|---|---|
| 适用于 Windows 的 Chrome | 版本 123.0.6312.86(官方版本)(x86_64) | ✅ 经过测试 |
| 适用于 Windows 10 的 Edge | 版本 124.0.2478.80(官方版本)(64 位) | ✅ 经过测试 |
| 适用于 Windows 10 的 Opera | Opera One(版本:109.0.5097.68) | ✅ 经过测试 |
| 适用于 macOS 的 Chrome | 版本 121.0.6167.85(官方版本)(x86_64) | ✅ 经过测试 |
| 适用于 macOS 的 Opera | Opera One(版本:109.0.5097.68)(x86_64) | ✅ 经过测试 |
| Safari | 版本 15.6.1 (17613.3.9.1.16) | ✅ 经过测试 |
| 适用于 iOS 的 Safari | 版本 16.1 | ✅ 经过测试 |
| 适用于 HarmonyOS 3.0/4.0 的 Edge | Edge 122.0.2365.99 | ✅ 经过测试 |
| Android 版 Chrome | 107.0.5304.105 | ✅ 经过测试 |
| Android 版 Edge | Edge 108.0.1462.48 | ✅ 经过测试 |
当然也存在不足之处:
- 由于浏览器限制,不支持直接在剪贴板中读取和设置文件,只能通过上传和下载的方式实现文件同步,保证用户体验的流畅。
- 同时只能同步一个文件。
- 由于服务器内存有限,您同步的文件不能超过
--max-content-lengthMB。
反向代理
因为浏览器要访问系统的剪贴板,必须使用 HTTPS 协议来执行这类敏感操作,因为使用 HTTPS 可以确保数据在传输过程中的加密,防止中间人攻击。否则的话是不允许的

假设 GCopy 实际访问地址为: https://gc.laosu.tech
| 域名 | 局域网地址 | 备注 |
|---|---|---|
gc.laosu.tech |
http://192.168.0.197:3375 |
GCopy 前端的访问地址 |
因为不需要公网地址,所以本次采用的是 tailscale + npm 方案
文章传送门:用自定义域名访问tailscale节点
按我们预设置的域名、局域网 IP 和端口,在 npm 中进行设置

SSL 没有问题的话,都勾选了

安装
在群晖上以 Docker 方式安装。
本文写作时,
- 镜像
llaoj/gcopy的latest版本对应为v1.4.2;- 镜像
llaoj/gcopy-frontend的latest版本对应也为v1.4.2;
env.txt
env.txt 文件的内容如下,主要作用就是告诉前端页面服务端的地址
1 | SERVER_URL=http://gcopy:3376 |
docker-compose
采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.8' |
服务端容器 llaoj/gcopy 采用的不是环境变量,而是命令行参数,简单说明如下:
--app-key:随机字符串,可以用openssl rand -base64 32之类的命令来生成;--smtp-host:表示SMTP服务器的主机。以88邮箱为例,设为smtp.88.com--smtp-port:表示SMTP服务器的端口。默认为587。因设置采用了SSL协议,所以端口为465--smtp-username:用于向SMTP服务器进行身份验证的用户名。例如:wbsu2003@88.com--smtp-password:用于向SMTP服务器进行身份验证的密码。对应的第三方邮件客户端密码--smtp-ssl:是否使用SSL连接--max-content-length:默认值为10 MiB
更多的参数,可以参考官方文档:https://github.com/llaoj/gcopy/blob/main/docs/zh-CN/deploy-by-docker.md
下面是完整的示例
1 | version: '3.8' |
然后执行下面的命令
1 | # 新建文件夹 gcopy 和 子目录 |
运行
在浏览器中输入 https://gc.laosu.tech 就能看到主界面

要实现剪贴板同步,需要登录相同的邮箱

会向邮件发送验证码

如果 smtp 邮箱设置无误,很快就能收到

登录成功后,能看到 GCopy 的主界面

第一次同步剪贴板时,会需要授权,必须要点 允许

总结一下同步的步骤:
- 在两个设备
A和B上打开网站https://gc.laosu.tech,使用相同的电子邮箱登录。 - 在设备
A上复制(例如,使用Ctrl+C),然后按页面右侧的同步剪切板按钮。 - 切换到设备
B,再次按同步剪切板按钮,数据完成同步。现在, 去粘贴(Ctrl+V) 吧!

手机端也是 OK 的

参考文档
llaoj/gcopy: A clipboard synchronization service for different devices that can synchronize text, screenshots, and files.
地址:https://github.com/llaoj/gcopyGCopy - 不同设备间的剪切板同步服务
地址:https://gcopy.rutron.net/zh