Connected is a high-speed, offline, cross-platform ecosystem that bridges the gap between your devices. Built with Rust and Jetpack Compose, it aims to outperform proprietary solutions like AirDrop by utilizing cutting-edge technologies like BLE (Bluetooth Low Energy) for instant discovery and QUIC/Wi-Fi Direct for saturating data transfer speeds.
Currently available for Linux, Windows, and Android.
- Cross-Platform: Seamlessly transfer files, sync clipboards, make and answer calls, and control media between Android, Linux, and Windows devices.
- Offline Functionality: You can also use it without an internet connection. Uses Wi-Fi Direct and Local Network.
- High Speed: Powered by the QUIC protocol.
- Zero Config: Auto-discovery via mDNS and BLE.
- Secure: End-to-end encryption for all transfers.
- Modern UI: Beautiful, responsive interfaces using Jetpack Compose (Android) and Tailwind CSS (Desktop).
In a world of walled gardens, connecting devices shouldn't be a hassle.
- Apple AirDrop and Apple Ecosystem in General: Works like magic, but only if you stay strictly within the Evil Apple ecosystem.
- KDE Connect: It's the only alternative, it doesn't even work properly and also you can't use it without a shared Wi-Fi network.
Connected cuts through the fragmentation. It brings the "it just works" magical experience to the open ecosystem.
- Protocol Superiority: We use QUIC (via
quinn), the same protocol powering HTTP/3. This ensures lower latency, better congestion control, and faster connection setup compared to the TCP connections used by legacy transfer tools. - True Offline Freedom: While many apps require a shared Router/Access Point, Connected is designed to leverage Wi-Fi Direct. This allows devices to negotiate their own high-speed link anywhere—on a train, in a park, or in an air-gapped office.
- Rust-Powered Reliability: The core logic is written in Rust, guaranteeing memory safety, high performance, and a minimal resource footprint. The desktop client is native and blazingly fast, avoiding the bloat of Electron.
- Privacy by Design: Your data never leaves your local link. End-to-end encryption is mandatory, ensuring your personal files remain personal.
| Home | Settings |
|---|---|
![]() |
![]() |
We provide automated setup scripts and task runners for consistent development environments:
# Clone the repository
git clone https://github.com/paterkleomenis/connected.git
cd connected
# Run automated setup (installs all tools and hooks)
./scripts/setup-dev.sh
# See all available tasks
just- Rust (stable): Install Rust
- just: Task runner (
cargo install just) - pre-commit: Git hooks (
pip install pre-commit)
# Format all code
just fmt
# Run linters (rustfmt, clippy, typos)
just lint
# Run tests
just test
# Full CI simulation
just ci
# Run desktop application
just run-desktop- Enable Developer Options on your Android device.
- Connect your device via USB.
- From Android Studio select the
android/directory
Requirements:
- Rust (stable)
libasound2-dev,libudev-dev,libdbus-1-dev,pkg-config
-
Clone the repository:
git clone https://github.com/paterkleomenis/connected.git cd connected -
Run the desktop application:
cargo run -p connected-desktop
-
Rust: Install Rust
-
Android Studio: For Android development (SDK 34+ required).
-
Cargo NDK: Required for building the shared library for Android.
cargo install cargo-ndk
core/: Shared Rust logic (networking, discovery, encryption).desktop/: Desktop application (Linux/Windows) (Rust + Tauri-like WebView/UI logic).android/: Native Android application (Kotlin + Jetpack Compose).ffi/: UniFFI bindings to expose the Rustcoreto Kotlin.
Contributions are welcome! Please read our Contributing Guide for details on code quality standards, commit message conventions, and the pull request process.
Quick start:
- Fork the repo.
- Run
./scripts/setup-dev.shto set up the development environment. - Create your feature branch (
git checkout -b feature/amazing-feature). - Make changes and ensure
just cipasses. - Commit your changes (
git commit -m 'feat(scope): description'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.










