The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the KeibiDrop listing page.
How to edit in DaVinci Resolve, Premiere Pro or Final Cut while traveling. Your footage stays on the studio NAS, you open it on demand from the app, no waiting for a download or an upload. Click for the two minute demo.
Another computer's files show up as a folder on yours. Open and edit them in your own apps, with nothing to download first.
git clone, anything.
| Direct Transfer | Virtual Folder (FUSE) |
|---|---|
![]() | ![]() |
| Drag files in. Your peer saves what they need. | Peer files appear as a folder. Open in any app. |
| Finder | Terminal (git) |
|---|---|
![]() | ![]() |
Mac and Windows side by side. Click to watch on YouTube (with sound)
Or download from GitHub Releases.
We host our own F-Droid repository. Open fdroid.keibisoft.com on your phone, scan the code, and check the fingerprint before you add it.
To add it by hand, use https://fdroid.keibisoft.com/fdroid/repo in F-Droid under Settings, Repositories. The fingerprint to check is on the same page.
Same network (LAN):
Over the internet:
Save a peer as a contact to skip the fingerprint exchange next time. On the same network, saved contacts connect with one click using pseudonyms.
It works through firewalls automatically. If direct connection fails, KeibiDrop falls back to an encrypted relay. No port forwarding, no router configuration.
| Direct Transfer | Virtual Folder (FUSE) | |
|---|---|---|
| Speed | Up to ~660 MB/s | Up to ~276 MB/s |
| How it works | Add files, peer pulls them | Peer's files appear as a local folder |
| Setup | Nothing extra | Install macFUSE, fuse3, or WinFsp |
| Best for | Sending large files | Working on shared files, git repos |
The encryption is post-quantum (ML-KEM-1024 + X25519) with AES-256-GCM or ChaCha20-Poly1305. Full protocol details in Security.md.
Desktop UI (Rust/Slint)
Interactive CLI (terminal REPL)
Agent CLI (for scripts and AI agents, all output is JSON)
KeibiDrop reads ~/.config/keibidrop/config.toml. Environment variables override the config.
| Setting | Env var | Default |
|---|---|---|
| Relay server | KD_RELAY | https://keibidroprelay.keibisoft.com/ |
| Bridge relay | KD_BRIDGE | bridge.keibisoft.com:26600 |
| Save folder | KD_SAVE_PATH | ~/KeibiDrop/Received/ |
| FUSE mount | KD_MOUNT_PATH | ~/KeibiDrop/Mount/ |
| Inbound port | KD_INBOUND_PORT | 26431 |
| Disable FUSE | KD_NO_FUSE | false |
Post-quantum hybrid key exchange prevents future quantum computers from decrypting recorded traffic. Forward secrecy via periodic re-keying limits exposure if a session key is ever compromised.
By default, identity persists across sessions (so saved contacts keep working), encrypted with a per-install master key stored in the OS keychain (macOS Keychain Services, Linux Secret Service, Windows Credential Manager). Headless setups fall back to ~/.config/keibidrop/.master.key (mode 0600). Optional passphrase protection via Argon2id for users who back up config to the cloud. Incognito mode switches to ephemeral keys: a fresh keypair each session, anonymous, unlinkable, nothing written to disk.
Full protocol description: Security.md
See TROUBLESHOOTING.md.
See CONTRIBUTING.md.
Go engine, CLI, and mobile bindings: Mozilla Public License 2.0 (per-file copyleft)
Rust UI, mobile apps, and brand assets: Proprietary - see DUAL-LICENSE.md
Desktop UI built with Slint
Built by KeibiSoft SRL.
Mount an evidence share read only across NAT and extract the artifact set you need, with no inbound port, native on Windows, and no kernel driver on the evidence machine. There is a write-up and a DFIR page.
Mount the camera originals. No proxy transcode before the handoff, and no relink after it.
Mount the workstation that holds the data. No bucket, and no upload before the first batch.
A session needs both machines online, and a NAS, a mini PC or a home server is online all the time. The container in docker/ runs the serving side on that box from plain Docker with the stock kernel. Your laptop mounts the folder from anywhere and reads on demand, so only the bytes a program reads cross the wire. In that run the box, a container on a server in Timisoara, served 161 files to a laptop in Bucharest; the laptop paired once, listed the folder and hashed one photo. Setup is one compose file, in the guide. An Unraid template is in docker/unraid/.
The raws and the footage stay on the box at the studio. The laptop mounts the folder, Lightroom or Resolve opens the files from the mount, and each file moves only when it is opened; a 1 MiB read out of a big file moves one 16 MiB block. The catalog stays on the laptop, as the post-production page and the video and audio guide describe. Set the share read only when the box is the archive and the laptop must change nothing.
Two agents, one per machine, each driving a KeibiDrop peer through the MCP server. The laptop offers a folder where it sits. The gpu box mounts it, lists 2,184 files six folders deep, and checksums 24 shards. In that run 88,581 bytes crossed the network out of 6,784,286 on disk, because that is what it opened. The whole thing, pairing included, took 12.5 seconds.
Build it with make build-kdmcp, then kdmcp install prints the config snippet for your MCP client. Sending stays off until KD_SHARE_ROOT names one directory to send from, so a receiving agent cannot be talked into shipping files out.