Config file reference
Run deaddrop config example for a commented template, deaddrop config path
to see where the file is read from, and deaddrop config check to validate it.
See the Config file guide for precedence and file
locations.
Every setting is optional. Unknown keys are errors.
Top level
Section titled “Top level”| Key | Type | Default | Meaning |
|---|---|---|---|
log |
string | "off" (release), "warn" (debug) |
Log filter, same syntax as RUST_LOG. RUST_LOG overrides it. |
[serve]
Section titled “[serve]”| Key | Type | Default | Flag / env | Meaning |
|---|---|---|---|---|
multi_use |
bool | false |
--multi-use |
Keep serving to any number of clients until Ctrl-C. |
data_dir |
path | temp dir | --data-dir |
Where torrent data and the blob store go. Relative to the config file. |
peers |
array of "IP:PORT" |
[] |
--peer |
Extra BitTorrent peers. |
reset_token |
string | unset | --reset-token, DEADDROP_RESET_TOKEN |
Enables resets. At least 16 characters. |
wait_for_reset |
bool | false |
--wait-for-reset |
Single use: delete the data and wait for a reset instead of exiting. |
[[serve.notify]]
Section titled “[[serve.notify]]”An array of tables, one per notifier. Any --notify flag or
DEADDROP_NOTIFY replaces this whole list.
| Key | Type | Default | Meaning |
|---|---|---|---|
type |
"discord" | "webhook" |
required | Notifier type |
url |
string | required | Webhook URL. A secret: chmod 600 the file. |
include_key |
bool | false |
Also send the decryption key |
[fetch]
Section titled “[fetch]”| Key | Type | Default | Flag | Meaning |
|---|---|---|---|---|
out |
path | . |
-o, --out |
Where deaddrop fetch writes files. Relative to the config file. |
[reset]
Section titled “[reset]”| Key | Type | Default | Flag / env | Meaning |
|---|---|---|---|---|
token |
string | unset | --token, DEADDROP_RESET_TOKEN |
The server’s reset token, used by deaddrop reset. |
Full example
Section titled “Full example”# deaddrop config file.## Default location: ~/.config/deaddrop/config.toml (Linux), or pass --config <file># (or set DEADDROP_CONFIG). Every setting is optional.## Precedence: command-line flag > environment variable > this file > default.# Relative paths are resolved against this file's directory.## This file may hold webhook URLs, which are secrets: chmod 600 it.
# Log filter, same syntax as RUST_LOG. RUST_LOG overrides it.# "off" disables logging entirely. Default: "off" in release builds,# "warn" in debug builds.# log = "warn"
[serve]# false (default): shut down after one client has downloaded the data.# true: keep serving to any number of clients until Ctrl-C.multi_use = false
# Where the torrent data and blob store go. If unset, a temp dir is used and# deleted on exit.# data_dir = "/var/lib/deaddrop"
# Extra BitTorrent peers to connect to.# peers = ["192.168.1.10:6881"]
# Let `deaddrop reset` replace the torrent being served with a new magnet or# .torrent. Anyone with the ticket AND this token can do it. At least 16# characters; `openssl rand -hex 32` makes a good one. Unset (the default)# turns resets off. DEADDROP_RESET_TOKEN overrides it.# reset_token = "<long random string>"
# Single use only, needs reset_token: instead of exiting after the one# download, delete the data and wait for a reset to bring the next torrent.# wait_for_reset = false
# Notifiers, sent when the ticket is ready. Add as many as you like.# Any --notify flag or DEADDROP_NOTIFY replaces this whole list.# include_key = true also sends the decryption key (default: ticket only).[[serve.notify]]type = "discord"url = "https://discord.com/api/webhooks/<id>/<token>"
[[serve.notify]]type = "webhook"url = "https://example.com/hooks/deaddrop"include_key = true
[fetch]# Where `deaddrop fetch` writes files. Default: the current directory.# out = "/home/me/Downloads"
[reset]# The server's reset token, used by `deaddrop reset`. --token and# DEADDROP_RESET_TOKEN override it.# token = "<long random string>"