Profile reference
Every field of a JSON profile, with its default value and limits.
A profile is a JSON file. Every field is optional: a missing field takes its default value. An unknown field is refused (typos are caught).
The profile.schema.json file shipped with TurboDL describes this format: reference it with "$schema" to get autocompletion in VS Code.
Main fields
| Field | Default | Description |
|---|---|---|
download_dir | ~/Downloads | Destination folder; ~ and ${VAR} are expanded |
sort_by_category | true | Sub-folder per category |
threads | 8 | Parallel connections, 1 to 32 |
max_retries | 5 | Retries per segment (and for the first request) |
timeout_secs | 30 | Connection and read timeout, > 0 |
user_agent | Mozilla/5.0 (compatible; TurboDL) | User-Agent |
on_conflict | rename | rename, overwrite or skip |
verbosity | normal | minimal, normal or full (CLI) |
categories | see Categories | Extensions and sub-folder of each category |
request section
| Field | Default | Description |
|---|---|---|
method | GET | HTTP method |
headers | {} | Headers; values accept ${VAR} |
body | null | {"text": "…"}, {"file": "path"} or {"json": {…}} |
cookies_file | null | cookies.txt file (Netscape) |
auth.user | null | Basic user |
auth.password_env | null | Environment variable holding the password |
proxy | null | http://, https:// or socks5:// |
max_redirs | 10 | Maximum redirects |
insecure | false | Ignores certificate errors (dangerous) |
Warning
Never put a password or a token in clear text in a profile: use ${VARIABLE} in the headers and auth.password_env.
Validation
An invalid profile is refused with the exact path of the faulty field, for example request.max_redirs: invalid type. The CLI then exits with code 2.