logo
0
0
WeChat Login
Forkfromwget/i/synclipboard, behindmain158 commits

Syncnboard - 跨平台剪贴板同步工具

image.png

高效、便捷的跨设备剪贴板同步解决方案

功能特性支持平台安装说明使用指南技术栈


功能特性

  • 📋 剪贴板历史记录 - 自动保存剪贴板内容,支持文本、图片等多种格式
  • 🔄 跨平台同步 - 在 Android、iOS、Windows、macOS、Linux 和 Web 之间无缝同步
  • 快捷选择器 - 通过快捷键快速唤起剪贴板选择面板,提升工作效率
  • 🔍 智能搜索 - 快速搜索历史剪贴板内容
  • 🎯 悬浮球 (Android) - 便捷的悬浮窗操作,无需切换应用
  • 🚀 开机自启 - 支持开机自动启动
  • 🔐 本地存储 - 数据本地加密存储,保护隐私

支持平台

平台状态特性
Android✅ 已支持悬浮球、后台同步、快捷输入
iOS✅ 已支持小组件、快捷指令
Windows✅ 已支持系统托盘、全局快捷键
macOS✅ 已支持系统托盘、全局快捷键
Linux✅ 已支持系统托盘、全局快捷键
Web✅ 已支持PWA 支持、IndexedDB 存储

安装说明

环境要求

  • Flutter SDK ^3.10.0
  • Dart SDK ^3.10.1

构建步骤

# 克隆项目
git clone <repository-url>
cd synclipboard

# 安装依赖
flutter pub get

# 生成图标
dart run flutter_launcher_icons

# 运行应用
flutter run

各平台构建

# Android
flutter build apk
flutter build appbundle

# iOS
flutter build ios

# Windows
flutter build windows

# macOS
flutter build macos

# Linux
flutter build linux

# Web
flutter build web

使用指南

桌面端快捷键

快捷键功能
Ctrl/Cmd + Shift + V打开快速选择器
Ctrl/Cmd + Shift + C复制并保存到历史

Android 悬浮球

  • 开启悬浮窗权限后,可在任意界面使用悬浮球快速访问剪贴板历史
  • 支持拖拽移动位置

设置说明

  1. 服务器配置 - 配置同步服务器地址,实现多设备同步
  2. 历史记录 - 设置保存天数和最大条目数
  3. 外观设置 - 切换主题、调整字体大小
  4. 快捷键 - 自定义快捷键绑定

项目结构

synclipboard/
├── lib/
│   ├── main.dart                 # 应用入口
│   ├── models/                   # 数据模型
│   ├── pages/                    # 页面
│   │   ├── clipboard_list_page.dart    # 剪贴板列表页
│   │   ├── quick_picker_page.dart      # 快速选择器
│   │   └── settings_page.dart          # 设置页
│   ├── providers/                # 状态管理
│   ├── services/                 # 核心服务
│   │   ├── clipboard_service.dart      # 剪贴板服务
│   │   ├── window_service.dart         # 窗口管理
│   │   ├── hotkey_service.dart         # 快捷键服务
│   │   └── floating_window_service.dart # 悬浮窗服务
│   ├── widgets/                  # 自定义组件
│   └── utils/                    # 工具函数
├── android/                      # Android 原生代码
├── ios/                          # iOS 原生代码
├── macos/                        # macOS 原生代码
├── windows/                      # Windows 原生代码
├── linux/                        # Linux 原生代码
├── web/                          # Web 配置
└── assets/                       # 资源文件

技术栈

  • 框架: Flutter
  • 状态管理: Provider
  • 本地存储: SQLite (sqflite)
  • 剪贴板: super_clipboard
  • 窗口管理: window_manager
  • 快捷键: hotkey_manager
  • HTTP 请求: http
  • Deep Link: app_links

依赖说明

主要依赖包:

  • super_clipboard - 跨平台剪贴板操作
  • window_manager - 桌面端窗口管理
  • hotkey_manager - 全局快捷键
  • sqflite - SQLite 数据库
  • provider - 状态管理
  • launch_at_startup - 开机自启

开发计划

  • 文件夹(标签)
  • 端到端加密
  • 团队共享空间
  • AI 智能分类

贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

联系方式

如有问题或建议,欢迎通过以下方式联系:


Made with ❤️ by CNB.COOL

About

基于issue的多平台同步剪切板

Language
Dart50.9%
JavaScript33.5%
Kotlin7.3%
C++4.4%
Others3.9%