不同设备间的剪切板同步服务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-length
MB。
反向代理
因为浏览器要访问系统的剪贴板,必须使用 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