Lightweight native Android clipboard sync client for ClipCascade servers. Pure Kotlin, zero third-party runtime dependencies, sub-10MB memory footprint.
- Text only - Remove Image and File sharing support.
- P2S only - Remove P2P mode Support.
- Xposed Background Clipboard read support - can read clipboard in backgroound via xposed.
ClipboardManager ──► ClipboardSources ──► TextSyncEngine ──► StompClient ──► RawWebSocketClient
│ │
Xposed Hook AES-256-GCM
(system_server) encrypt/decrypt
- ClipboardSources — dual-path monitoring:
ClipboardManager.OnPrimaryClipChangedListener(foreground) + logcat trigger (background) - TextSyncEngine — deduplication (FNV1a-64), size-limit enforcement, AES-256-GCM, exponential backoff reconnect
- StompClient / RawWebSocketClient — STOMP 1.0 over raw
java.net.Socket/SSLSocketFactory, zero external dependencies - Xposed module — hooks
ClipboardService.isDefaultImeinsystem_serverfor background clipboard access
- Android 8.0+ (API 26)
- LSPosed with API 102+ support (for Xposed module)
- ClipCascade server (P2S mode)
export ANDROID_HOME=/path/to/android/sdk
./gradlew assembleReleaseSign with your own keystore:
apksigner sign --ks your-key.jks --out app-release.apk app/build/outputs/apk/release/app-release-unsigned.apkThe APK doubles as an LSPosed module:
- Enable the module in LSPosed Manager
- Reboot
| Setting | Default | Description |
|---|---|---|
| Server URL | http://localhost:8080 |
ClipCascade server address |
| Hash rounds | 664937 |
PBKDF2 iterations |
| Encryption salt | (empty) | PBKDF2 salt suffix |
| Local max bytes | 512000 |
Max clipboard payload |
| Enable encryption | On | AES-256-GCM |
| Save password | Off | Stores SHA3-512 hash only |
| Relaunch on boot | Off | Auto-start after reboot |
| Status notifications | Off | Notify on disconnect |
GNU General Public License v3.0 — see LICENSE.
TextCascade Android — Native clipboard sync client for ClipCascade Copyright (C) 2026 Manet Kirby
This project also references logic from Clipboard Whitelist for Xposed-based clipboard access.
This project is a Kotlin-based native Android client for ClipCascade, originally created by Sathvik-Rao.
Both projects are licensed under the GNU General Public License v3.0.