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.
-
Start the server. Give it a magnet URI, an http(s) URL of a
.torrentfile, or a local.torrentpath: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.
-
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.
-
Fetch on the client.
Terminal window export DEADDROP_KEY=AGE-SECRET-KEY-1QX...deaddrop fetch blobafk3...q7z -o ./downloadsThe 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.
-
Done. By default the server is single use: once the client has everything and disconnects, it shuts down and its temporary directory is deleted.
Where to go next
Section titled “Where to go next”- Keep serving to many clients with
--multi-use. - Swap a running server to a new torrent with
deaddrop reset. - Push tickets to Discord or a webhook with notifications.
- Put your settings in a config file.