KEIBIDROP

Encrypted peer-to-peer file sharing. Two devices connect directly and exchange files over an encrypted channel. Works over the internet or a local network. Open source.

KeibiDrop connection screen
Exchange codes to establish an encrypted connection

Two Modes

KEIBIDROP has two modes of operation. In direct transfer mode, you drag files into the app and your peer saves what they need. In virtual folder mode, your peer's files appear as a regular folder on your machine (via FUSE on macOS/Linux, WinFsp on Windows). Both modes are end-to-end encrypted.

KeibiDrop direct transfer mode
Direct transfer: drag files in, peer saves them
KeibiDrop virtual filesystem mode
Virtual folder: peer files mounted as a local directory

It Behaves Like a Real Folder

The virtual folder mount is a standard POSIX filesystem. Finder, Terminal, git, rsync, your IDE, all work on it. You can git clone a repository into the shared folder and your peer can run git log on their side.

Shared files in macOS Finder
Peer's files visible in Finder
Git operations on the FUSE mount
git clone, git log, git status on the shared mount

Browse Folders From Your Peer

In direct transfer mode, directories sent by your peer show up as navigable folders. You can drill into them and save individual files or the entire directory.

Browsing a git repo in KeibiDrop
Navigating a git repository received from a peer

What It Does

Any file size

There is no upload limit. 5 KB config files and 500 GB database dumps both work. Transfers resume on reconnect.

Post-quantum encryption

ML-KEM-1024 + X25519 hybrid key exchange. AES-256-GCM or ChaCha20-Poly1305 for data. The relay cannot decrypt anything.

Direct connection

Files travel directly between devices. There is no upload-then-download step. On a local network, it saturates gigabit ethernet.

Zero setup

Open the app, exchange a code, connect. There are no accounts and no email verification.

Internet and LAN

On the same WiFi, devices discover each other via mDNS. Over the internet, they connect through an encrypted bridge relay.

Ephemeral identity

A new cryptographic fingerprint is generated on each startup. Keys rotate on disconnect. Previous sessions cannot be linked to new ones.

Who Uses It

Developers and sysadmins

CLI and agent interfaces. Script it, automate it, embed it in CI. JSON output, Unix sockets, C FFI.

Security professionals

Post-quantum crypto, ephemeral keys, zero-knowledge relay. The code is auditable under MPL-2.0.

Remote teams

Legal documents, source code, medical records. Transfer sensitive files without trusting a third party.

Regular people

Send photos, videos, project folders to a friend. Open the app, exchange codes, drag files in.

Connection modes. On the same LAN, peers find each other via mDNS and connect directly. Over the internet with IPv6, peers connect directly using globally routable addresses. When direct connection is not possible (NAT, IPv4-only), peers connect through a bridge relay that forwards encrypted traffic. The relay cannot read the data.

*A signaling relay exchanges ephemeral public keys so peers can find each other. When peers cannot connect directly, a bridge relay forwards encrypted traffic between them. Neither relay can read the data: all traffic is encrypted end-to-end with keys derived from the fingerprint exchange.

How It Works

  1. Start KEIBIDROP on both devices

    Each device generates a unique cryptographic fingerprint. This is your identity for the session.

  2. Exchange codes

    Copy your code and send it to your peer over Signal, email, a sticky note. They paste yours, you paste theirs.

  3. Connect

    One peer creates a room, the other joins. On LAN, toggle local mode and skip codes entirely. The post-quantum handshake completes in under 3ms.

  4. Share files

    Drag files into the window, use the CLI, or open the virtual folder. Files appear on the other side in real time.

More Screenshots

FUSE mode: shared files as a virtual folder

FUSE connected view FUSE file browser FUSE with multiple files

Direct transfer mode: drag, drop, save

Direct transfer view Transfer in progress Completed transfers

Three Interfaces

Desktop GUI

Rust + Slint native UI. Drag and drop, progress bars, file type icons. macOS, Linux, Windows.

Interactive CLI

Terminal REPL with a prompt. Type commands, see results. For people who live in the terminal.

Agent CLI (kd)

Non-interactive daemon with JSON output over Unix socket. Built for AI agents and automation scripts.

