clipboard-online 是一个在 Windows 和 iOS 之间分享剪切板的 Windows 工具,iOS 通过快捷指令实现。另外也适用于 Windows 与 Android 设备之间。@Appinn
@xiozf 同学在很早前就分享了这款软件,以及使用方法:https://meta.appinn.net/t/topic/20322
Clipboard-online:在不同设备之间分享剪贴板。附 iOS 和 Android 设备分享方法。
前言
缘起于 @feeshy 分享的跨平台跨设备剪贴板推送/同步方案合集,受益良多。根据自己的需求折腾了好多 app,最后结果在此分享。
介绍
clipboard-online 是一款 Windows 平台应用,它将本机剪贴板暴露于 HTTP 端口,其他设备通过发送 HTTP 请求来获取、发送剪贴板。而其他设备发送剪贴板后,PC 可以直接粘贴。现已支持文本、文件、图像。
开始
1、到项目首页下载应用并运行。2、记下 PC 内网 IP。
iOS 设备获取、发送剪贴板
- 获取 PC 剪贴板内容:
- 安装该快捷指令;
- 如开启鉴权,请记得设置和 PC 一样的 authkey。
- 发送剪贴板内容至 PC 剪贴板:
- 安装该快捷指令;如开启鉴权,请记得设置和 PC 一样的 authkey。
安卓设备获取、发送剪贴板
需安装 HTTP Shortcuts 应用,介绍见此。
- 获取 PC 剪贴板内容:
- 将以下内容保存为
.json
文件(编码方式选 UTF-8)并拷贝到手机上; - 到 app 首页,点击”导入/导出”,找到文件导入;
- 编辑刚导入的快捷方式,将 IP 地址换为你 PC 的内网 IP;
- 如开启鉴权,请编辑快捷方式,点击”脚本编写”,在”执行前运行”栏目里按提示填写和 PC 一致的 authkey。
- 将以下内容保存为
{ "categories": [ { "id": "9b0db1bd-87b8-456b-a741-001b0cbe2282", "name": "快捷方式", "shortcuts": [ { "acceptCookies": false, "codeOnPrepare": "const timestamp \u003d parseInt(new Date()/30000);\n\nconst auth \u003d \u0027我的密匙.\u0027 + timestamp ;\n//把“我的密匙”4个字换成你的authkey,单引号内最后一个.要保留\n\nconst hashkey \u003d hash(\u0027md5\u0027, auth);\nsetVariable(/*[variable]*/\"4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f\"/*[/variable]*/, hashkey);", "codeOnSuccess": "const aa \u003d JSON.parse(response.body).type;\n\nif (aa \u003d\u003d \u0027text\u0027) {\n const bb \u003d JSON.parse(response.body).data;\n copyToClipboard(bb);\n showToast(\"已复制:\" + bb);\n} else {\n showToast(`文件名:${JSON.parse(response.body).data[0].name}\\nHTTP Shortcuts不支持该类型传输`);\n}", "headers": [ { "id": "28bb17a3-1129-41b3-aafb-286ab74212f6", "key": "X-API-Version", "value": "1" }, { "id": "33122791-5436-47ee-85aa-381e5246614e", "key": "X-Client-Name", "value": "5a6J5Y2T5omL5py6" }, { "id": "69406f7e-7ffa-4394-8531-e001b56e24df", "key": "X-Auth", "value": "{{4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f}}" } ], "iconName": "flat_color_brightness_4", "id": "1426d5aa-56c2-4bd3-b0ff-da06b86a1cbd", "name": "获取PC剪贴板", "responseHandling": { "id": "2520aa51-42fc-4ebd-b354-23dd7f3b3da9", "successOutput": "none" }, "timeout": 1000, "url": "http://192.168.1.2:8086" } ] } ], "variables": [ { "id": "4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f", "key": "auth", "value": "3866123255535f13a22ea19a48551ec3" } ], "version": 45 }
- 发送文字至 PC 剪贴板:
- 展开以下折叠内容保存为
.json
文件(编码方式选 UTF-8)并拷贝到手机上; - 到 app 首页,点击”导入/导出”,找到文件导入;
- 编辑刚导入的快捷方式,将 IP 地址换为你 PC 的内网 IP;
- 如开启鉴权,请编辑快捷方式,点击”脚本编写”,在”执行前运行”栏目里按提示填写和 PC 一致的 authkey。
- 展开以下折叠内容保存为
{ "categories": [ { "id": "9b0db1bd-87b8-456b-a741-001b0cbe2282", "name": "快捷方式", "shortcuts": [ { "acceptCookies": false, "bodyContent": "{\"data\": \"{{56a89499-6696-4004-8ae9-67d2be339ad9}}\"}", "codeOnPrepare": "const timestamp \u003d parseInt(new Date()/30000);\n\nconst auth \u003d \u0027我的密匙.\u0027 + timestamp ;\n//把“我的密匙”4个字换成你的authkey,单引号内最后一个.要保留\n\nconst hashkey \u003d hash(\u0027md5\u0027, auth);\nsetVariable(/*[variable]*/\"4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f\"/*[/variable]*/, hashkey);", "codeOnSuccess": "showToast(\"已发送\");", "contentType": "application/json", "headers": [ { "id": "90f1eb7e-3fd6-400d-9501-4d0f3f853ed3", "key": "X-API-Version", "value": "1" }, { "id": "f98d0ab7-6a3f-4151-93a3-c49d30314852", "key": "X-Client-Name", "value": "5a6J5Y2T5omL5py6" }, { "id": "cee115a0-f740-4c2f-9a9c-f721c4c5dc09", "key": "X-Auth", "value": "{{4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f}}" }, { "id": "13ededd7-22ad-4431-a13e-08dd62f824ce", "key": "X-Content-Type", "value": "text" } ], "iconName": "flat_color_brightness_4", "id": "91bb596a-a3d7-423f-abd4-bdf4b9e2c5ce", "method": "POST", "name": "推至PC剪贴板", "responseHandling": { "id": "305bd9cb-0cdb-495a-b39d-9fdb24609f6e", "successOutput": "none" }, "timeout": 1000, "url": "http://192.168.1.2:8086" } ] } ], "variables": [ { "id": "4b04bb1d-5b8b-4830-9f7b-b2fef71bd44f", "key": "auth", "value": "3866123255535f13a22ea19a48551ec3" }, { "flags": 1, "id": "56a89499-6696-4004-8ae9-67d2be339ad9", "key": "Content_noencode", "title": "要发送的内容", "type": "text" } ], "version": 45 }
延伸
如果将本机暴露到公网,则随时都能操作剪贴板内容,而不受限于局域网。如这样操作请一定要开启鉴权,以稍微增加一点安全性。
另外,图片及文件的支持也已加入,采用的是将二进制文件进行 Base64 编码再传输。iOS 一切正常,安卓的 HTTP Shortcuts 应用则支持文字类型的 Base64 编码/解码,不支持文件类型的 Base64 编码/解码,比较可惜。
| clipboard-online 开源首页| HTTP Shortcuts 开源首页 |
后记
还是那句话:人呢,总是有许多奇奇怪怪的需求,正因为这些不一样的需求,才催生出各式各样的 app 。这些 app 解决的痛点在另一个人眼里也许就不是问题。这次折腾很久,效果差强人意,特此分享。
更新记录
2021.08.04 clipboard-online 更新至0.2.5,相应配套也更新支持。
2020.11.XX 初稿、二稿。