爱意满满的作品展示区。
mkdir700

[开源] 一个剪贴板实时同步工具 | UniClipboard

  •  
  •   mkdir700 · 2 days ago · 1495 views

    输入图片说明

    为什么要做这个?

    我先讲一讲为什么做这个,对这个部分不感兴趣的小伙伴,可以直接跳到下方的介绍部分。

    在上家公司是做机械臂的,每个人会佩两台电脑,一台是 Ubuntu 台式机,另一台是 Windows 笔记本。我们开发用的 Ubuntu + Teams 办公,部署和其他同事都使用的 Windows 笔记本 + 企业微信,所以经常互相发送截图,接受日志文件等等操作,需要在两台设备间传输。

    如果只是文件传输,很多工具都可以做到了,比如:LocalSend

    但程序猿就是非常懒的,我更期望的是在这台电脑上复制,然后直接在另一台电脑上粘贴。我不想去先打开传输工具,找到文件,上传,然后在另一台设备上下载。

    所以,经过我跌跌撞撞经历了半年的开发,近 3000 次 commit 开发了 UniClipboard

    介绍

    25 秒演示视频: https://www.bilibili.com/video/BV1QGLp64E6q/

    文本、图片、文件,复制粘贴全覆盖

    桌面端是无感同步,复制完直接到对端粘贴,不用点任何按钮。

    P2P 端到端加密传输

    两台设备先用匹配码交换连接信息,之后双方直连通信,不经过第三方服务器。

    遇到 NAT 就先打洞,打不通才走中继兜底。即便走中继,中继也看不到具体内容 —— 传输前已经做过加密。

    也就是说,跨网段、跨公网都能同步,不局限于局域网。

    加密存储

    剪贴板工具都会有持久化存储的功能,但剪贴板内容本身就是非常敏感的,所以在存储这些内容时,我采用了 XChaCha20-Poly1305 加密算法去做加密存储,加解密的口令保存在系统的 Keychain / 凭据管理器里

    五端覆盖

    macOS/Windows/Linux(wayland&x11)/iOS/Android 全覆盖。桌面端是无感同步的,后台运行即可。移动端因为系统限制的原因,需要用户主动式的触发才能访问到剪贴板,比如通过分享入口来分享文字、图片和文件。

    移动端有些不完善的地方:

    1. 目前是只支持局域网;
    2. iOS 原生 APP 正在开发中,当前是用快捷指令替代
    3. 安卓 APP fork 了 SyncClipboard (另一款剪贴板同步工具)的安卓端,做了协议兼容,感谢开源!

    还有个纯 Rust 的 CLI 版本

    桌面端是 Rust + Tauri2 ,虽然安装包 20MB ,看着小小的,但运行时带 WebView ,实际内存占用 200MB 左右。

    我自己后台常驻嫌它太重和为了方便端到端测试,就另外写了一个 CLI 版本,纯 Rust 实现。

    为什么不用 XXX ?

    为什么不用微信输入法 ?

    微信输入法支持文字和图片的云同步,同时支持桌面端和移动端。

    1. 微信不支持 Linux 环境
    2. 隐私内容会上云,我不知道腾讯有没有做加密存储
    3. 有自己想用的输入法软件,比如 Rime

    为什么不用 LocalSend

    LocalSend 确实很强:开源、跨平台、局域网点对点,不走云不要账号,作者从 2022 年开源到现在一直在迭代,GitHub 几万 star ,我自己平时也在用。

    但它的核心是「点对点传文件」—— 选设备、选文件、对面点确认、等传完。我要的是 Ctrl+C / Ctrl+V

    为什么不用 Barrier/Deskflow

    用,而且非常好用。这两个工具可以将两台电脑共享一套键鼠,但是剪贴板共享只是他们的附属功能,文本和图片可以同步,但文件好像不行。

    所以,我现在就禁用它们的剪贴板共享功能,换作使用 UniClipboard ,这样两台电脑共享一套键鼠,一个剪贴板。

    最后

    项目是 AGPL-3.0 开源的,代码可以审计,也可以自己构建。

    如果你有任何问题或反馈,欢迎下方留言。

    GitHub:https://github.com/uniclipboard/uniclipboard 官网:https://uniclipboard.app

    30 replies    2026-05-20 22:25:54 +08:00
    yukminnie
        1
    yukminnie  
       2 days ago
    关注很久了,之前搜到好几款 syncclipboard ,clipshare ,linkboard ,后来移动端那个叫说点啥的语音输入法也支持了这个同步的协议,但它是通过 WebDAV 同步的,用下来有点小问题。我因为手头只有一台电脑,所以电脑和手机同步是硬需求,最后选择了 linkboard ,主要是因为他搞了一个移动端,可以注册为系统输入法,省了切换和悬浮窗口这些步骤,在临时需要频繁同步的时候,我就切过去。日常使用一个闭源软件叫 flix 的,它是一个类似于 Feem 和 localsend 的局域网传输文件的工具,附带了一个剪贴板同步的功能。咱们这个软件如果不依赖 WebDAV 就可以内外网同步,确实是一个大优势,和其他几个思路不一样。其实我一直想,如果安卓端的开源输入法能接入类似工具的同步的话,就太好了。
    xiaoliuzhenshuai
        2
    xiaoliuzhenshuai  
       2 days ago
    建议在下载页面加个解释,比如:arm64-v8a 现在绝大多数安卓手机 64 位 ARM ,性能最好、体积较小,优先选这个
    armeabi-v7a 很老的安卓手机 32 位 ARM ,老设备用,现在新手机一般不需要
    x86_64 安卓模拟器、少数 Intel 架构设备 普通手机基本不用
    universal 所有架构都兼容 包含多个架构,最稳但安装包更大
    mkdir700
        3
    mkdir700  
    OP
       2 days ago
    @xiaoliuzhenshuai 好的,很实用的建议,🙏
    mkdir700
        4
    mkdir700  
    OP
       2 days ago
    @yukminnie 手机输入法集成是最优解(排除安卓 shizuku 这类工具),就像微信输入法那样,因为可以无感的读取剪贴板。对用户习惯破坏也是最大的,因为要让用户强制适应新的输入法,但用户对输入法工具的黏性都挺高的,更喜欢自己顺手的。所以,当前就只做到了主动分享的形式来同步剪贴板。

    你有用什么开源输入法吗,有开放的接口,说不定可以支持下
    JackalZhao
        5
    JackalZhao  
       2 days ago
    我现在用的是联想的「超级互联」,很好用,但他的问题是 windows 端在后台无缘无故占用 cpu
    mkdir700
        6
    mkdir700  
    OP
       2 days ago
    @JackalZhao 刚去搜了下,停服了,尴尬。估计每人维护了。
    mkdir700
        7
    mkdir700  
    OP
       2 days ago
    @mkdir700 哦哦看错了,现在改名叫 Smart Connect ,用这个试试呢
    JackalZhao
        8
    JackalZhao  
       2 days ago
    一个想法,能不能蓝牙共享?

    有的时候,手机连着流量,在电脑旁边,没有开 wifi ,而笔记本连着局域网,这时物理上相近,但网络上直连不到,打开手机等待连接 wifi 要浪费好几秒。
    Varvel
        9
    Varvel  
       2 days ago
    老板,TF 多久发放一次
    mkdir700
        10
    mkdir700  
    OP
       2 days ago
    @Varvel 邀请啦
    mkdir700
        11
    mkdir700  
    OP
       2 days ago
    @JackalZhao 这个属于跨公网同步(如果走网络的话),蓝牙可以考虑试试看。目前正在将桌面端 p2p 方案迁到移动端,这样移动端也可以支持跨公网同步,应该可以覆盖到你这种情况。蓝牙的话,有时间的话可以做一下调研试试,毕竟延迟肯定比跨公网延迟更低。
    JackalZhao
        12
    JackalZhao  
       2 days ago
    蓝牙通信是可行的,Unified Remote Control 多端支持,可以蓝牙控制电脑,甚至能传输屏幕画面。它能验证可行性,只是它没有开源
    AASW2ss
        13
    AASW2ss  
       2 days ago
    这个功能确实很需要。目前大家主要用的还是搜狗吧,下半年也要上剪贴板同步功能了
    JackalZhao
        14
    JackalZhao  
       2 days ago
    我又找到了元老级软件「百变遥控」,2012 年就有了,我刚下载了,还能用,手机能蓝牙连接到电脑远程摇控,还能传输电脑画面,可以用作参考。之前我就想为何它不加个剪贴板同步功能。可惜后来没再更新。其实如果能做蓝牙连接共享的话,跨网络设备通信的问题就很好解决了。
    Varvel
        15
    Varvel  
       2 days ago
    @mkdir700 #10 不是 TF 吗,怎么拉 connect 里去了
    explorerproxy
        16
    explorerproxy  
       2 days ago
    有用 crosspaste 和章鱼快贴,等有空试试这个
    mkdir700
        17
    mkdir700  
    OP
       1 day ago
    @Varvel 第一次操作这个,我添加人到 TF ,好像只能从 connect 里面拉人,所以我先把人拉到 connect ,然后才能拉到 TF ,我不知道是不是这么操作的,我再研究研究🧐
    NASK
        18
    NASK  
       1 day ago
    目前用的 SyncClipboard 挺好用的.有空了试试这个
    mkdir700
        19
    mkdir700  
    OP
       1 day ago
    @NASK 嗯嗯,安卓端就是 fork 的 SyncClipboard ,兼容了这个开源项目的接口,准备在这个基础上进行二开,比如增加 P2P 跨公网同步的功能。 我自己有这个需求,在我们公司,手机不能接入 wifi ,所以有些时候仅靠局域网也不行。
    mkdir700
        20
    mkdir700  
    OP
       1 day ago
    @explorerproxy 嗯嗯好的,我也去看看其他产品,学习学习下,哈哈哈
    lockheart
        21
    lockheart  
       1 day ago via iPhone
    testflight 多久才会发?申请了没有收到
    mkdir700
        22
    mkdir700  
    OP
       23h 14m ago
    @lockheart 久等啦,我去搞了 beta 版本的,直接用这个下载使用吧 https://testflight.apple.com/join/nyNQ8dQe
    lockheart
        23
    lockheart  
       21h 10m ago
    @mkdir700 能兼容下 26.1 吗?
    Varvel
        24
    Varvel  
       20h 47m ago
    @mkdir700 成功加入 TF ,提一个 future ,可以在 PC 端进行文本处理,比如正则匹配后修改和替换。还有追加前缀和后缀等等。
    Varvel
        25
    Varvel  
       20h 37m ago   ❤️ 1
    @Varvel 遇到了 PC 从浏览器地址栏复制网址,手机端同步异常。
    <html>
    <body>
    <!--StartFragment--><a href=" ">[开源] 一个剪贴板实时同步工具 | UniClipboard - V2EX</a ><!--EndFragment-->
    </body>
    </html>
    mkdir700
        26
    mkdir700  
    OP
       18h 20m ago
    @Varvel 感谢反馈,我修一修
    mkdir700
        27
    mkdir700  
    OP
       18h 18m ago
    @Varvel 嗯嗯,构建的时候没注意,我晚上回去调整下
    mkdir700
        28
    mkdir700  
    OP
       18h 18m ago
    @lockheart 嗯嗯,构建的时候没注意,我晚上回去调整下
    Wcowin
        29
    Wcowin  
       11h 44m ago
    同步功能半天没有搞明白 Mac 端可以参考 https://github.com/Wcowin/OneClip 的一些特性 相信 UniClipboard 离最佳多端剪切板不远了
    Ccf
        30
    Ccf  
       9h 0m ago
    最近在用 blip
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1197 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 23:26 · PVG 07:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.