首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Go 实现的剪贴板多端同步神器 midgard

经常会遇到这样的场景:手机上看到某位大佬发了一段醍醐灌顶的话,马上想记录到自己的笔记系统里去。但电脑上并没有登录微信,所以还得先登录电脑端微信,再自动同步消息,找到那段话,复制,记录……

如果我们用的是苹果全家桶,情况稍好一点:iPhone 上复制之后,在 MacOS 端直接粘贴就行了。但“接力”功能有时也会失灵,不太可靠。

而如果手机用的是iPhone,电脑用的是 Windows,那日子就会更难过一点。如果恰好又要用 Linux 桌面版玩一些机器学习的项目,简直就太麻烦了,目前好像也没有太多的解决办法……

欧神开源的这个工具midgard[1]正是解决剪贴板多端同步的问题,包括 MacOS,Windows,Linux,iPhone。

剪贴版自动在 MacOS 和 Windows,桌面板 Linux 间同步,iPhone上用捷径获取、上传剪贴板。

多端同步

除了剪贴板同步,midgard 还有另外 2 个超级好用的功能:

图床

代码片段生成好看的图片

先说图床,在MacOS端的使用流程是这样的:截图;按下快捷键 。图片被上传到服务器,并且图片会自动备份到你的 GitHub 上。然后这张截图的链接就静静地躺在本地MacOS的剪贴板上,这时只需要 ,就可以将图片链接贴到文章里,非常优雅。

再说第二个功能。之前 Go 夜读知识星球里有一个读代码的打卡活动,欧神每次都是在地铁上用手机看代码,完成打卡。需要一个工具能将 iPhone 剪贴板上的代码片段转成好看的图片,再发表在星球上:

carbon

它就是code2img[2],现在 code2img 也集成到 midgard 里来了。

介绍完了功能之后,再来简单看一下原理。

架构图

在MacOS端部署一个后台常驻进程,设置成开机启动。它通过 websocket 和 server 端保持同步,同时它会捕获本地系统快捷键和剪贴板的变化。每当本地剪贴板发生变化时它会将内容同步到 server,server 再将内容广播到其他端;当捕获到 快捷键后,会调用 接口将图片上传到 server 的 目录下,server 返回图片链接,并写入本地剪贴板。

最后,欢迎大家亲自试试,项目里有详细的安装文档和使用文档,中英文都有。另外,欧神的代码写得很好,值得多学习,有问题本文留言。

参考资料

[1]

midgard:https://github.com/changkun/midgard

[2]

code2img:https://github.com/golang-design/code2img

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210929A038O200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券