GuofangandClaude Opus 5.5 5ba114f5ad Download images from several mirrors at once with aria2c
Each *_IMAGE_URL may now list several mirrors of the same file. When
aria2c is installed, the file is split across all mirrors with a single
connection to each; otherwise curl or wget tries the mirrors in order,
skipping mirrors that fail or return an empty response. A partial
download is only resumed with the same downloader and mirror list.

Fedora now defaults to the TUNA, BFSU and NJU mirrors. The Aliyun
mirror is not used because it rejects aria2c.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YKxXLyiL7XJ3a9e8HmR2my
2026-09-30 10:56:19 +08:00
2026-08-18 17:01:54 +08:00
2026-08-18 17:01:54 +08:00
2026-08-18 17:01:54 +08:00
2026-08-18 17:01:54 +08:00

vm-images

Shared, locally cached virtual-machine installation media and base images. Downloaded ISO, QCOW2, IMG, VHD, and VHDX files are intentionally excluded from Git.

Download images

Download every supported image:

./download-images.sh

Download or check selected targets:

./download-images.sh debian13
./download-images.sh almalinux10
./download-images.sh fedora44
./download-images.sh virtio-win

The Windows installation ISO is not downloaded because Microsoft's temporary download URLs expire. Place it manually in install-iso/; the script finds it automatically by matching Win, 11, x64 and .iso in that order (*Win*11*x64*.iso, case-insensitive). If several files match, the highest version-sorted name is used. Check which file was picked with ./download-images.sh --print-path windows11 --iso.

Query image paths

The path interface prints one absolute path without downloading anything:

./download-images.sh --print-path debian13
./download-images.sh --print-path almalinux10
./download-images.sh --print-path fedora44
./download-images.sh --print-path virtio-win
./download-images.sh --print-path windows11
./download-images.sh --print-path windows11 --iso

The Windows target prints the QCOW2 path by default. Add --iso to print its manually supplied installation ISO path. The QCOW2 is named after the detected ISO (for example Win11_25H2_English_x64_v2.iso → base-qcow2/Win11_25H2_English_x64_v2.qcow2); if no ISO is present, an existing *Win*11*x64*.qcow2 in base-qcow2/ is used instead.

Download URLs can be overridden with DEBIAN_IMAGE_URL, ALMA_IMAGE_URL, FEDORA_IMAGE_URL, and VIRTIO_WIN_ISO_URL. Each may list several mirrors of the same file, separated by whitespace; the Fedora image defaults to the TUNA, BFSU and NJU mirrors.

When aria2 is installed (aria2c), an image is downloaded from all of its mirrors at once, with a single connection to each mirror. Without it, curl (or wget) tries the mirrors in order. A partial download is only resumed with the same downloader and mirror list; otherwise it starts over. The Fedora checksum can be overridden with FEDORA_IMAGE_SHA256 when using a custom image.

S
Description
No description provided
Readme
243 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 87.3%
JavaScript 9.6%
PowerShell 3.1%