什么是 CrossPaste?
CrossPaste 是一个开源的跨设备剪贴板同步工具,让你在 Mac、Windows、Linux 之间无缝共享剪贴板内容。
核心理念: CrossPaste 采用局域网无服务器架构,所有数据都存储在本地,通过端到端加密在设备间同步。无需云端服务器,隐私完全由你掌控。支持文本、颜色、URL、HTML、RTF、图片、文件等多种剪贴板类型。
隐私保护: CrossPaste 不会上传任何数据到云端。所有同步都在局域网内通过加密通道完成,确保你的敏感信息不会被第三方获取。
核心特性
CrossPaste 提供强大而安全的剪贴板同步功能
实时共享
即时在设备间共享剪贴板内容,无缝衔接。复制即同步,无需手动操作,让跨设备工作流变得前所未有的流畅。
统一跨平台
Mac、Windows、Linux 统一界面。无需改变使用习惯,在任何平台上都能获得一致的用户体验。
丰富类型支持
支持多种剪贴板类型:文本、颜色、URL、HTML、RTF、图片、文件。满足各种使用场景的需求。
端到端加密
使用非对称加密全面保护数据安全。每台设备生成独立密钥对,确保只有授权设备能解密数据。
局域网无服务器
本地存储,无服务器架构。所有数据都在本地设备上,通过局域网同步,无需依赖云端服务。隐私保护,完全掌控。
智能空间管理
自动清理选项管理剪贴板存储,无需手动操作。智能识别重复内容,自动清理过期数据,保持系统轻量运行。
支持的平台
CrossPaste 全面支持主流桌面操作系统
| 平台 | 支持版本 | 特性 |
|---|---|---|
| macOS | macOS 10.15+ | 完整支持,原生 Swift 集成,全局快捷键 |
| Windows | Windows 10+ | 完整支持,系统托盘集成,JNA 原生 API |
| Linux | 主流发行版 | 完整支持,X11/Wayland 兼容,系统集成 |
平台特性
- macOS: Xcode 工具集成,Swift 编译的 dylib,原生系统 API
- Windows: JNA 原生访问,系统托盘完整支持,全局快捷键监听
- Linux: X11/Wayland 双重支持,跨发行版兼容,系统集成良好
- 所有平台: 统一的 Compose Multiplatform UI,一致的用户体验
技术架构
基于现代技术栈构建的高性能跨平台应用
Kotlin Multiplatform
使用 Kotlin Multiplatform 构建,共享业务逻辑,平台特定实现。确保代码复用和跨平台一致性。
Compose Multiplatform
基于 Compose Multiplatform 的现代 UI。Material 3 设计,声明式界面,流畅的动画和交互。
SQLite + SQLDelight
SQLite 本地数据库,SQLDelight 类型安全查询。高效的数据存储和检索,支持大量历史记录。
Ktor 网络层
Ktor 客户端/服务器通信,自定义加密协议。mDNS/Bonjour 设备发现,点对点数据传输。
加密与安全
非对称加密保护数据安全。每台设备独立密钥对,端到端加密通信,安全的密钥交换机制。
插件架构
可扩展的剪贴板类型处理器。模块化设计,支持文本、图片、文件等多种类型,易于扩展新类型。
核心模块组织
CrossPaste 采用模块化架构,通过 Koin 进行依赖注入。核心模块包括:
- appModule: 核心应用服务和管理器
- sqlDelightModule: 数据库层和 DAOs
- networkModule: 客户端/服务器网络通信与加密
- securityModule: 加密服务和安全存储
- pasteTypePluginModule: 不同剪贴板数据类型的处理器
- pasteComponentModule: 剪贴板监控和处理
- uiModule: UI 组件和屏幕提供者
- viewModelModule: UI 状态管理的 ViewModels
快速开始
下载安装 CrossPaste,开始跨设备剪贴板同步
安装 CrossPaste
访问 官方下载页面 下载适合你操作系统的安装包。
- macOS: 下载 .dmg 文件,拖动到应用程序文件夹
- Windows: 下载 .exe 或 .msi 安装包,运行安装向导
- Linux: 下载 .deb 或 .rpm 包,使用包管理器安装
开发环境设置
如果你想从源码构建或参与开发,可以按照以下步骤设置开发环境:
# 1. 克隆仓库
git clone https://github.com/CrossPaste/crosspaste-desktop.git
# 2. 进入项目目录
cd crosspaste-desktop
# 3. 编译并运行应用
./gradlew app:run
注意: 首次启动会自动下载 JBR (JetBrains Runtime) 和 Gradle 依赖。如果遇到连接问题,可能需要配置代理。详见项目 README。
构建命令
# 运行应用
./gradlew app:run
# 构建项目
./gradlew build
# 运行测试
./gradlew test
# 代码格式化
./gradlew ktlintFormat
# 代码风格检查
./gradlew ktlintCheck
# 运行单个测试
./gradlew test --tests "ClassName.testMethodName"
使用场景
CrossPaste 让跨设备工作变得轻松高效
多设备办公
在不同设备间无缝切换工作。在笔记本上复制代码,在台式机上粘贴;在手机上复制链接,在电脑上打开。
开发协作
团队成员间快速共享代码片段、配置文件、日志信息。无需通过聊天工具,直接剪贴板同步。
内容创作
在不同设备上编辑文档。在平板上记录灵感,在电脑上整理成文;在手机上拍照,在电脑上编辑。
设计工作流
在设计软件间同步颜色值、图片素材。在 Figma 中复制颜色代码,在 Photoshop 中直接使用。
链接管理
收集和整理网页链接。在手机上浏览时复制链接,在电脑上统一处理。支持 URL 类型识别和自动分类。
文件传输
小文件快速传输。截图、文档、配置文件,通过剪贴板即时在设备间传输,比网盘更快捷。
技术栈
CrossPaste 使用的现代化技术和工具
开发路线图
CrossPaste 持续演进,计划添加更多实用功能
近期计划: CrossPaste 正在积极开发中,以下是我们的近期开发计划:
- v1.3.0: 支持原生剪贴板,提升剪贴板性能
- v1.4.0: 引入命令行模式,支持脚本自动化
这只是我们计划的一小部分。想了解更多详情和长期计划?查看我们的 完整路线图。
支持项目
有多种方式可以支持 CrossPaste 的发展
Star 仓库
这是支持 CrossPaste 最简单的方式,完全免费。在 GitHub 上给项目一个 Star,帮助更多人发现它。
报告 Bug
在 issue tracker 上报告你发现的任何 bug。详细的错误报告帮助我们快速定位和修复问题。
翻译
帮助翻译和完善 CrossPaste 的语言支持。让更多国家和地区的用户能够使用本地化界面。
贡献代码
贡献代码、评论 issues,任何能帮助项目的贡献都欢迎。查看 Contributing.md 了解如何开始。
赞助
通过 GitHub Sponsors 进行财务支持,帮助项目持续开发和维护。你的支持让 CrossPaste 更好。
分享
在社交媒体、技术社区分享 CrossPaste。让更多人了解这个工具,帮助他们提升工作效率。