Sign inSign up

keibisoft/keibidrop

By keibisoft

•Updated about 10 hours ago

KEIBIDROP serving peer: open your NAS folders from any computer over the internet, encrypted

Image
Networking
Security
0

96

keibisoft/keibidrop repository overview

⁠KEIBIDROP serving peer

Turn your NAS or home server into an always-on KEIBIDROP peer. Your computer opens the box's folders over the internet as if they were on your own disk, with Teleport: each file streams when an application opens it, so you do not wait for a full upload or download. Every connection is end-to-end encrypted with a post-quantum key exchange (X25519 and ML-KEM-1024).

The container holds the serving side only. It needs no FUSE, no /dev/fuse and no extra capabilities. The machine that reads the files runs the desktop app or kd with its own driver (macFUSE, fuse3 or WinFsp).

Full guide: https://keibidrop.com/docs/how-to/run-on-a-nas.html⁠

⁠Set it up

  1. On your computer, install KeibiDrop and the Teleport driver: macFUSE on a Mac, WinFsp on Windows, fuse3 on Linux. Open the app, keep Local mode off and press Copy my code. That is your computer's code.

  2. On the box, save this as docker-compose.yml. Set the folder to share and paste your computer's code into KD_PEER:

    services:
      keibidrop:
        image: keibisoft/keibidrop:latest
        container_name: keibidrop
        restart: unless-stopped
        network_mode: host
        environment:
          KD_PEER: ""            # your computer's code, from Copy my code
          KD_PEER_NAME: laptop
          KD_SHARE_READ_ONLY: "false"
        volumes:
          - /path/to/your/files:/shares
          - keibidrop-config:/config
    volumes:
      keibidrop-config:
    
  3. Start it and read the log. The log prints the box's code.

    docker compose up -d
    docker compose logs -f
    
  4. On your computer, turn on Teleport, paste the box's code and press Connect.

  5. When it connects, press Save contact and turn on Auto on the contact's row. From then on both sides reconnect by themselves after a drop.

  6. The box's files now show in your Teleport Folder, ~/KeibiDrop/Mount unless you changed it. Settings shows the path. Open the files from there in any app.

If the box started with KD_PEER empty, give it your computer's code while it runs:

docker exec keibidrop kd add-contact laptop <your computer's code>

⁠Use it in your apps

Point the app at the Teleport Folder. For DaVinci Resolve: Preferences, System, Media Storage; keep a local disk as the first entry, add the Teleport Folder, and leave Direct I/O off. Step by step: https://keibidrop.com/docs/how-to/edit-from-a-nas-in-davinci-resolve.html⁠

⁠Check it

When your computer connects, the box's log prints Peer connected and the path: direct, bridge (through the relay, which forwards encrypted bytes it cannot read) or lan. docker exec keibidrop kd status prints the session as JSON.

⁠Settings

VariableDefaultMeaning
KD_PEERemptyThe other machine's code. Saved as a contact on first start.
KD_PEER_NAMElaptopContact name for KD_PEER.
KD_SHARE_READ_ONLYfalsetrue refuses every change the peer sends. Add :ro to the /shares mount as well.
KD_INBOUND_PORT26431TCP port peers dial. Range 26000 to 27000.
KD_OUTBOUND_PORT26432TCP port this box dials from.
KD_STRICTfalsetrue never falls back to the bridge.
KD_RESCAN_SHARED_SECONDS30How often the box re-walks the shared folder and announces files that landed since the last pass. 0 turns it off; new files then wait for the next connect.
KD_RELAY, KD_BRIDGEproductionA self-hosted relay and bridge.
KD_LOG_FILE/tmp/keibidrop.logEngine log. Capped at KD_LOG_MAX_MB (64).

Every other key from the configuration reference works through /config/config.toml. Environment variables win over the file.

docker exec keibidrop kd status prints the session as JSON. The full kd surface is documented at https://keibidrop.com/docs/reference/kd-cli.html⁠.

⁠Networking

Host networking gives the peer the box's real ports and its IPv6 address, which is what a direct connection needs. In bridge networking every connection goes through the KeibiDrop bridge instead. Direct connections cost nothing; bridged traffic rides the free tier until you add relay credit.

⁠Identity

/config holds this box's private identity and its contacts. The key file is mode 0600 and the container refuses to start when the folder is readable by other users. Anyone who can read the folder can act as this box: keep it out of shared backups, or encrypt those backups. Passphrase protection of the identity needs a terminal at every start, so it is not offered in the container; run the desktop app where that trade is wanted.

⁠Build

From the repository root:

docker build -f docker/Dockerfile -t keibidrop:dev .

Images for linux/amd64 and linux/arm64 are on Docker Hub (keibisoft/keibidrop) and on GHCR (ghcr.io/keibisoft/keibidrop).

⁠Limits

  • A session is exactly two peers. One box serves one computer at a time.
  • The box's uplink bounds a full copy. Opening a file is quick because only touched blocks move; exporting all of it is a normal upload.
  • Application catalogs and databases (Lightroom, Resolve, SQLite files) stay on the computer that runs the application. Media streams over the mount.

Tag summary

Content type

Image

Digest

sha256:10c500f76…

Size

36.5 MB

Last updated

about 10 hours ago

docker pull keibisoft/keibidrop