当前位置: 首页 > news >正文

鸽了好久,我终于用 Go 写出了这款“零感”跨设备剪贴板神器

最近这两个月,我几乎把所有的业余时间都砸在了这个叫 ClipCascade Go 的项目上。

作为一个每天在 Mac、Windows 和 Android 手机之间反复横跳的开发者,我深受“同步”之苦。虽然市面上有各类工具,但总觉得差点意思:要么是 Electron 写的,开两个就占我 1GB 内存;要么是闭源的,我的剪贴板里可全是代码、密钥和私密文本,交给别人的服务器实在睡不着觉。

于是,我决定自己撸一个。这一撸,就是两个月。

一句话介绍它:在多台设备之间同步文本、图片、文件,让跨设备复制粘贴尽量接近“本机体验”。

我做这个项目的起点很简单: 工作里经常在 Mac、Windows、win-游戏机、Android 之间切换,复制一段文本、一个截图、一个小文件,来回传输非常碎片化。AirDrop、聊天工具、网盘都能解决一部分问题,但都不够“剪贴板化”。我想要的是:复制后就能在另一台设备直接感知到内容变化,不需要额外动作。

那么这一时刻问题来了,我只有两个微信如何在三台电脑中间中转呢?

添加图片注释,不超过 140 字(可选)

第一阶段:逃离 Electron 的“泥潭”

最开始,我也想过用 Web 技术栈,毕竟快。但当我看到一个空白的 Electron 窗口就要吃掉我几百 MB 内存时,老派程序员的执念让我退缩了。

我选择了 Go。

第一个月,我几乎都在构建底层的协议逻辑。我放弃了复杂的中间件,选用了 Fiber 这种极致性能的框架作为服务端。为了保证安全,我没有直接传明文,而是搞了一套基于 AES-256-GCM + PBKDF2 的加密方案。

但我遇到了第一个大坑:如何处理大文件?

如果你复制了一个几百 MB 的日志文件,甚至是几个 GB 的安装包,剪贴板工具如果傻傻地立刻读取、上传、下载,那你的系统会瞬间卡死,网络也会被占满。

第二阶段:突破!“懒加载”与 P2P 的碰撞

在项目进行的第二个月,我实现了一个现在非常自豪的功能:“懒加载 (Lazy Loading)”传输架构。

既然剪贴板同步追求的是“无感”,那为什么非要立刻传输实体内容呢? 我想出了一个办法:当你按下 Ctrl+C 时,ClipCascade 只广播一个极其精简的“占位符”(包含文件名、大小、哈希值)。只有当你来到另一台设备,真正按下 Ctrl+V 的那一刻,两台机器才会通过 P2P (WebRTC) 握手,开始实时的数据分块传输。

这样做的效果是:

  1. 零内存占用:复制一个 20MB 的文件,客户端内存占用几乎没波动。
  2. 闪电广播:无论多大的内容,同步通知都是毫秒级完成。

为了搞定内网穿透(P2P 直连),我埋头写了很久的 STUN 穿透逻辑。看到两台设备在没有服务器介入的情况下,以满带宽的速度对传数据时,那种快感是无与伦比的。

第三阶段:跨平台的“终极决战”

最后半个月,我把目标瞄准了 UI。

原本我用的是原生 Android 壳和 Windows CGO 绑定,但维护起来太痛苦了,交叉编译简直是噩梦。 为了追求极致的纯粹,我做了一个大胆的决定:全线重构,改用 Fyne.io。

现在的 ClipCascade 桌面 UI 和移动端,都是 100% 纯 Go。这意味着:

  • Android APK 只有 25MB:由于剔除了多余的本地架构,它比绝大多数跨平台 App 都要小。
  • Mac 上一键编译 Windows:再也不用为了打个 Win 的包去虚拟机里折腾环境了。

写在最后:它能为你解决什么?

