KEIBIDROP Transfer Modes

Direct Transfer and Virtual Folder. Same encryption, same connection.

KEIBIDROP has two transfer modes. You pick one before connecting. Both use the same post-quantum encryption and peer-to-peer connection. Each peer chooses independently, so one peer can use FUSE while the other uses Direct Transfer.

Direct Transfer (no-FUSE)

You pick files to send. Your peer picks files to download.

Alice: adds file -> notification -> Bob: downloads file

Select files to share with drag-and-drop or the file picker. Your peer sees the list, clicks Save, and the file downloads to their save folder (~/KeibiDrop/Received/ by default). Downloads can be paused and resumed, even after reconnecting.

Only files you explicitly download are stored. No disk usage for files you skip.

File sizeThroughput
1 MB~200 MB/s
10 MB~380 MB/s
100 MB~590 MB/s
1 GB~550 MB/s

Works on all platforms (macOS, Linux, Windows). Good for sending files, videos, archives, backups. Each transfer is manual and there is no folder browsing.

Virtual Folder (FUSE)

Your peer's files show up as a regular folder on your machine.

Alice's files -> appear in Bob's ~/KeibiDrop/Mount/ -> Bob opens them with any app

A virtual folder mounts at ~/KeibiDrop/Mount/. The peer's files appear inside it. Opening a file streams it from the peer on demand, so you don't need to download the whole thing first. Writing a file in the folder sends it to your peer. Changes sync both ways.

Files are cached locally as you access them. A 10 GB file you never open uses 0 bytes on disk. Once you read it, the full file is cached for later.

File sizeRead throughputWrite throughput
1 MB~110 MB/s~110 MB/s
10 MB~200 MB/s~200 MB/s
100 MB~265 MB/s~265 MB/s
1 GB~250 MB/s~250 MB/s

The ~48% speed difference compared to Direct Transfer comes from the FUSE kernel boundary, not from encryption or the network.

Only the bytes you actually read cross the wire. Opening a 10 GB video and watching the first 30 seconds transfers just those bytes.

Good for collaborative work, sharing git repos, browsing large collections without downloading everything, and editing files in place with any app.

Requires FUSE: macFUSE on macOS, fuse3 on Linux, WinFsp on Windows. On macOS you also need user_allow_other in /etc/fuse.conf for Finder access.

Mixed Mode

Each peer picks their mode independently. One peer can use FUSE while the other uses Direct Transfer. The connection and encryption are the same either way. This is useful when one machine has FUSE installed and the other doesn't, or when one person prefers manual downloads and the other wants a mounted folder.

Side by Side

Direct TransferVirtual Folder
SetupNothing extraInstall FUSE
Transfer speed (1 GB)~550 MB/s~250 MB/s
Bandwidth usageFull file per downloadOnly bytes you read
Disk usageOnly files you pullCache grows as you browse
SyncManual (add/pull)Automatic (read/write)
ResumePause/resume in UIBitmap-based, resumes on reconnect
After reconnectPartial downloads preservedPartial cache preserved
Git reposPull the repo as a folderClone directly into mount
File browsingList in the appFinder / file manager
PlatformmacOS, Linux, WindowsmacOS, Linux (Windows planned)

Save Folder

Both modes write received files to a save folder on disk. Default: ~/KeibiDrop/Received/. Change it in ~/.config/keibidrop/config.toml or with the TO_SAVE_PATH environment variable.

In Direct Transfer, files you download go straight to the save folder. Partial downloads stay on disk with a .kdbitmap sidecar that tracks completed chunks. Resume picks up where it stopped with no re-transfer. The .kdbitmap is deleted when the download finishes. Disconnecting does not delete partial files.

In FUSE mode, the mount folder (~/KeibiDrop/Mount/) is the virtual view and goes away when you disconnect. The save folder holds the persistent cache. Files you opened or wrote are there. On reconnect, cached files are available immediately.

After disconnecting, everything in the save folder stays. The mount folder unmounts and is empty. Next session starts fresh but previously cached files persist.

To clean up, delete the save folder contents when you no longer need them. .kdbitmap files are safe to delete (you lose resume tracking, not data already written to disk).

File Ownership and Safety

When you add a file (drag into the mount, or select via the UI), it gets copied into your save folder. The original stays where it was, untouched. Your peer sees the copy from your save folder and downloads their own copy into theirs.

Both peers always have separate copies. If Alice edits a file and Bob edits the same file, both edits exist on their own machines. Sync notifications use last-write-wins, but no local file is overwritten without the user doing something.

In FUSE mode, the mount point is sandboxed. You cannot navigate above it (cd .. stops at the mount root).

Alice drops report.pdf into the mount:
  /home/alice/project/report.pdf       <- original, untouched
  ~/KeibiDrop/Received/report.pdf      <- copy in Alice's save folder, served to peer

Bob downloads it:
  ~/KeibiDrop/Mount/report.pdf         <- virtual, reads from Alice on demand
  ~/KeibiDrop/Received/report.pdf      <- Bob's own copy, persists after disconnect

What the Tool Changes on Your System

~/.config/keibidrop/config.toml is created on first run with default values.

Two directories are created if they don't exist: the save folder and the mount folder (defaults: ~/KeibiDrop/Received/ and ~/KeibiDrop/Mount/).

A log file is written to ~/Library/Logs/KeibiDrop/keibidrop.log on macOS or ~/.local/share/keibidrop/keibidrop.log on Linux.

Two TCP ports are used over IPv6: one inbound (default 26431) for receiving connections from your peer, one outbound (default 26432) for connecting to them. The connection is full-duplex. No background processes after you close the app.

For FUSE mode only: macOS may need user_allow_other added to /etc/fuse.conf (one-time). macFUSE or fuse3 must be installed separately. Linux may need the same line uncommented in /etc/fuse.conf.

No daemons, no startup items, no browser extensions, no telemetry, no accounts.

Encryption and Connection (Both Modes)