# Glorious ISO Downloader Ein grafischer ISO-Downloader für Linux-Distributionen auf Basis von **C++ und Qt6**. Das Programm ermittelt automatisch den aktuellen Download-Link der gewählten Distribution und **verifiziert die heruntergeladene Datei anhand ihrer Prüfsumme**. ## Funktionen - **Automatische Link-Auflösung** — keine manuelle Suche nach Mirrors oder Versionsnummern. Das Programm liest Release-Seiten und Verzeichnislisten aus und ermittelt selbstständig die neueste Version. - **Prüfsummen-Verifikation während des Downloads** — der Hash wird im Stream berechnet (MD5, SHA-1, SHA-256, SHA-512). Stimmt er nicht mit der offiziellen Prüfsumme überein, wird die Datei **automatisch verworfen**. - **50 unterstützte Distributionen**, gruppiert nach Familie (siehe unten). - **Sicherheitshinweise** in der Oberfläche: - Warnung bei unverschlüsselten HTTP-Quellen (verhindert keine, aber meldet Manipulationsrisiken; HTTPS→HTTP-Downgrades bei Redirects werden blockiert). - Warnung, wenn ein Projekt nur schwache Hashes (MD5/SHA-1) anbietet. - Warnung, wenn überhaupt keine Prüfsumme verfügbar ist. - **Versions-Fallback** — ist die scheinbar neueste Version noch nicht vollständig veröffentlicht, probiert das Programm automatisch die nächstniedrigere. ## Unterstützte Distributionen | Familie | Distributionen | |---|---| | **Arch** | Arch Linux, Manjaro KDE, CachyOS, EndeavourOS, Artix, Garuda Dr460nized, ArcoLinux¹, BlackArch | | **Debian** | Debian, Kali, ParrotOS, Tails, Devuan, antiX, MX Linux | | **Ubuntu** | Ubuntu, Kubuntu, Xubuntu, Lubuntu, Ubuntu MATE, Mint, Pop!_OS, KDE Neon, Linux Lite, Trisquel | | **Red Hat / Fedora** | Fedora, Rocky, AlmaLinux, CentOS Stream, Qubes OS | | **SUSE / Slackware / Mandriva** | openSUSE Tumbleweed, Slackware, Mageia, PCLinuxOS | | **Unabhängig & Spezial** | Void, NixOS, Gentoo, Alpine, Deepin, Clear Linux¹, Puppy, TinyCore, GoboLinux¹, KaOS, Calculate Linux, Grml, SystemRescue, Proxmox VE, TrueNAS SCALE, Proxmox Backup Server | ¹ *ArcoLinux* und *Clear Linux* wurden 2025 eingestellt, *GoboLinux* ist seit 2020 inaktiv. Die Einträge sind enthalten, aber entsprechend markiert — die automatische Auflösung kann fehlschlagen, da Mirrors abgeschaltet wurden. ## Sicherheitshinweis Eine Prüfsummen-Verifikation schützt vor **defekten oder veränderten Downloads**, aber nicht vor einer Kompromittierung der Bezugsquelle selbst. Für besonders sicherheitskritische Images (z. B. Tails, Qubes OS, Trisquel) solltest du zusätzlich die **GPG-Signatur** der Prüfsummendatei mit dem offiziellen Schlüssel des Projekts prüfen. Das Programm weist in diesen Fällen darauf hin. ## Bauen Voraussetzungen: **Qt 6** (Widgets, Network), **CMake ≥ 3.21**, ein C++20-Compiler. Unter Arch Linux: ```bash sudo pacman -S qt6-base cmake gcc ``` Bauen: ```bash cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j$(nproc) ``` ## Benutzung ```bash ./build/glorious-iso-dl ``` 1. Distribution im Baum links auswählen. 2. **„Aktuellen Download-Link ermitteln"** klicken — Version, URL und erwartete Prüfsumme werden angezeigt. 3. Zielordner wählen und **„Herunterladen & verifizieren"** klicken. 4. Nach Abschluss meldet das Programm, ob die Prüfsumme stimmt. ## Projektstruktur | Datei | Inhalt | |---|---| | `src/Distro.h` | Datenmodell für die deklarativen Auflösungs-Rezepte | | `src/DistroRegistry.cpp` | Definitionen aller unterstützten Distributionen | | `src/Resolver.{h,cpp}` | Dreistufige Link-Auflösung (Version → Seite → Prüfsumme) | | `src/DownloadManager.{h,cpp}` | Download mit Streaming-Hashprüfung | | `src/MainWindow.{h,cpp}` | Grafische Oberfläche | | `src/main.cpp` | Einstiegspunkt | ## Wartung Ändert ein Projekt sein URL-Schema oder seine Verzeichnisstruktur, muss der betreffende Eintrag in `src/DistroRegistry.cpp` angepasst werden. Jeder Eintrag ist deklarativ aufgebaut; das Format ist in `src/Distro.h` dokumentiert.