V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Guiyanakuang
V2EX  ›  程序员

开源免费的跨设备粘贴板应用, Paste 平替?还支持 Windows / Linux !

  •  1
     
  •   Guiyanakuang · 117 天前 · 2605 次点击
    这是一个创建于 117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近开源了个小项目 CrossPaste,实现跨设备的粘贴板应用,当前支持 Mac/Windows/Linux (移动端在开发中)。 开发这个项目主要目的是为了帮助多平台开发、设计人员(其实是我自己)解决多个设备间需要频繁同步数据的问题,现有的工具往往需要发送 -> 接收 -> 保存 -> 拷贝 -> 粘贴使用,效率低下,也严重打断工作心流。

    CrossPaste 的核心目标:在任意设备间复制粘贴,就像在同一台设备上操作一样自然流畅。

    当然单机的粘贴板管理功能也都支持

    • 支持多种粘贴板类型(文本、html 富文本、链接、图片、文件(文件夹))
    • 支持历史搜索,自动粘贴(返回上一个获取焦点的软件自动粘贴)
    • 支持收藏粘贴板
    • 支持纯快捷键操作

    为什么要开源项目,考虑到了一些其他原因

    • CrossPaste 使用 compose-multiplatform 技术实现一套代码构建跨平台应用,compose-multiplatform 社区迭代还是蛮快的,但是国内资料相对还比较少,我这个项目就当是抛砖了
    • 类似的项目也有很多,闭门造车可能只能解决自己的问题,我希望更多人参与进来(反馈意见、请求新功能、贡献代码都欢迎),解决大家的问题
    • 安全原因,粘贴板记录是一个非常隐私敏感的问题,我想开源可以提高透明度,让大家更加放心使用(也可以自行构建)

    开源地址: https://github.com/CrossPaste/crosspaste-desktop

    官网: https://crosspaste.com

    下载页面: https://crosspaste.com/download

    也可以到 GitHub release 页面下载: https://github.com/CrossPaste/crosspaste-desktop/releases

    如果觉得项目不错欢迎点个 star

    另外叠个甲,我并没有购买微软的代码签名证书(这类证书一般需要每年 4-5k ,毕竟当前状态是为爱发电,还不会考虑去买。但是如果有富哥愿意 Github sponsor ,我会将收入用来购买证书),所以在 win 启动应用可能会弹出系统或者杀毒软件告警,这是正常现象。 但是有个好消息是 CrossPaste 上架了 Microsoft Store ,可以直接在商店下载安装,微软帮忙签名就没有这些困扰了。

    第 1 条附言  ·  110 天前

    更新了 1.0.6 版本 https://github.com/CrossPaste/crosspaste-desktop/releases/tag/1.0.6.862

    官网下载: https://crosspaste.com/download

    1. 设置支持自定义存储路径
    2. 拷贝大文件只记录路径避免备份,防止存储空间浪费
    3. 提供配置限制了设备间传输文件大小
    4. 支持快捷键直接粘贴纯文本
    5. 支持双击粘贴板快速拷贝
    6. 支持一键清空粘贴板

    欢迎大家试用反馈

    47 条回复    2024-11-20 18:14:51 +08:00
    itning
        1
    itning  
       117 天前
    支持 ios 端吗
    Guiyanakuang
        2
    Guiyanakuang  
    OP
       117 天前
    @itning 移动端还在开发中
    Tink
        3
    Tink  
       117 天前   ❤️ 1
    我现在使得微信输入法😂
    dreamk
        4
    dreamk  
       117 天前
    看到解压后 398.1 MB 的 app 陷入沉思
    话说不考虑 flutter 吗,有个跨平台的 super_clipboard
    Guiyanakuang
        5
    Guiyanakuang  
    OP
       117 天前
    @dreamk 😅,没办法嵌入了 JRE 和 chrome-headless-shell ,体积就膨胀了,不过我最近发现 JBR 有个精简版本也许提交可以缩小一半,但是我还没验证
    当时选择 compose-multiplatform 有几方面考虑,
    1:kotlin 我熟悉度高
    2:开源这个项目也算是为推广 compose-multiplatform 技术抛砖了
    3:构建 Android / iOS 我可以复用很多桌面逻辑
    yb2313
        6
    yb2313  
       117 天前
    既然是甜美的 kotlin, 为何没有 apk
    Guiyanakuang
        7
    Guiyanakuang  
    OP
       117 天前
    @yb2313 ios 和 Android 正在开发中 😊
    bjzhou1990
        8
    bjzhou1990  
       117 天前
    目前我使用下来跨设备复制粘贴体验最好的是微信输入法,完全无感
    daishuge
        9
    daishuge  
       117 天前 via Android
    @bjzhou1990 很可能监控
    Kanye
        10
    Kanye  
       117 天前   ❤️ 4
    那些喜好微信输入法的,自己好用爱用就完了,跑出来 bb 那么多干嘛
    Guiyanakuang
        11
    Guiyanakuang  
    OP
       117 天前
    @bjzhou1990 @Tink CrossPaste 目前也是无感的,你可以在不同机器建直接 Ctrl C / V 。但是微信有一个缺点就是腾子可是很可能会偷窥你的数据,而我的应用,完全局域网之间发送数据,不经过服务器,保证隐私安全。另外微信输入法还不支持 Linux 吧。后续我也会支持命令行版本,Headless Linux 在终端开发的时候随时都可粘贴隔壁能 google 的机器粘贴板会不会很爽
    hhacker
        12
    hhacker  
       117 天前   ❤️ 1
    好顶赞, 先蹲个位置.
    支持安卓, 支持从 pc 复制 gif, 移动端粘贴, 这样就舒服了
    rlds
        13
    rlds  
       116 天前
    看起来还不错,试试。
    Guiyanakuang
        14
    Guiyanakuang  
    OP
       116 天前
    @rlds 欢迎试用,我自己虽然已经边使用边迭代了一段时间,但不得不说这个项目还在疯狂迭代的早期。毕竟每个人的使用习惯不同,另外我的机器有限,不能完全覆盖 Mac / Windows / Linux 所有主流操作系统版本。如有问题欢迎来提 issue [抱拳]
    HangoX
        15
    HangoX  
       116 天前
    微信输入法是会占用输入法坑的,个人更喜欢使用 ios 的输入法,导致我一直都没法在 ios 上使用
    catamaran
        16
    catamaran  
       116 天前
    @Kanye 你不喜欢也没必要 bb 啊,虽然我也不用
    Kanye
        17
    Kanye  
       116 天前   ❤️ 1
    @catamaran 我喜欢与否无关。op 开个帖子分享自己的创造,人们跑来 bb 说某某更好,而且是不同纬度的事物进行比较,我会觉得不礼貌。想要 bb 的人自己开个新帖就好了
    Overbye
        18
    Overbye  
       116 天前
    看起来不错支持一下。目前跨设备同步在用这个 https://github.com/Jeric-X/SyncClipboard 剪切板 g
    shunia
        19
    shunia  
       116 天前
    这种工具,其实和跨平台记事本没有啥本质区别吧?
    可是我想要的是系统级的啊,就是我在手机上复制了,不需要再另外打开一个 app 去粘贴,它自动就帮我同步了。然后桌面端会有比较不打扰的消息通知告知有新的粘贴来源。从桌面到手机同理。
    除了苹果自家的 handoff ,是不是没有这种产品了?巨硬有这种东西吗?
    Guiyanakuang
        20
    Guiyanakuang  
    OP
       116 天前 via iPhone
    @shunia 你理解对了 CrossPaste 就是这么工作的,自动同步,不需要在同步机器再次拷贝,可以直接粘贴。只不过当前只有桌面版,移动版还在开发
    shunia
        21
    shunia  
       116 天前
    @Guiyanakuang #20 移动端可以做到无需打开另一个 app 就自动同步新拷贝的内容吗?如果可以那真的挺好的,想要的就是这种效果。
    Guiyanakuang
        22
    Guiyanakuang  
    OP
       116 天前 via iPhone   ❤️ 2
    iOS 的解决方案是实现键盘扩展,没办法 iOS 会挂起后台应用,这个方案可以让你不需要切换应用,选中输入 ui 进行粘贴,当然你需要在此界面切换输入法。安卓授权的话就可以无痛的实现你需要的效果
    @shunia
    cskeleton
        23
    cskeleton  
       116 天前
    我感觉我的 Windows 有问题,这类软件搜不到人,但是又没找到哪里的问题。

    比如这个软件不显示 IP 地址,只有一个端口,和 Mac 互相搜不到; Logi Options+ 也是,LocalSend 大部分时候倒是可以。
    Guiyanakuang
        24
    Guiyanakuang  
    OP
       116 天前
    @cskeleton 你是说我开源的软件不显示 IP 只显示端口吗?我使用的是 jmDns 协议实现局域网的服务广播,这个协议和 ios 的 Bonjour 是兼容互通的。

    我猜测你的情况可能是路由器或者防火墙的锅
    xingheng
        25
    xingheng  
       116 天前
    以我一个用户的角度上看,一个剪贴板同步功能你居然塞了一个跨平台的 UI 框架进去,想想就头疼,超过 50MB 我绝不会用。
    ageovb
        26
    ageovb  
       116 天前
    建议快捷键加入无格式粘贴功能
    Guiyanakuang
        27
    Guiyanakuang  
    OP
       116 天前
    JKOR
        28
    JKOR  
       116 天前
    感觉这个软件体积有点大了,对于这个功能来说有点超重的感觉。
    Guiyanakuang
        29
    Guiyanakuang  
    OP
       116 天前
    @JKOR 😅,这也算是当前 compose-multiplatform 技术在 desktop 上的弊病吧。

    compose-multiplatform 也在推进去 awt 化( https://github.com/JetBrains/compose-multiplatform/issues/2825
    之后的方向是使用 graalvm 将 java / kotlin 编译为原生代码,这样就可以去除几百 M 的 JRE 了

    但是在移动端就不用担心,iOS 直接是 kotlin 翻译为 swift/object-c 再编译,最终就是生成原生代码。Andorid 本身推荐就是 kotlin ,每个应用不像桌面需要独立一个虚拟机环境。
    xi4oyu
        30
    xi4oyu  
       115 天前
    @shunia KDE connect ,但有个问题就是 ios 端连接不稳定容易断,安卓端,windows linux 之间就没这个问题。
    ageovb
        31
    ageovb  
       115 天前
    @Guiyanakuang #27 清空剪贴板功能是否可以加上?
    Guiyanakuang
        32
    Guiyanakuang  
    OP
       115 天前
    @ageovb 手动清理所有粘贴板吗?软件有自动清理策略(基于存储大小和保留周期的)。可以加上优先级会放后点
    ageovb
        33
    ageovb  
       115 天前
    @Guiyanakuang #27 有些软件(如 VS Code )回车无响应,无法粘贴
    Guiyanakuang
        34
    Guiyanakuang  
    OP
       115 天前
    @ageovb 可以在 github 上创建 issue 上传一下日志吗? win 在 C:\Users\XXX\.crosspaste\logs (日志不会记录任何粘贴内容)
    Guiyanakuang
        35
    Guiyanakuang  
    OP
       115 天前
    为了方便交流反馈问题搞了个 QQ 群:974540591 ,密码是开源地址 URL
    sublimevsatom
        36
    sublimevsatom  
       115 天前
    可惜不支持 ios 端
    cskeleton
        37
    cskeleton  
       115 天前
    @Guiyanakuang #24 是的,Windows 上只能看到端口,没有 IP 。我再研究下。
    Guiyanakuang
        38
    Guiyanakuang  
    OP
       115 天前
    @sublimevsatom ios 在开发中,敬请期待 😁
    Guiyanakuang
        39
    Guiyanakuang  
    OP
       115 天前
    @cskeleton 你可以移除设备,从附近设备重新查找试试
    dreamwy1990
        40
    dreamwy1990  
       115 天前
    mac 上需要的权限太高了,应该是解决方案的问题
    Guiyanakuang
        41
    Guiyanakuang  
    OP
       115 天前
    @dreamwy1990 https://github.com/kwhat/jnativehook 使用的这个库来实现多平台的键盘监听,它在 mac 上需要辅助功能权限

    的确,我也发现有些软件实现了全局键盘监听但没有申请辅助功能权限,但我没有细研究。如果有更好的方案,基础功能稳定后我会考虑优化
    wyx1445700521
        42
    wyx1445700521  
       108 天前
    微软商店下载缓慢 ~ 确实可以精简一下
    Guiyanakuang
        43
    Guiyanakuang  
    OP
       108 天前
    @wyx1445700521 下载缓慢应该是巨硬服务器的问题,软件大小精简已经在考虑中了,后续应该会使用本地浏览器来渲染 html 富文本,避免软件包里加入 chrom-headless-shell ,这可以缩减一半的体积
    tkwl
        44
    tkwl  
       16 天前
    @Guiyanakuang 我用最新的 windows store 版本,看任务管理器里面进程在但是右下角不显示图标,系统是 windows10
    tkwl
        45
    tkwl  
       16 天前
    测试了最新的 release 版本也一样,不知道是系统哪里屏蔽了吗?
    但是从 mac 端能看到设备了,就是界面图标出不来
    Guiyanakuang
        46
    Guiyanakuang  
    OP
       10 天前
    @tkwl 我在多个 win 设备上测试并没有复现这个问题,你可以的 github 上创建 issue 提供一些更详细的信息(日志、截图等等)吗?
    tkwl
        47
    tkwl  
       10 天前
    @Guiyanakuang 谢谢提供好用的工具,好像是第一次等待时间超长,吃了个饭回来就出来图标了,是不是在下载什么 JAVA 内容框架啥的导致?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.