Skip to content
Star

剪贴板同步

剪贴板同步功能基于 SyncClipboard 项目协议实现。说点啥作为 SyncClipboard 客户端,通过访问服务端的 SyncClipboard.json(以及可选的 /file/ 目录)来同步剪贴板内容,实现多设备间的剪贴板实时互通。

你可以使用以下任意一种后端作为“服务器”:

  • SyncClipboard 独立服务器(SyncClipboard.Server)
  • 桌面端 SyncClipboard 内置服务器
  • WebDAV/网盘存储(只要支持 HTTP PUT/GET)

本项目当前主要同步 文本;当服务端推送图片/文件类型时,会在粘贴板历史或键盘上方信息栏中展示文件名,并可按需点击下载。

功能说明

剪贴板同步服务会:

  • 自动上传:检测到本地剪贴板变化时,自动 PUT 到服务端 SyncClipboard.json
  • 自动下载:定期 GET 服务端 SyncClipboard.json,发现新内容时自动同步到本地
  • 去重处理:使用内容哈希值避免重复上传相同内容
  • 文件名去重:记住最近处理的文件,避免重复预览

工作原理

  • 上传时使用内容 SHA-256 哈希值判断是否需要上传
  • 下载时记住最近处理的文件名,避免重复处理
  • 协议基于 SyncClipboard API:PUT /SyncClipboard.json 上传、GET /SyncClipboard.json 拉取;若 TypeImage/File,对应文件位于 /file/<filename>

配置方式

基本开关

配置项类型默认值说明
syncClipboardEnabledBooleanfalse启用剪贴板同步服务

设置 → 其他设置 → 剪贴板同步 中启用此功能。

服务器配置(SyncClipboard)

配置项类型必需说明
syncClipboardServerBaseString服务器基址或 SyncClipboard.json 完整地址
syncClipboardUsernameString服务端用户名(HTTP Basic Auth)
syncClipboardPasswordString服务端密码(HTTP Basic Auth)

服务器地址可以填写基址或完整文件地址:

  • 基址示例:https://example.com:5033/https://dav.jianguoyun.com/dav/
  • 完整地址示例:https://example.com:5033/SyncClipboard.json

如果地址不是以 .json 结尾,应用会自动在末尾追加 /SyncClipboard.json

注意

所有字段都会自动执行 trim() 操作去除首尾空格,请确保不要复制粘贴时带入额外空格。

自动拉取配置

配置项类型范围默认值说明
syncClipboardAutoPullEnabledBooleanfalse启用自动拉取
syncClipboardPullIntervalSecInt1-60015拉取间隔(秒)

启用自动拉取后,应用会按设定间隔定期检查云端剪贴板内容。

间隔建议

  • 15-30 秒:适合需要实时同步的场景
  • 60-120 秒:平衡实时性和电量消耗
  • 300-600 秒:低频使用场景,节省电量和流量

可用的服务器/后端

SyncClipboard 独立服务器(推荐)

SyncClipboard 提供可独立部署的服务端 SyncClipboard.Server,支持跨平台运行并与桌面/移动客户端互通。部署方式与更多说明请参考上游项目文档。

配置示例

服务器地址:https://your-domain.com:5033/
用户名:appsettings.json 中配置的 UserName
密码:appsettings.json 中配置的 Password

桌面端内置服务器

Windows/macOS/Linux 桌面客户端内置服务器功能,可在客户端设置中开启并查看地址。将该地址填入本应用即可与桌面端互通。

WebDAV 服务器(可选)

如果你希望用 WebDAV/网盘存储作为后端,只要其支持对 SyncClipboard.json 的 HTTP PUT/GET(通常为 Basic Auth),即可使用。下面给出一些常见服务的配置示例。

坚果云

坚果云是常见的 WebDAV 服务提供商,提供免费与付费套餐,具体配额与价格请以官网为准。

配置示例

服务器地址:https://dav.jianguoyun.com/dav/
用户名:你的坚果云账号(邮箱)
密码:应用专用密码

重要

坚果云不支持使用登录密码访问 WebDAV,必须在账户设置 → 安全选项 → 第三方应用管理中生成"应用密码"。

步骤

  1. 登录坚果云网页版
  2. 进入 账户设置 → 安全选项
  3. 找到"第三方应用管理"
  4. 点击"添加应用",输入应用名称(如"说点啥")
  5. 生成的密码即为 WebDAV 密码

使用场景

场景一:手机与电脑间传输文本

  1. 在手机上复制文字到剪贴板
  2. 应用自动上传到服务器
  3. 电脑上的 SyncClipboard 客户端自动同步
  4. 在电脑上直接粘贴

场景二:多部手机间同步

  1. 在手机 A 上复制内容
  2. 手机 B 自动拉取并更新剪贴板
  3. 在手机 B 上直接粘贴

场景三:跨应用快速分享

  1. 在社交应用中复制链接或文本
  2. 切换到其他设备或应用
  3. 直接粘贴,无需手动传输

权限要求

剪贴板同步功能需要以下权限:

  • 网络访问权限:用于连接 SyncClipboard 服务器/后端
  • 读取剪贴板:检测剪贴板变化并读取内容
  • 写入剪贴板:将云端内容同步到本地剪贴板

故障排查

无法连接到服务器

可能原因

  1. 服务器地址配置错误

    • 检查地址是否包含完整的协议(https://http://
    • 检查路径是否正确(如坚果云必须以 /dav/ 结尾)
  2. 用户名或密码错误

    • 坚果云必须使用"应用密码",不能使用登录密码
    • 检查是否有多余的空格
  3. 网络问题

    • 检查设备网络连接
    • 尝试在浏览器中访问配置的地址

上传失败

可能原因

  1. 权限问题:账户没有写入权限
  2. 应用在后台,无法写入粘贴板
  3. 网络超时:网络不稳定或服务器响应慢

解决方法

  • 检查账户权限设置
  • 清理服务器上的旧文件释放空间
  • 切换到更稳定的网络环境

下载不同步

可能原因

  1. 自动拉取未启用:syncClipboardAutoPullEnabledfalse
  2. 拉取间隔过长:设置的间隔时间太长
  3. 应用在后台,无法写入粘贴板

解决方法

  • 启用自动拉取并适当缩短间隔
  • 在系统设置中关闭应用的电池优化
  • 手动触发拉取(点击设置页面的"立即同步"按钮)

Released under the Apache 2.0 License.