什么是 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 包,使用包管理器安装

开发环境设置

如果你想从源码构建或参与开发,可以按照以下步骤设置开发环境:

💻 Bash
# 1. 克隆仓库
git clone https://github.com/CrossPaste/crosspaste-desktop.git

# 2. 进入项目目录
cd crosspaste-desktop

# 3. 编译并运行应用
./gradlew app:run

注意: 首次启动会自动下载 JBR (JetBrains Runtime) 和 Gradle 依赖。如果遇到连接问题,可能需要配置代理。详见项目 README。

构建命令

💻 Bash
# 运行应用
./gradlew app:run

# 构建项目
./gradlew build

# 运行测试
./gradlew test

# 代码格式化
./gradlew ktlintFormat

# 代码风格检查
./gradlew ktlintCheck

# 运行单个测试
./gradlew test --tests "ClassName.testMethodName"

使用场景

CrossPaste 让跨设备工作变得轻松高效

💼

多设备办公

在不同设备间无缝切换工作。在笔记本上复制代码,在台式机上粘贴;在手机上复制链接,在电脑上打开。

👨‍💻

开发协作

团队成员间快速共享代码片段、配置文件、日志信息。无需通过聊天工具,直接剪贴板同步。

📝

内容创作

在不同设备上编辑文档。在平板上记录灵感,在电脑上整理成文;在手机上拍照,在电脑上编辑。

🎨

设计工作流

在设计软件间同步颜色值、图片素材。在 Figma 中复制颜色代码,在 Photoshop 中直接使用。

🔗

链接管理

收集和整理网页链接。在手机上浏览时复制链接,在电脑上统一处理。支持 URL 类型识别和自动分类。

📁

文件传输

小文件快速传输。截图、文档、配置文件,通过剪贴板即时在设备间传输,比网盘更快捷。

技术栈

CrossPaste 使用的现代化技术和工具

Kotlin Multiplatform Compose Multiplatform Material 3 SQLite SQLDelight Ktor Koin (DI) Coroutines JBR (JetBrains Runtime) Gradle mDNS/Bonjour Asymmetric Encryption Swift (macOS) JNA (Windows/Linux)

开发路线图

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。让更多人了解这个工具,帮助他们提升工作效率。