ClipCascade Go (Server)

Chaoleme · Chaoleme.ClipCascadeGo.Server

ClipCascade, a cross-platform and cross-device clipboard synchronization tool, is remastered in Go language

A cross-platform clipboard synchronization tool designed for multi-device collaboration. The goal is not to "rebuild another chat tool," but to make cross-device copy-pasting as seamless as a local experience. Project Introduction In daily development and office scenarios, Mac, Windows, Linux, and Android are often used interchangeably. Transferring text, screenshots, and files between different devices often encounters these issues: - Need to manually open intermediate tools, interrupting the workflow. - Large differences in clipboard behavior across platforms, leading to inconsistent experiences. - File transfer is either too heavy or too slow, and difficult to manage uniformly. ClipCascade is positioned as a clipboard-centric, self-deployable, extensible, and cross-platform synchronization system. Core Capabilities - Text Sync: Real-time synchronization to online devices after copying. - Image Sync: Cross-platform transfer of image clipboard content. - File Sync: Supports a tiered strategy of direct transfer for small files and placeholder notifications for large files. - Transfer Channels: Supports STOMP (server-relayed) + P2P (peer-to-peer) dual channels. - Security: Supports E2EE (End-to-End Encryption) toggle. - Auto-Discovery: Automatic discovery of service addresses via mDNS in local networks. - Multi-User Management: Administrators can add users directly from the Web page. - Android Native Persistence: Foreground services + accessibility triggers + permission guidance. - Clipboard History: Mobile version supports viewing and re-filling historical records.

winget install --id Chaoleme.ClipCascadeGo.Server --exact --source winget

Latest 1.13

Release Notes

ClipCascade v1.13 - Android 接收稳定性与移动端同步体验大更新 发布说明 本次更新重点修复 Android 端在多设备剪贴板同步时出现的接收异常、历史记录延迟刷新、频繁登录和手动重连体验不清晰等问题。 此前在 Windows、macOS、Android 三端同时在线时,Android 端可能出现:

  1. 连续复制多条内容时,手机端只收到部分内容
  2. 手机端看起来像每隔数秒才同步一次
  3. 服务端日志频繁出现 Android 触发的 /login
  4. 历史记录依赖 1.5 秒轮询刷新,收到内容后不够实时
  5. “启动同步服务”按钮在已连接状态下作用不明确 修复内容 [fix] Android 端接收回调切换到主线程处理
  • client-android-native-shell/android/app/src/main/java/com/clipcascade/android/ClipCascadeBackgroundService.kt
  • Go WebSocket 读线程不再直接操作 Android 悬浮窗、系统剪贴板和历史记录
  • 收到文本消息后通过 Handler(Looper.getMainLooper()) 切回主线程写入系统剪贴板
  • 避免 WebSocket 读循环被 Android 剪贴板写入流程阻塞,改善连续复制时的漏收和延迟表现 [fix] Android 历史记录改为事件驱动刷新
  • 新增 ACTION_HISTORY_CHANGED 广播
  • 后台服务写入发送/接收历史后立即通知主界面刷新
  • 移除原来的 1.5 秒历史轮询刷新
  • 收到剪贴板更新后,历史列表能更实时显示,不再依赖定时器 [fix] Android 大文件列表 API 会话复用
  • 新增 ApiSessionManager
  • 大文件列表刷新、请求下载、文件下载复用同一 API session cookie
  • 只有遇到 401/403 时才清理 cookie 并重新登录
  • 避免大文件页轮询导致服务端日志持续出现 Android /login [fix] Android 大文件轮询只在大文件页生效
  • 大文件列表刷新循环只在“大文件”标签页可见时请求服务端
  • 停留在普通剪贴板历史页时不再每 8 秒请求 /api/files/deferred
  • 降低服务端日志噪声和移动端无意义网络请求 [ux] “启动同步服务”改为“重连同步服务”
  • 按钮现在会先停止旧后台服务,再重新启动同步服务
  • 已连接但状态异常时,可以手动重建 WebSocket 连接和后台服务
  • 按钮行为更符合实际用途,不再只是重复启动已运行的 service [test] 增加 Android API session 回归测试
  • 覆盖同账号复用 cookie
  • 覆盖 401/403 后重新登录
  • 覆盖服务器或账号配置变化后重新登录 影响范围
  • Android 原生客户端:重点修复接收异常、历史刷新和重连体验
  • Windows 桌面端:无需改动,但连续复制到 Android 的稳定性受益
  • macOS 桌面端:无需改动,但连续复制到 Android 的稳定性受益
  • 服务端:无需协议改动,减少 Android 客户端重复登录请求 编译验证 cd client-android-native-shell/android ./gradlew :app:testDebugUnitTest :app:compileDebugKotlin

cd ../../../client-desktop go test ./...

记录人:Codex

Installer type: portable

Architecture Scope Download SHA256
x64 Download 712EF07DC5D9C93804A189D7E1C6D0DFAE9A9983E979D468FB60B9F6C3C3BBCB

Details

Homepage
https://github.com/Chaoleme/ClipCascade_go
License
Apache-2.0
Publisher
Chaoleme
Support
https://github.com/Chaoleme/ClipCascade_go/issues

Tags

clipboard

Older versions (5)

1.12
Architecture Scope Download SHA256
x64 Download FB19E3F52ADAE60A5BB6C1D87DF649FE3B6298BEB7A1654BD7E4E9EA04777211
1.11
Architecture Scope Download SHA256
x64 Download 043CB99B90E63DDBA98D4D66D0889F624122E5E1EE78ADF0F5665D2741DCD9B9
1.10
Architecture Scope Download SHA256
x64 Download FD47B26BC7A9D296F27684AEEA6FFF2B15FF3F97469708306FE27E906E01D8B5
1.9
Architecture Scope Download SHA256
x64 Download BE9D1520AE97DD4DABEE35AA4A109F07D2A75425A078EC1F7FA49C16272945AE
1.8
Architecture Scope Download SHA256
x64 Download 77F151B3C06FC93B7C48639D818786BDFE67719DCDD911382576355A2A2A1B00