V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
KasuganoSoras
V2EX  ›  分享创造

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

  •  
  •   KasuganoSoras ·
    kasuganosoras · 2020-04-15 11:41:21 +08:00 · 2387 次点击
    这是一个创建于 1682 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    一直想找个趁手的剪贴板同步程序,试了 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 可以通过评论反馈给我(

    5 条回复    2020-04-18 13:00:46 +08:00
    heiheidewo
        1
    heiheidewo  
       2020-04-15 11:51:43 +08:00
    挺实用的,但是更多场景是文件传输(这种情况下,应该打洞,而不是服务器中转)
    ifyour
        2
    ifyour  
       2020-04-15 15:21:51 +08:00
    挺实用的。但是对于 App 生态产品,这就是出厂功能。

    iPhone <---> iMac <---> MacBook

    剪贴板自动同步。
    ifyour
        3
    ifyour  
       2020-04-15 15:22:20 +08:00
    #2 App -> Apple
    cszchen
        4
    cszchen  
       2020-04-15 16:03:03 +08:00 via Android
    要是能跨平台支持 airdrop 和 handoff 就好了
    Cmdhelp
        5
    Cmdhelp  
       2020-04-18 13:00:46 +08:00
    @ifyour <--->ipad
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2678 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.