如果你也像我一样,讨厌臃肿,极其看重隐私,想要:

  • Mac 复制,Win 粘贴(文字、图片、文件全支持)
  • 手机直连,剪贴板双向同步
  • 数据都在自己手里,私有化部署
  • 极度丝滑,几乎不占系统资源

那么,请一定要试试这个我磨了两个月的作品。

话不多说,原神启动:

服务端

添加图片注释,不超过 140 字(可选)

客户端 1

添加图片注释,不超过 140 字(可选)

客户端 2


释,不超过 140 字(可选)

手机端

那么这么棒的软件,它有没有带 UI 端的? 有的兄弟 包有的, PC 端这里也有 UI 的部分,而且都附带网络自动发现。

GitHub 地址 (开源 & 求 Star): https://github.com/NOBB2333/ClipCascade_go

写代码是一件纯粹的事,希望这款工具能让你的开发生活也变得纯粹一点。也欢迎大家来提 Issue 或 PR,我们一起把它做得更好!

Go 语言 #开源项目 #剪贴板同步 #生产力工具 #程序员笔记

http://www.jsqmd.com/news/747187/

相关文章:

  • 网络优化工具!提升上传下载速度、网络连接与稳定性!检测优化有线宽带、WiFi流量,减少延迟、丢包率!提高多人联机、网络游戏与在线视频流畅度,下载协议程序优先级!
  • 2026年权威发布:GEO系统贴牌解决方案哪家靠谱?综合对比TOP5服务商选择建议
  • 自动抠图神器有哪些?2026年最全对比指南,我用过的工具都在这里
  • 一文详解Agent任务规划的全流程,从入门到精通
  • 代偿性养育的结构分析:童年缺口如何影响亲子互动中的给予模式
  • 从硬件决策哲学到生态竞争壁垒
  • 微信小程序,微信小游戏调用WebAssembly
  • 微服务选型中Nacos和Consul健康检查有什么不同?
  • 【参数辨识】经典Prandtl–Ishlinskii(PI)迟滞模型及其PSO算法参数辨识附Matlab代码
  • 从CPU市场到AI算力格局:一场关于技术路线、商业逻辑与生态锁定的深度梳理
  • 终极指南:3步快速掌握Retrieval-based-Voice-Conversion-WebUI变声神器
  • 对比直接使用原厂 API Taotoken 在路由容灾上的体验差异
  • 【Uformer论文阅读|CVPR 2022】:通用U型Transformer架构,重新定义图像修复任务
  • 从‘校区’到‘Python’:聊聊聊天机器人里那些意想不到的意图识别‘坑’
  • murata村田SCH1633-D01陀螺仪加速计传感器原厂一级代理商分销经销商
  • 论文AIGC检测多少才合格?怎么降低论文的aigc率?
  • 图片去背景抠图有哪些工具推荐?2026年最实用的抠图工具对比指南
  • 大语言模型知识同质性解析与工业级优化方案
  • 全国大学生电子设计竞赛】从零基础到国奖的硬核通关指南(附备赛清单与踩坑实录)
  • 如何用qmcdump解锁QQ音乐加密文件:从原理到实战的完整指南
  • 百度网盘高速下载终极指南:免费开源工具轻松突破限速
  • 将 Hermes Agent 的提供商指向 Taotoken 实现统一调用
  • 终极指南:如何在5分钟内掌握MapleStory WZ文件编辑与地图制作
  • JDK版本兼容性断裂、SPI机制失效、SSL国密套件加载失败,Java国产化适配三大“静默崩溃”场景全解析,
  • 终极指南:5分钟掌握BG3模组管理,彻底告别游戏崩溃烦恼
  • 2026 AI 算力芯片全解析:推理时代的格局重构与国产突围
  • 2026年紫光国微数字IC设计笔试题带答案
  • Spring Boot3入门介绍----什么是IOC?
  • Claude突发封号风暴:110人团队一夜“清零”,9秒直接停摆!
  • 何帆律师:15年专注保险拒赔 只为被保险人讨回应得理赔款 - 测评者007