Published on crates.io

India's AirDrop
for the Terminal

Sovereign P2P file & text sharing. No servers, no accounts, no cloud. Encrypted with QUIC + TLS 1.3. Works across networks.

terminal
# Install (macOS/Linux) — no Rust needed
$ curl -fsSL https://rohitsainier.github.io/pages/bharatlink/install.sh | sh
cargo install bharatlink brew install rohitsainier/tap/bharatlink
0
Servers
E2E
Encrypted
QUIC
Protocol
<1s
LAN Discovery
5
Platforms
Features

Everything you need. Nothing you don't.

BharatLink is a single binary with zero dependencies. No daemon, no config files, no accounts. Just install and share.

📡

Zero-Config Discovery

mDNS finds peers on your LAN automatically. No IP addresses, no port forwarding, no setup.

🌐

Cross-Network

Works across different WiFi networks, NATs, and firewalls via QUIC relay fallback. Same command, any network.

🔒

Always Encrypted

QUIC + TLS 1.3 on every connection. Ed25519 identity keys. BLAKE3-verified file chunks. No option to turn it off.

Content Deduplication

iroh-blobs stores files as BLAKE3 chunks. Send the same file twice — the second transfer is instant (zero bandwidth).

💬

Text & File Sharing

Send files, text messages, clipboard content — all through the same peer connection. Interactive daemon or one-shot mode.

🖥️

GUI + CLI + Library

Full chat UI in Flux Terminal, standalone CLI for servers & scripts, and a Rust library to embed in your own app.

🔄

Resumable Transfers

iroh-blobs supports chunked, resumable downloads. Connection dropped? Pick up right where you left off.

👥

Trust System

Trust peers by their public key. Auto-accept transfers from trusted peers. Reject everyone else.

📦

Single Binary

One static binary, ~15MB. No runtime dependencies. Install with one command. Works on macOS, Linux, and Windows.

How It Works

Two terminals. That's it.

Start a node, trust a peer, send a file. No accounts, no logins, no cloud dashboards.

Terminal 1 — Receiver
$ bharatlink start
✅ BharatLink Node Started
─────────────────────────────────
Node ID: a1b2c3d4e5f6...
Local: 192.168.1.42:53135
─────────────────────────────────
 
bharatlink> Waiting for connections...
↓ Received photo.jpg 3.2 MB
✅ Saved to ~/Downloads/photo.jpg
Terminal 2 — Sender
$ bharatlink trust a1b2c3d4 "Friend"
✅ Trusted a1b2c3d4 as "Friend"
 
$ bharatlink send file a1b2c3d4 ./photo.jpg
📤 Sending photo.jpg to a1b2c3d4...
████████████████████████████ 100% 3.2 MB
✅ File sent successfully
1

Install

One command. No Rust required. Pre-built binaries for macOS, Linux, and Windows.

curl -fsSL ...install.sh | sh
2

Start your node

Run bharatlink start to fire up your P2P node. It prints your Node ID — share it with your friend.

3

Trust each other

Run bharatlink trust <id> "Name" on both machines. This creates a mutual trust relationship.

4

Send anything

Files, text, clipboard — all encrypted, all direct. Use send file or send text from the interactive prompt.

5

Or use the GUI

BharatLink is built into Flux Terminal with a full chat UI, drag & drop, image previews, read receipts, and more.

Compare

How BharatLink stacks up

Built for developers who want privacy, speed, and zero friction.

Feature
BharatLink
LocalSend
croc
AirDrop
No servers required
Cross-network (WAN)
CLI tool
GUI app
Embeddable library
Content deduplication
Resumable transfers
Text messaging
~
~
Trust system
Cross-platform
Security

Encrypted by default. No option to turn it off.

Every connection, every byte, every time. BharatLink was built with security as a non-negotiable.

🔐

QUIC + TLS 1.3

All connections use QUIC transport with mandatory TLS 1.3 encryption. There is no unencrypted mode.

🧬

BLAKE3 Verification

Every file chunk is hash-verified with BLAKE3. Corruption or tampering is mathematically impossible.

🔑

Ed25519 Identity

Each node has a unique Ed25519 keypair. Your identity is your public key — no usernames, no passwords, no accounts.

🚫

Zero Servers

Data never touches any cloud. Direct peer-to-peer only. Relay servers facilitate connection setup but never see your data.

Start sharing in 10 seconds

One command. No account. No cloud. Just pure P2P.

View on GitHub →