DL-DISTRO(1)

πŸ“¦
version 2.4.10 Β· 2 versions
, in ubuntu stonking

πŸ’– dl-distro β€” the manual, but make it cute πŸ’–

okay bestie, welcome to the dl-distro(1) manual page 🫢 this is the whole thing, every flag, every distro, every default β€” just with the vibes turned all the way up. no skips, no summarising, periodt. πŸ’…


✨ NAME ✨

dl-distro β€” a Bash script for downloading and verifying OS images. that's it, that's the girl. πŸŽ€


✨ SYNOPSIS ✨

dl-distro [OPTIONS]

dl-distro -d <DISTRO|JSON_QUERY> [OPTIONS]

✨ DESCRIPTION ✨

so the whole point of dl-distro is making downloading and verifying OS images quick and easy. it's giving "you deserve a smooth experience" energy, fr fr. 🌸

under the hood it's running a little squad: jq for data retrieval, wget for the actual downloading, gpg for signature verification, and it validates checksums with the relevant algorithm. no cap. ✨


✨ OPTIONS ✨

  • -a, --auto-update β€” toggles automatic updating of the local JSON file. πŸ”„
  • -c, --conf-file β€” generates a config file with default values. so you can go in and personalise it πŸ’–
  • -d, --distro <DISTRO|JSON_QUERY> β€” pick a distribution by its short name or by a JSON query.
  • -D, --delete-key <KEY_ID> β€” deletes a stored GPG key, using its GPG key ID. bye bestie πŸ‘‹
  • -h, --help β€” shows the help message, including the options and the distributions available. iconique.
  • -i, --import-key <KEY_FILE> β€” imports a GPG key from a key file.
  • -l, --list-keys β€” lists the stored GPG keys.
  • -L, --list-distros β€” lists the supported distributions.
  • -m, --manual-download β€” instead of downloading automatically, prints instructions for manually downloading and verifying the selected image.
  • -n, --no-verify β€” skips GPG, Minisign, or Signify key fetching and verification. skipping the vibe check, bold of you 😭
  • -p, --path <PATH> β€” download the image to the specified directory.
  • -P, --purge-data β€” purges ALL the stored data. that includes GPG, Minisign, Signify keys and the JSON file. absolute wipeout, dramatic but true πŸ’€
  • -s, --spider β€” instead of downloading, return an HTTP status for URLs. just a lil peek πŸ•·οΈ
  • -u, --update-json β€” updates the locally stored JSON file.
  • -V, --version β€” prints dl-distro's current version.

✨ SUPPORTED DISTRIBUTIONS ✨

look at the roster, we love a full lineup πŸ‘‘ (short name β†’ full name β†’ URL, exactly as listed):


✨ EXAMPLES ✨

the classics, bestie

  • dl-distro β€” main menu with all distributions. pick one and choose an image to download. the full main-character experience πŸ’…
  • dl-distro -d debian β€” hand it a distribution name to skip the main menu. it'll still prompt you with additional choice menus, if necessary.
  • dl-distro -d debian.netinst.amd64 β€” you can skip the menus entirely and start a download directly if you provide a JSON query. the names used in the JSON query correspond directly to those in the menus. iykyk 🧚
  • dl-distro -d debian.netinst.amd64 -p ~/Downloads β€” download and verify the latest Debian network installer amd64 image, saving to the ~/Downloads directory. chef's kiss πŸ”₯

✨ FILES ✨

CONFIG DIRECTORY

the config directory is $XDG_CONFIG_HOME/dl-distro. if $XDG_CONFIG_HOME is unset, the directory will be $HOME/.config/dl-distro. 🏠

dl-distro.conf is used to store dl-distro's config. below are the variables you can set. the values shown are the default values used in the script, please use quotes:

  • default_download_dir="$PWD" β€” by default, dl-distro will use the $PWD variable if no download path is provided with -p. to always download to a specific path, change this variable.
  • auto_update_enabled="true" β€” by default, dl-distro will download the JSON file from the master branch before each run, ensuring always up-to-date data. ✨
  • verification_enabled="true" β€” changing to false will disable signature key fetching and verification at script runtime.
  • spider_mode_enabled="false" β€” changing to true will enable spider mode at runtime, returning an HTTP status for URL's instead of downloading.
  • manual_download_enabled="false" β€” changing to true will enable manual downloads at runtime, displaying step-by-step instructions for downloading and verifying the image.
  • gpg_keyserver="hkps://keyserver.ubuntu.com" β€” change the keyserver used to fetch GPG keys during runtime.
  • json_url="https://codeberg.org/bashuser30/dl-distro/raw/branch/master/data.json" β€” change the URL used when updating the JSON file.
you can also override data in the JSON file by placing it in the config directory. dl-distro will use this file over the one stored in the data directory. NOTE: dl-distro can not update your modified file. 😭

DATA DIRECTORY

the data directory is $XDG_DATA_HOME/dl-distro. if $XDG_DATA_HOME is unset, the directory will be $HOME/.local/share/dl-distro. πŸ—‚οΈ

this directory is used to store the GPG keys, Minisign keys, Signify keys and the JSON file. key storage central, we love to see it πŸŽ€


✨ BUGS ✨

please report bugs on Codeberg: https://codeberg.org/bashuser30/dl-distro/issues. do not suffer in silence, bestie 🫢


✨ AUTHORS ✨

bashuser30 <bashuser30@mailbox.org> β€” the legend herself πŸ‘‘


and that's a wrap on the manual, fr fr πŸ’– this was dl-distro v2.4.10, dated June 12, 2026 β€” slay, go download something, and remember: DL-DISTRO(1) forever. βœ¨πŸŒˆπŸ’…

πŸ“¦ where this page comes from