Interactive CLI

KeibiDrop interactive CLI session
Interactive CLI: register peer, create room, share files

All three interfaces support FUSE (virtual folder) and direct transfer (explicit add/pull commands).

Under The Hood

ML-KEM-1024 NIST post-quantum standard (Kyber). Lattice-based key encapsulation. Go 1.24 standard library.
X25519 Classical elliptic curve, combined with ML-KEM in a hybrid scheme for defense in depth.
ChaCha20-Poly1305 Authenticated encryption for all file data and control messages.
gRPC over encrypted TCP Type-safe Protocol Buffers. Custom transport credentials. Direct P2P, no certificate authorities.
FUSE filesystem Mounts as a real folder. Open files in any app. macFUSE, WinFsp, fuse3.
IPv6 direct P2P Global unicast addresses. No STUN/TURN. No NAT traversal needed.

Built with

~11,000 lines of Go, ~5,000 lines of tests.

Privacy

KEIBIDROP sends no analytics, no crash reports, no usage data. Identity is a cryptographic key pair generated locally. Keys rotate on every disconnect; your fingerprint changes and previous sessions cannot be linked to new ones.

The signaling relay exchanges ephemeral public keys between peers. It stores encrypted blobs it cannot decrypt, indexed by a lookup token derived from the fingerprint (not the fingerprint itself). It cannot correlate registrations. When direct connection is not possible, a bridge relay forwards encrypted traffic using outbound connections from both peers. The bridge cannot decrypt the data.

Session keys are rekeyed automatically after 1 GB of data or 1 million messages. If a key is compromised, only a fraction of the session is exposed. The full codebase is auditable under MPL-2.0.

Get Started

Interactive CLI

# Terminal 1 (Alice)
export KEIBIDROP_RELAY=https://keibidroprelay.keibisoft.com
export TO_SAVE_PATH=./SaveAlice TO_MOUNT_PATH=./MountAlice
./keibidrop-cli

keibidrop> register <Bob's fingerprint>
keibidrop> create
keibidrop> add /path/to/file.pdf
# Terminal 2 (Bob)
export KEIBIDROP_RELAY=https://keibidroprelay.keibisoft.com
export TO_SAVE_PATH=./SaveBob TO_MOUNT_PATH=./MountBob
./keibidrop-cli

keibidrop> register <Alice's fingerprint>
keibidrop> join
keibidrop> list
keibidrop> pull file.pdf ./SaveBob/file.pdf

Agent CLI (kd)

The kd tool runs as a background daemon. All commands return JSON. Designed for AI agents (Claude Code, etc.) and automation scripts.

# Start daemon (FUSE mode recommended for agents)
KD_SAVE_PATH=./saved KD_MOUNT_PATH=./mount \
  KD_SOCKET=/tmp/kd.sock ./kd start

# Exchange fingerprints and connect
./kd show fingerprint
./kd register <peer-fp>
./kd create

# After connecting, the mount path is a live synced folder
ls ./mount/
cat ./mount/readme.txt
cp ./myfile.pdf ./mount/

# Cleanup
./kd disconnect
./kd stop

Full reference: Agent Integration Guide

Desktop GUI (Rust + Slint)

export NO_FUSE=1  # omit for FUSE mode
export TO_SAVE_PATH=./SaveAlice TO_MOUNT_PATH=./MountAlice
./keibidrop-rust

FFI (embed in your app)

KEIBIDROP compiles to a C static library (libkeibidrop.a + libkeibidrop.h). Call from Rust, Swift, Python, or any language with C FFI.

KD_Initialize(relay, inbound, outbound, mount, save, fuse, prefetch, push);
KD_AddPeerFingerprint(peer_fp);
KD_CreateRoom();
KD_AddFile("/path/to/file.pdf");
KD_SaveFileByName("file.pdf", "/save/path/file.pdf");

The KEIBIDROP Blog Series

Open Source

KEIBIDROP is free and open source under the Mozilla Public License 2.0. The source code is available for inspection, cryptographic audit, and building from source.

GitHub Repository keibidrop.com FAQ Compare Enterprise Inquiries

Commercial licensing, priority support, custom integrations, and private relay hosting available for organizations.