前几天偶然发现Workflow免费了而且加入了发送http请求的功能,这样Workflow能实现的功能就大大增多了
这次就是来实现一个简单的剪切板同步工具
整个过程大概是这样的
- 首先在网盘里创建一个文本文件作为储存剪切板内容的载体
- IOS端使用Workflow可以获取剪切板内容,然后发送HTTP请求(使用网盘API)把文字储存到网盘的指定文件中
- 这样同步型网盘可以把文件同步到本地
- 本地手动运行一个shell脚本就可以读取同步号的文件并将文字复制到剪切板上了
但是这样有几个问题
- 网盘客户端同步的时间间隔无法控制,可能需要几分钟才能发现文件变化
- 不想后台运行网盘客户端
- 需要手动运行脚本获取内容,
于是用C#写了Windows端同步工具,完整的实现几个功能
- 可设置查询时间间隔
- 自动复制到剪切板
- 获取剪切板变化的事件,自动同步到远程
缺点就是电脑上又多了个全年挂机的进程,那么完成后大概是这个样子
SyncClipboard
功能
一个简单的剪切板同步工具,C/S架构
Server
理论支持任何支持WebDAV协议的网盘、web服务器
测试过的服务器:
– [x] NextCloud
Client-Windows
下载最新的Release
Client-IOS
使用Workflow提供的Get Contents of URL
功能发送HTTP协议
导入这个Workflow
配置
使用内置服务器
Windows
- 设置尽可能无法被其他人重复使用的用户名
- 将设置中出现的基于用户名的地址填入其他客户端
- 注意:内置服务器中储存的剪切板内容可以被任何人读取
IOS
- 修改导入的Workflow,将上一步得到的地址填入第一个可输入的URL Action中
使用自定义服务器
Windows
- 填写地址:指定服务器同步文件的地址,SyncClipboard使用一个json文件储存剪切板
- 填写用户名、密码
IOS
- 修改导入的Workflow
- 填写地址:第一个可输入的URL Action
- 填写用户名:第一个可输入的Text Action
- 填写密码:第二个可输入的Text Action