ditto-sync 是一个 Windows 剪贴板历史管理器,保存剪贴板中的文本、图片、HTML 和其他格式,并提供自托管同步与邮件导出功能。
当前发布版本:1.0.1
- 本地保存和检索剪贴板历史
- 文本、图片、HTML 和自定义剪贴板格式
- Office 本地复制兼容:Excel/Word 等在文本选择中附带 CF_DIB 时默认跳过该位图格式,避免干扰原生带样式和多单元格 Ctrl+C/Ctrl+V
- 云同步按一条剪贴记录捆绑传输全部允许格式,并过滤本机回显,避免多客户端在线时把原生 Office 剪贴板降级为纯文本
- Cloudflare Worker 信令服务
- P2P 直连与 WebSocket 中继混合同步
- 多设备同步,支持大图片分片传输
- 邮件导出剪贴板记录
- 按最近 N 条或时间范围导出
- 文本与图片按剪贴板记录顺序嵌入邮件正文
- 图片使用 PNG 或 BMP 内嵌资源,不依赖外部服务器
以下截图使用空白配置,仅用于展示界面布局。截图中没有生产服务器地址、邮箱地址、账号、密码或配对码。
Worker 代码位于 cloudflare-worker/。发布仓库不保存任何生产 Worker 地址、部署账号或访问凭据。
cd cloudflare-worker
wrangler deploy
部署后,在 ditto-sync 的 Cloud Sync 设置页填写你自己的 Worker 地址和同步房间/配对码。
在 Mail 设置页填写你自己的 SMTP 服务器、端口、SSL、发件账号、密码和收件地址,然后选择:
- 最近 N 条
- 最近 1 小时
- 最近 1 天
- 最近 1 周
- 最近 1 月
- 最近 1 年
邮件正文会按照剪贴板记录顺序显示文本,并通过 Content-ID 将图片嵌入对应记录位置。
项目使用 Visual Studio 的 MSBuild 和 MFC。Release x64 构建示例:
msbuild CP_Main_10.sln /t:CP_Main /p:Configuration=Release /p:Platform=x64请勿把真实 SMTP 密码、Worker 地址、部署账号、私有 IP、访问令牌或测试凭据提交到仓库。生产配置应仅保存在本机设置或部署平台的密钥存储中。
Ditto 的原始许可证文件保留在 LICENSE。ditto-sync 的新增代码和配置遵循该项目的许可证要求。

