Skip to content
TurboDL

Profiles

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

FieldDefaultDescription
download_dir~/DownloadsDestination folder; ~ and ${VAR} are expanded
sort_by_categorytrueSub-folder per category
threads8Parallel connections, 1 to 32
max_retries5Retries per segment (and for the first request)
timeout_secs30Connection and read timeout, > 0
user_agentMozilla/5.0 (compatible; TurboDL)User-Agent
on_conflictrenamerename, overwrite or skip
verbositynormalminimal, normal or full (CLI)
categoriessee CategoriesExtensions and sub-folder of each category

request section

FieldDefaultDescription
methodGETHTTP method
headers{}Headers; values accept ${VAR}
bodynull{"text": "…"}, {"file": "path"} or {"json": {…}}
cookies_filenullcookies.txt file (Netscape)
auth.usernullBasic user
auth.password_envnullEnvironment variable holding the password
proxynullhttp://, https:// or socks5://
max_redirs10Maximum redirects
insecurefalseIgnores 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.