Skip to content

Windows & iOS/Mac云剪切板(广域网),支持文本和图像,简洁易用

Notifications You must be signed in to change notification settings

MrBeanCpp/Clipboard-Cloud-Client

Repository files navigation

Dog-Paw

GitHub release (latest by date) Github Release Downloads

Dog-Paw 是一个支持💻Windows 和 📱iOS/💻︎MacOS间共享的云剪贴板

Dog-Paw: Your friendly, efficient cloud clipboard that 'grabs' and stores data for you.

目前支持的数据格式:

  • 文本(Text)
  • 图像(Image)

Important

默认服务器已迁移至:https://clipboard.aliaba.fun

特色

  • 随处可用:提供了并发安全的Java (Springboot)后端,用于广域网数据交换

  • 隐私保护

    • 基于内存的数据模型:不会持久化用户数据(默认2分钟后过期)
    • 定期清理剪切板数据:防止信息泄露
    • 每日动态变化的ID:避免私钥泄露 (TODO)
    • SHA256算法:有效防止哈希碰撞
    • HTTPS协议:拒绝中间人攻击
    • 模式切换:可开启[Receive-Only Mode],该模式不会自动监听剪贴板,只接收云端推送
      • 此时,用户可以单击托盘图标或在托盘菜单中手动推送剪切板
  • 良好的人机交互

    • Windows端上传数据后,会在光标周围显示小红点,提示用户,并在网络故障时,显示为黑点

      cursor-tip

    • Windows端接收数据后,会通过气泡通知用户

    • IOS端上传与下载均有弹窗通知

    • 网络故障时,会改变托盘图标颜色通知用户

  • 清爽的用户体验

    • 无需安装iOS/Mac App,仅用快捷指令完成
    • 无需登录注册,设定好UUID + 个人标识码(UserID)后即可使用
      • UserID用于防止小概率的UUID碰撞 & 提高安全性,可置空
      • 🔑 ID = SHA256(UUID + UserID),请务必确保Windows端与IOSUUID & UserID一致
  • 高分屏支持Qt原生高DPI缩放方案

  • 高效简洁的客户端实现Qt C++,性能无需多言

模型

  • 采用 [生产者 - 消费者] 模型,数据被Get之后,会从云端删除

限制

  • 目前仅支持单台Windows & iOS/Mac间数据共享

To-Do📜

  • 未来将支持多设备共享剪贴板
  • 重构快捷指令

使用方式

  1. Windows 上运行 DogPaw.exe(建议右键托盘图标,选择开机自启动(AutoStart))

    client-settings

    请用📷相机 or 扫码器扫描该二维码,复制UUID两个快捷指令的对应字段中

    camera-scan

    Shortcut-Setting

    UserID可为空

    🈁然后点击右下角的 [Save] ,程序就会开始连接服务器,可通过托盘图标查看连接状态

    • Ctrl+V自动复制到云端,并在鼠标右上角显示小红点
    • iOS上传数据时,Windows端会自动同步,并显示气泡通知
  2. iPhone or iPad 上安装快捷指令

    📷使用相机 or 扫码器即可识别

    1. Copy from Cloud:(download)
    2. Post to Cloud:(upload)

    可以将Copy from Cloud设置为轻点背面两下Post to Cloud设置为轻点背面三下

已知问题

IOS快捷指令🫨

  • 不太好直接区分文本/图像,目前通过拓展名 & 类型判断,可以区分:txt, rtf, heic, png, jpeg, url

第三方库

特别鸣谢