Skip to content

Quick start

You need deaddrop on two machines: a server that downloads the torrent and a client that receives it. See Installation. Neither machine needs an open port.

  1. Start the server. Give it a magnet URI, an http(s) URL of a .torrent file, or a local .torrent path:

    Terminal window
    deaddrop serve 'magnet:?xt=urn:btih:...'

    The server downloads the torrent in leech-only mode, stops the torrent session, encrypts every file, deletes the plaintext, and prints one line on stdout:

    blobafk3...q7z AGE-SECRET-KEY-1QX...

    The first word is the ticket and the second is the decryption key.

  2. Hand over the ticket and the key. Send them to whoever runs the client, ideally over different channels. Anyone with the ticket can download the ciphertext. The key is needed to read it.

  3. Fetch on the client.

    Terminal window
    export DEADDROP_KEY=AGE-SECRET-KEY-1QX...
    deaddrop fetch blobafk3...q7z -o ./downloads

    The client connects to the server over iroh, downloads the encrypted collection, checks every chunk against its BLAKE3 hash, decrypts the files, and writes them out under their original names.

  4. Done. By default the server is single use: once the client has everything and disconnects, it shuts down and its temporary directory is deleted.