用 PHP + Swoole 构建简易云剪贴板程序,实现多台设备同步数据

前言

一直想找个趁手的剪贴板同步程序,试了 1Clipboard 等多款软件都感觉一般般,不太符合我的使用需求,于是就随手撸了一个简单的程序用于同步剪贴板。

因为是 HTML + PHP 实现的,所以不需要下载客户端就可以用,这也是比较方便的一点,有时候想给另一台电脑发点东西还要开个 QQ 啥的实在麻烦,这时候也可以派上用场。

Demo:clipboard.top

项目地址: https://github.com/ZeroDream-CN/Cloud-ClipBoard

如何使用

  1. 在设备 A 上打开 clipboard.top 这个网页,随便输入一个密钥,点击连接按钮
  2. 在设备 B 上也打开这个网页,输入同样的密钥,点击连接按钮
  3. 设备 A 现在可以向设备 B 发送数据,设备 B 也可以向设备 A 发送数据
  4. 还可以在更多设备上打开这个网页,实现多设备同步数据

功能和特性

  • 跨平台,仅需一个浏览器,无需下载专用客户端
  • 支持传输文字和图片,理论上文件也能发,不过要做一些改动
  • 端到端 AES-256-CFB 加密,加密在前端完成,不传输原始内容到服务器(仅限文本内容)
  • 服务器地址和密钥自动保存到 localStorage
  • 可自建服务器,不依赖任何第三方服务
  • WebSocket 长连接,Swoole 高性能服务端
  • 其他暂时想不出

安装和部署

  1. 把 index.php 放到网站目录下
  2. 创建 upload 文件夹并给予 php 进程写权限(例如 chown -R www:www upload/)
  3. 命令行运行 websocket.php (确保你已经安装 Swoole 环境)
  4. 命令行运行 cleanup.php (用于定时清理过期图片文件)

建议使用 screen 来维护 php 进程,避免 SSH 连接断开后进程终止

欢迎使用,如有 bug 可以通过评论反馈给我(

相关文章

3 thoughts on “用 PHP + Swoole 构建简易云剪贴板程序,实现多台设备同步数据

  1. 挺实用的,但是更多场景是文件传输(这种情况下,应该打洞,而不是服务器中转)

  2. 挺实用的。但是对于 App 生态产品,这就是出厂功能。

    iPhone <—> iMac <—> MacBook

    剪贴板自动同步。

发表评论

电子邮件地址不会被公开。 必填项已用*标注