/distrib-dl

[mirror] Download and verify Linux distribution installers/ISO images

Primary LanguageShell

distrib-dl

Download and keep up-to-date Linux/BSD distribution ISO images (installers/live images). Can be used to maintain a local ISO image repository.

pipeline status

Installation

git clone https://gitlab.com/nodiscc/distrib-dl

Requirements

  • bash
  • wget
  • gnupg

Usage

Usage: ./distrib-dl [OPTIONS] DISTRIBUTION1 [DISTRIBUTION2 DISTRIBUTION3 ...] [all]
Available distributions: debian debian-live tails kali proxmox pfsense freebsd debian-live-config fedora ubuntu
Options:
-c        only check that the url returns 200, don't download anything
-d DIR    specify base download directory (by default the current working directory is used)
-h        show help

Downloads will be verified against checksums and GPG keys when available. Checksums/signatures are downloaded as part of the process. The script will return warnings unless you manually import and trust gpg keys:

gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

Debian: You need to import Debian signing keys to your GPG keyring:

gpg --keyserver keyring.debian.org --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B

Consider a periodic cleanup of old/obsolete images from your download directory, else disk usage will keep increasing over time (unless you intend to keep old distribution releases?).

Configuration

Architectures and distribution versions are configurable in the script itself.

Contributing/testing/support

TODO

  • add GPG/checksum verifications for proxmox
  • add support for Arch Linux
  • add support for Bedrock Linux
  • add support for Clonezilla
  • add support for GNU Guix System
  • add support for Lakka
  • add support for NixOS
  • add support for OpenBSD
  • add support for Rocky Linux
  • add support for AlmaLinux
  • add support for Sparky Linux
  • add support for slackware
  • add support for opensuse
  • add support for void linux
  • add support for nixos
  • add support for bittorrent downloads (transmission-cli?)
  • add support for windows 10
  • automatically check for new versions of distributions (RSS feeds?)
  • integrate with https://github.com/ventoy/Ventoy/
  • support downloading via bittorrent/transmission-cli

License

MIT

Mirrors