DEV Community

Cover image for I built a peer-to-peer file transfer tool with post-quantum encryption
Marius-Florin Cristian
Marius-Florin Cristian

Posted on

I built a peer-to-peer file transfer tool with post-quantum encryption

KEIBIDROP is in active development. Release is coming soon.

I've been building KEIBIDROP for the past year. It's a file sharing tool where files go directly from one computer to another. No cloud, no accounts, no middleman.

What it does

Two people run KEIBIDROP, exchange a short code over Signal or Telegram, and connect. Both sides can browse each other's shared files in real time. With FUSE mode, the peer's files show up as a virtual folder in your file manager. You can open, copy, and read files as if they were local.

The connection is encrypted with ChaCha20-Poly1305 over a hybrid ML-KEM + X25519 key exchange. ML-KEM is the NIST post-quantum standard (formerly Kyber). If quantum computers eventually break classical crypto, sessions established today are still protected.

How it's different from existing tools

WeTransfer and Dropbox upload your files to their servers. AirDrop only works between Apple devices. croc and magic-wormhole are one-shot transfers. Syncthing is for background sync across your own devices.

KeibiDrop is for two people who want to share files right now, see each other's files live, and not trust a third party with their data. Full comparison: KEIBIDROP vs alternatives

The stack

  • Go 1.24 for backend, networking, cryptography, FUSE
  • Rust + Slint for the native desktop GUI (no Electron, 20MB binary)
  • gRPC + Protocol Buffers for peer communication
  • cgofuse for cross-platform FUSE (macOS, Linux, Windows)
  • ~11,000 lines of Go, ~5,000 lines of tests

Three interfaces

Desktop GUI for drag-and-drop. Interactive CLI for terminal users. Agent CLI (kd) with JSON output over Unix socket, built for AI agents and automation.

IPv6 only (for now)

Both peers need IPv6. This keeps the design simple and avoids leaking IP metadata to STUN/TURN servers. Most ISPs support IPv6 today. NAT traversal for IPv4 is planned.

Links

Free and open source under MPL 2.0.

Top comments (0)