We made KEIBIDROP's source code public on April 22. Today we tagged v0.1.0 with downloadable binaries for macOS (arm64 + x86_64), Linux, and Windows. You can get it from GitHub Releases, Homebrew, or build from source.
# macOS
brew tap keibisoft/keibidrop
brew install keibidrop
# Linux (Debian/Ubuntu)
wget https://github.com/KeibiSoft/KeibiDrop/releases/download/v0.1.0/keibidrop_0.1.0_amd64.deb
sudo dpkg -i keibidrop_0.1.0_amd64.deb
# Windows
# Download .zip from GitHub Releases
# Build from source
git clone https://github.com/KeibiSoft/KeibiDrop.git
cd KeibiDrop && make build-kd
What KEIBIDROP does
Two computers exchange fingerprints. They connect, either directly over IPv6 or through an encrypted bridge relay when firewalls are in the way. Files on one machine appear on the other in real time through a virtual folder (FUSE). The relay cannot read the data. There are no accounts, no cloud storage, no registration.
The encryption is post-quantum: ML-KEM-1024 combined with X25519 for the key exchange, AES-256-GCM or ChaCha20-Poly1305 for the data channel, negotiated based on hardware AES support. Keys rotate after 1 million messages or 1 GB for forward secrecy.
What is in this release
Three interfaces: a desktop UI built with Rust and Slint, an interactive CLI (keibidrop-cli), and a non-interactive daemon (kd) designed for scripts and AI agents. All output from kd is JSON.
The FUSE virtual filesystem lets you work with shared files as if they were local. You can cp, cat, git clone, or run PostgreSQL against the mount. Files that the peer has but you do not are streamed on demand over gRPC. Files you write are synced to the peer in real time.
Without FUSE, you can use the AddFile/PullFile API to share and download files explicitly.
LAN discovery via mDNS finds peers on the same network without needing a relay. For peers behind different NATs, the bridge relay forwards encrypted traffic between them. Both peers connect outbound, so no port forwarding is needed.
Downloads resume from where they left off after disconnection, tracked by a chunk bitmap persisted to disk.
Performance
On an Intel i7-9750H over loopback:
- Encrypted channel: 1.7 GB/s
- File transfer without FUSE: 585 MB/s at 1 GB
- Round-trip through FUSE (write on one peer, pull on the other): 276 MB/s at 1 GB
- FUSE write: 1.1 GB/s at 1 GB
On a Contabo VPS (Xeon Gold 6140, 4 vCPUs):
- File transfer: 288 MB/s at 1 GB
- Encrypted channel: 502 MB/s
What does not work yet
Symlinks and hardlinks are intentionally not supported. In a P2P sync context, a symlink that points outside the shared directory is a path traversal risk. We return ENOSYS for both operations.
Cross-peer git commit sync has a remaining issue where some git object files arrive with the correct size but zero content. The branch refs sync correctly and git clone between peers works (including git log and git status on the receiving peer). Cross-peer git checkout to a branch created by the other peer works in our test suite but has edge cases in manual testing that we are still fixing.
Cross-peer PostgreSQL migration (initdb on Linux, start on Mac from synced data) is close to working. The notification timing bug that caused config files to arrive as 0 bytes is fixed. A separate issue with pre-allocated files not receiving content during prefetch remains.
POSIX compliance on Linux (pjdfstest): 75.8% excluding symlink and hardlink tests.
Why v0.1.0 and not v1.0.0
The API is stable. The protocol works. Files transfer correctly between peers for normal use cases (documents, media, source code). But the edge cases around high-throughput file creation (databases, git internals) are still being fixed, and the distributed filesystem semantics for bidirectional git operations need design work. We will bump to v1.0.0 when cross-peer database and git workflows are reliable without caveats.
Release: v0.1.0 binaries
Homebrew:
brew tap keibisoft/keibidrop && brew install keibidrop