Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

687 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

KeibiDrop

Website · Download · Blog

Work on shared files instantly.
No more upload or download waiting.

DaVinci Resolve scrubbing a 4K timeline whose clips live on a NAS 400 km away. The thumbnails fill in as the playhead moves; only the touched parts cross the internet. Click to watch the two minute demo on YouTube.
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.

  • Open a 40 GB file and start working instantly. Your edits sync back.
  • End-to-end encrypted (post-quantum). No cloud, and the relay never reads your files.
  • Same network: one click. Over the internet: swap a code once, then save the contact.
  • Their files become a real folder on your machine. Open, edit, git clone, anything.
  • macOS, Linux, Windows, Android. iOS coming soon. Open source engine (MPL-2.0).

KeibiDrop connection screen

Direct Transfer Virtual Folder (FUSE)
Direct transfer mode Virtual filesystem mode
Drag files in. Your peer saves what they need. Peer files appear as a folder. Open in any app.
Finder Terminal (git)
Shared files in Finder Git on FUSE mount

KeibiDrop demo, Mac and Windows side by side. Click to watch on YouTube with sound.
Mac and Windows side by side. Click to watch on YouTube (with sound)


Install

macOS

brew tap keibisoft/keibidrop
brew trust keibisoft/keibidrop
brew install keibidrop

Linux (Debian/Ubuntu)

wget -O keibidrop.deb $(curl -s https://api.github.com/repos/KeibiSoft/KeibiDrop/releases/latest \
 | grep -o 'https://[^"]*_amd64\.deb')
sudo apt install ./keibidrop.deb

Windows

choco install keibidrop

Or download from GitHub Releases.

Android

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.

Build from source

git clone https://github.com/KeibiSoft/KeibiDrop.git
cd KeibiDrop
make build-kd # CLI daemon
make build-cli # Interactive CLI
make build-rust # Desktop UI (needs Rust + Slint)

Quick start

Same network (LAN):

  1. Both peers launch KeibiDrop
  2. Devices discover each other automatically
  3. One click to connect
  4. Share files

Over the internet:

  1. Both peers launch KeibiDrop
  2. Copy your fingerprint and send it to your peer (Signal, Telegram, anything)
  3. Paste each other's fingerprints and connect
  4. Share files

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.


Two modes

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

How it works

  1. Peers exchange fingerprints (or discover each other on LAN)
  2. KeibiDrop finds the fastest path: LAN, direct IPv6, or encrypted relay
  3. Files transfer over an encrypted channel the relay cannot read
  4. Keys rotate automatically for forward secrecy

The encryption is post-quantum (ML-KEM-1024 + X25519) with AES-256-GCM or ChaCha20-Poly1305. Full protocol details in Security.md.


Three interfaces

Desktop UI (Rust/Slint)

./keibidrop

Interactive CLI (terminal REPL)

./keibidrop-cli

Agent CLI (for scripts and AI agents, all output is JSON)

./kd start # Start daemon
./kd show fingerprint # Get your fingerprint
./kd register <peer-fingerprint> # Register peer
./kd create # Create room (or: kd join)
./kd add /path/to/file.zip # Share a file
./kd list # List shared files
./kd pull file.zip ~/Downloads/ # Download a file

See docs/kd-agent-guide.md.

Configuration

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
Security

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


Troubleshooting

See TROUBLESHOOTING.md.

Contributing

See CONTRIBUTING.md.

License

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.


By trade

Remote DFIR triage

Remote triage without a VPN: 20 GB mounted, 606 MB moved

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.

Post-production handoff

Mount the camera originals. No proxy transcode before the handoff, and no relink after it.

Datasets on a rented GPU box

Mount the workstation that holds the data. No bucket, and no upload before the first batch.

An always-on box: NAS, mini PC, home server

Two terminals. Left: a container on a NAS prints its code and Peer connected. Right: a laptop adds the box as a contact, connects, lists the shared folder and hashes one photo through the mount

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/.

Photographers and editors

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.

Agents, and the data they work on

Two agents pairing over MCP: the laptop offers a 2,184 file dataset in place, the gpu box lists it and reads shards off the mount

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.

Links

About

Share files between devices on demand. They show up as a folder on your computer, available instantly while downloading.

Topics

Resources

Contributing

Security policy

Stars

59 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /