Skip to content

ClipSync v3.0.0 — Major Sync & Performance Update

Latest

Choose a tag to compare

@WinShell-Bhanu WinShell-Bhanu released this 18 Aug 09:55
· 3 commits to main since this release
50fba3a

Changelog

v3.0.0

Major Features & Architectural Changes

  • Dual Sync Modes (Local LAN/BLE & Cloud): Shifted the core architecture to prioritize completely offline, local transfers using Bluetooth Low Energy (BLE) and Local Area Network (LAN). The legacy Firebase Cloud Sync has been fully retained as an alternative. Users can now seamlessly toggle between two distinct sync options tailored for maximum privacy/speed (Local) or global connectivity (Cloud).

  • macOS: Leverages Apple's Network.framework (NWListener) and Bonjour/mDNS (NWListener.Service) to advertise the sync service on the local subnet.

  • Android: Binds a raw ServerSocket to an ephemeral port via AndroidTcpReceiver for high-throughput TCP socket connections, handling large file transfers securely without external servers.

  • Cross-Device Image Sync: Upgraded the clipboard pipeline to seamlessly serialize and synchronize rich media (images) alongside standard text and OTPs.

  • Dedicated Mode: Ultra-Fast Transfer: Introduced a dedicated mode designed for maximum throughput. It bypasses JVM boundaries on Android and actively strips AES-256 encryption on macOS to match or exceed AirDrop speeds for large file transfers.

    [!CAUTION]
    Security Trade-off: Because this mode achieves blazing-fast speeds by completely removing payload encryption, it is strictly recommended to enable this mode only on trusted private or home networks.

  • Automated OTP Sync & Global Connectivity

    • Added intelligent parsing of incoming SMS/Notifications to extract One-Time Passwords.

    • BLE & Cloud Fallback Architecture: When devices are in proximity and Bluetooth Low Energy (BLE) is enabled, sync operates directly and instantly over BLE. If BLE is unavailable and the app is in Cloud Sync mode, the pipeline falls back to using Firebase Firestore as a secure cloud relay—ensuring text and OTPs sync seamlessly even when devices are on entirely different networks (e.g., Mobile Data vs. Wi-Fi).

Security & Privacy Hardening

  • Hardware-Backed Encrypted Storage
    • macOS: Migrated AES-GCM shared keys from legacy UserDefaults to the secure macOS Keychain via a custom KeychainHelper.swift. Included an idempotent migration path on app startup.
    • Android: Secured AES session keys utilizing EncryptedSharedPreferences backed by the Android hardware Keystore.
  • Network Traffic Constraints
    • Enforced strict TLS/HTTPS globally by removing the android:usesCleartextTraffic=true directive from the AndroidManifest.xml.
    • Validated Firebase Cloud Messaging (FCM) push notification URLs strictly against an internal domain allowlist to prevent arbitrary code execution or redirection.
  • Least-Privilege Accessibility
    • Refined accessibility_service_config.xml and manifest declarations to request only the exact interaction events required, preventing over-broad system monitoring.

Bug Fixes & Reliability

  • Robust Encryption Fallbacks
    • Addressed an edge case where a plaintext fallback during an encryption failure resulted in silent decryption errors on the receiving client (dropped clips).
    • Introduced an explicit isEncrypted boolean flag within Firestore documents to correctly branch decryption logic on macOS.