-> 项目地址
https://github.com/Doraemonkeys/clipboard-go
一、背景
-----------------------------------------------------
之前我同步剪切板,一直用的Windows的smb协议,利用se文件管理器把剪切板内容保存到指定文件中,然后有个自己写的小工具监视文件把里面的内容复制到剪切板,效率不太行,具体过程不再展开。
前一段时间看到了酷友分享的剪切板同步方案,我想是时候改变一下以前蹩脚的同步方法了[受虐滑稽]
这是酷友的方案∶
-> 那么为什么还要重复造轮子自己写一个呢?
①此方案使用同步过程不加密(最主要的原因)
②本人不熟悉tasker,配置太麻烦
-> 为什么我一定要强调加密呢?[嘿哈]
①因为局域网抓包这事儿我干过,你也不想自己的小秘密被别人看到吧[受虐滑稽]
②如果你使用过Tailscale等内网穿透工具,那么这就意味着你可以使用本工具在不同网络环境下进行剪切板同步,而在公网传输,加密就非常有必要了。
③还有就是可以利用其他网站进行文本同步(后面有教程)。
-> 为什么不使用QQ、微信、小米妙想(MIUI+)、快贴等工具呢?
我个人不太喜欢一直在电脑上把微信或者QQ挂着。以前使用过一段时间快贴,这玩意儿不是很靠谱,老是同步不及时,最近还搞了会员,所以放弃。小米妙想是个不错的方案,但不太轻量,同步也有一些延迟(我的体验),用来传输大文件是个不错的选择。
二、局域网内如何使用
-----------------------------------------------------
-> 下载
github:https://github.com/Doraemonkeys/clipboard-go/releases
蓝奏云:
密码:c1at
手机端如果不知道选择哪个安装就选 app-armeabi-v7a-release.apk 。
[注意] 配置阶段需要确保电脑和手机处于同一网络中。为避免局域网内ip变化,建议为电脑设置静态ip(通过路由器设置,这里不给出详细步骤)。
-> PC端的使用
1. 解压 clipboard-go-amd64-windows.rar 到任意目录
2. 双击exe文件运行,可以观察到任务栏下出现app的图标,同时生成了默认配置文件到当前目录。
重点! 请点击允许windows网络防火墙,注意勾选公用网络(大胆的勾选[受虐滑稽],所有内容均已加密)。
3. 打开默认配置文件`config.yaml`,复制secretKeyHex(注意不要复制到空格),手机端需要用到。
4. 查看电脑ipv4,cmd或PowerShell中执行命令:`ipconfig`,找到无线局域网适配器 WLAN的ipv4地址,记录下来。
-> 手机端的设置
1. 安装APP(如果不知道选择哪个安装就选 app-armeabi-v7a-release.apk)。
2. 打开APP,点击右下角的加号配置。
3. IP填电脑的IP,Secret Key 填刚才电脑上复制的。
最后,激动人心的时刻到了,手机随便复制一段话,打开app点击Paste text,电脑瞬间弹出通知,恭喜你已经成功完成了配置,可以愉快的使用了[受虐滑稽]
-> 注意事项
1. 一直转圈圈说明你电脑端配置有问题,比如wifi设置了公用网络。
2. 圈圈不动了说明app正在加密上传,不是卡住了,这是由于我不熟悉app开发,暂时搞不定[cos滑稽]
3. 出现情况2说明文件比较大,请不要传输大文件,这不是软件设计的初衷。
三、不在同一网络的解决方案
-----------------------------------------------------
①使用内网穿透软件
如果是Tailscale,只需要把电脑ip换成Tailscale分配的IP,其他工具自行测试。
②使用别人搭好的服务器
本工具内置了一个,只需要新建配置,ip填web,对你没有看错,就是这三个字母web。Secret Key 填刚才电脑上复制的。使用此功能需要在电脑上手动点击软件,复制到剪切板。
web虽然方便,但希望各位尽量只在紧急情况下使用这个功能②,把别人网站搞垮了大家就都没得用了[受虐滑稽]
四、跨平台适配情况
-----------------------------------------------------
目前仅支持Android与Windows。
# 移动端
移动端代码使用flutter编写,理论上支持安卓和IOS,但由于作者对IOS不熟悉,也没有相关设备测试,所以暂不支持,动手能力强的可以自己尝试编译。
# PC
Pc端代码使用Golang编写,代码中主要的库都是跨平台的,但是作者在实现选择文件时使用了Windows的API,所以想要提供其他平台的支持,就需要高手稍微修改一下源代码,作者能力尚浅,欢迎高手来PR。
五、展望
-----------------------------------------------------
因为有些人的内网ip一直变化,计划添加局域网内自动选择ip的功能,只要思路是检测当前配置ip电脑服务器是否在线,例如http /ping,如果ping不通就尝试其他常用ip,或者提供一下其他思路。(更新估计遥遥无期[受虐滑稽])。
本人不太熟悉Flutter,希望能有大佬能重构一下dart代码,优化一下界面,随便帮我实现一下展望的功能 :)doge
设计协议的代码我可以很快整出来,app端的交互我是真不太好设计,主要是我flutter真不太会[受虐滑稽]
所以如果遇到bug,能忍就忍一忍,不能忍了再踢我一脚,就这样,over[受虐滑稽]