mirror of
https://github.com/quickemu-project/quickemu.git
synced 2024-06-13 18:34:16 +02:00
Compare commits
14 Commits
aebd4b4b26
...
d9a7f028d5
Author | SHA1 | Date | |
---|---|---|---|
|
d9a7f028d5 | ||
|
b314851a3a | ||
|
564afeb4bc | ||
|
8720216f89 | ||
|
6841c552d0 | ||
|
afc0387f91 | ||
|
d2b4c41c93 | ||
|
c7c94ef78d | ||
|
7a77c27772 | ||
|
6037e6fde3 | ||
|
eb976793a1 | ||
|
e494cb0250 | ||
|
b820127bfe | ||
|
366fcf0604 |
58
.github/issue_template.md
vendored
58
.github/issue_template.md
vendored
|
@ -1,24 +1,58 @@
|
|||
#### Expected behaviour
|
||||
<!--
|
||||
Please fill out the following template to the best of your ability.
|
||||
If you're not sure about something, feel free to ask for help in Discord or the Discussions.
|
||||
The more information you provide, the easier it will be to help you.
|
||||
Issues that completely ignore this template will be closed.
|
||||
-->
|
||||
|
||||
Describe the your expected behaviour.
|
||||
# Expected behavior
|
||||
|
||||
#### Actual behaviour
|
||||
Describe your expected behavior.
|
||||
|
||||
Describe the actual behaviour.
|
||||
## Actual behavior
|
||||
|
||||
#### Steps to reproduce the behaviour
|
||||
Describe the actual behavior.
|
||||
|
||||
Outline the step to reproduce the issue you've encountered.
|
||||
# Steps to reproduce the behavior
|
||||
|
||||
#### Quickemu output
|
||||
Outline the steps to reproduce the issue you've encountered.
|
||||
|
||||
Run `quickemu` or `quickget` and paste the output here.
|
||||
# Additional context
|
||||
|
||||
#### Linux Distribution & Kernel
|
||||
## Quickemu output
|
||||
|
||||
Run the following and paste the output.
|
||||
Run `quickemu` or `quickemnu` and include the output of the failure below:
|
||||
|
||||
<details>
|
||||
<summary>Quickemu output</summary>
|
||||
|
||||
```text
|
||||
quickemu/quickget output here
|
||||
```
|
||||
</details>
|
||||
|
||||
## System Information
|
||||
|
||||
**Run `quickreport` and include the output here**; if you can't run `quickreport`,
|
||||
please provide the output of the following:
|
||||
|
||||
```bash
|
||||
lsb_release --all
|
||||
uname -a
|
||||
clear && \
|
||||
echo -e "Ver:\t$(quickemu --version)" && \
|
||||
echo -e "Distro:\t$(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2)" && \
|
||||
echo -e "Kernel:\t$(uname -s -r -m)" && \
|
||||
echo -e "Memory:\t$(free --si -h | awk '/Mem:/{print $2}')" && \
|
||||
lspci | grep -i vga | cut -d':' -f3 && echo && \
|
||||
curl --version && echo && \
|
||||
qemu-system-"$(uname -m)" -version | head -1 && \
|
||||
qemu-system-"$(uname -m)" -cpu help && echo && \
|
||||
lscpu | tee quickreport.txt
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Quickreport output</summary>
|
||||
|
||||
```text
|
||||
quickreport output here
|
||||
```
|
||||
</details>
|
||||
|
|
21
.github/workflows/test-quickget.yml
vendored
21
.github/workflows/test-quickget.yml
vendored
|
@ -35,25 +35,6 @@ jobs:
|
|||
name: supported
|
||||
path: results/supported.txt
|
||||
|
||||
list-all-info:
|
||||
name: "List all OS info ℹ️"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Show info about all OS
|
||||
run: |
|
||||
export TERM=xterm-256color
|
||||
mkdir -p results
|
||||
for os in $(./quickget | sed '/^$/q' | tail -n +3); do
|
||||
./quickget -12345 "${os}" | tee -a results/infos.txt
|
||||
done
|
||||
echo -e "\nResults:"
|
||||
echo -e "- OS Info URLs: $(grep -c http results/infos.txt)"
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: infos
|
||||
path: results/infos.txt
|
||||
|
||||
list-all-urls:
|
||||
needs: [list-all-supported]
|
||||
name: "List all URLs 🔗"
|
||||
|
@ -109,7 +90,7 @@ jobs:
|
|||
path: results/failed.txt
|
||||
|
||||
upload-artifacts:
|
||||
needs: [list-all-info, list-all-urls, check-all-urls]
|
||||
needs: [list-all-urls, check-all-urls]
|
||||
name: "Uploading artifacts"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
|
|
65
quickemu
65
quickemu
|
@ -249,8 +249,6 @@ function vm_boot() {
|
|||
if [ -e /etc/os-release ]; then
|
||||
LSB_DESCRIPTION=$(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2)
|
||||
fi
|
||||
# Strip quotes from LSB_DESCRIPTION
|
||||
LSB_DESCRIPTION="$(echo "${LSB_DESCRIPTION}" | sed 's/"//g')"
|
||||
|
||||
echo "Quickemu ${VERSION} using ${QEMU} v${QEMU_VER_LONG}"
|
||||
echo " - Host: ${LSB_DESCRIPTION} running ${KERNEL_NAME} ${KERNEL_VER} ${KERNEL_NODE}"
|
||||
|
@ -333,7 +331,7 @@ function vm_boot() {
|
|||
echo ", ${RAM_VM} RAM"
|
||||
|
||||
if [ "${guest_os}" == "macos" ] || [ "${guest_os}" == "windows" ] || [ "${guest_os}" == "windows-server" ]; then
|
||||
if [ "${RAM_VM//G/}" -lt 4 ]; then
|
||||
if [ "${RAM_VM//G/}" -lt 8 ]; then
|
||||
echo "ERROR! You have insufficient RAM to run ${guest_os} in a VM"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -514,15 +512,18 @@ function vm_boot() {
|
|||
esac
|
||||
;;
|
||||
macos)
|
||||
# https://www.nicksherlock.com/2020/04/installing-macos-catalina-on-proxmox-with-opencore/
|
||||
# https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/
|
||||
# noTSX stops cpuid errors https://duckduckgo.com/?t=ffab&q=CPUID.07H%3AEBX.rtm+%5Bbit+11%5D&ia=web also cited by NickSherlock for Ventura install
|
||||
# Penryn https://github.com/search?q=repo%3Akholia%2FOSX-KVM%20%20GenuineIntel&type=code
|
||||
# https://en.wikipedia.org/wiki/MacOS_version_history#Releases
|
||||
# quickget current list: mojave catalina big-sur monterey ventura sonoma
|
||||
# A CPU with fma is required for Metal support
|
||||
# A CPU with invtsc is required for macOS to boot
|
||||
# A CPU with SSE4.1 support is required for >= macOS Sierra
|
||||
# A CPU with SSE4.2 support is required for >= macOS Catalina
|
||||
# A CPU with AVX2 support is required for >= macOS Ventura
|
||||
if ! check_cpu_flag fma && ! check_cpu_flag invtsc; then
|
||||
echo "ERROR! macOS requires a CPU with FMA and INV TSC support."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# TODO: Investigate if hosts with an Intel CPU can just use `-cpu host`
|
||||
case ${macos_release} in
|
||||
ventura|sonoma)
|
||||
if check_cpu_flag sse4_2 && check_cpu_flag avx2; then
|
||||
|
@ -547,13 +548,8 @@ function vm_boot() {
|
|||
fi;;
|
||||
esac
|
||||
|
||||
# https://www.techpowerup.com/cpu-specs/xeon-w-2140b.c2953 8 cores 16 threads # skylake server
|
||||
# https://en.wikipedia.org/wiki/IMac_Pro#Technical_specifications Orig: High Sierra Max: Sonoma
|
||||
# https://en.wikipedia.org/wiki/MacOS#Hardware_compatibility needs 8GB RAM
|
||||
# https://qemu.readthedocs.io/en/v9.0.0/system/qemu-cpu-models.html#important-cpu-features-for-amd-x86-hosts
|
||||
# https://www.reddit.com/r/hackintosh/comments/141wnjk/state_of_macos_14_sonoma_on_x86/
|
||||
for FLAG in abm adx aes amd-ssbd bmi1 bmi2 cx8 eist ept f16c fma invtsc \
|
||||
mmx movbe mpx pdpe1gb smep vaes vbmi2 vpclmulqdq \
|
||||
mmx movbe mpx pdpe1gb popcnt smep vaes vbmi2 vpclmulqdq \
|
||||
xgetbv1 xsave xsaveopt; do
|
||||
if check_cpu_flag "${FLAG}"; then
|
||||
CPU+=",+${FLAG}"
|
||||
|
@ -1473,28 +1469,30 @@ function viewer_param_check() {
|
|||
|
||||
function parse_ports_from_file {
|
||||
local FILE="${VMDIR}/${VMNAME}.ports"
|
||||
local host_name=""
|
||||
local port_name=""
|
||||
local port_number=""
|
||||
|
||||
# Loop over each line in the file
|
||||
while IFS= read -r CONF || [ -n "${CONF}" ]; do
|
||||
echo "Processing line: ${CONF}"
|
||||
# parse ports
|
||||
# shellcheck disable=SC2207
|
||||
local port_name=( $(cat "${FILE}" | cut -d',' -f 1) )
|
||||
# shellcheck disable=SC2207
|
||||
local port_number=( $(cat "${FILE}" | cut -d',' -f 2) )
|
||||
# shellcheck disable=SC2207
|
||||
local host_name=( $(cat "${FILE}" | gawk 'FS="," {print $3,"."}') )
|
||||
port_name=$(echo "${CONF}" | cut -d',' -f 1)
|
||||
port_number=$(echo "${CONF}" | cut -d',' -f 2)
|
||||
host_name=$(echo "${CONF}" | awk 'FS="," {print $3,"."}')
|
||||
|
||||
for ((i=0; i<${#port_name[@]}; i++)); do
|
||||
if [ "${port_name[$i]}" == "ssh" ]; then
|
||||
SSH_PORT="${port_number[$i]}"
|
||||
elif [ "${port_name[$i]}" == "spice" ]; then
|
||||
SPICE_PORT="${port_number[$i]}"
|
||||
elif [ "${port_name[$i]}" == "monitor-telnet" ]; then
|
||||
MONITOR_TELNET_PORT="${port_number[$i]}"
|
||||
MONITOR_TELNET_HOST="${host_name[$i]}"
|
||||
elif [ "${port_name[$i]}" == "serial-telnet" ]; then
|
||||
SERIAL_TELNET_PORT="${port_number[$i]}"
|
||||
SERIAL_TELNET_HOST="${host_name[$i]}"
|
||||
if [ "${port_name}" == "ssh" ]; then
|
||||
SSH_PORT="${port_number}"
|
||||
elif [ "${port_name}" == "spice" ]; then
|
||||
SPICE_PORT="${port_number}"
|
||||
elif [ "${port_name}" == "monitor-telnet" ]; then
|
||||
MONITOR_TELNET_PORT="${port_number}"
|
||||
MONITOR_TELNET_HOST="${host_name}"
|
||||
elif [ "${port_name}" == "serial-telnet" ]; then
|
||||
SERIAL_TELNET_PORT="${port_number}"
|
||||
SERIAL_TELNET_HOST="${host_name}"
|
||||
fi
|
||||
done
|
||||
done < "${FILE}"
|
||||
}
|
||||
|
||||
function is_numeric {
|
||||
|
@ -1927,8 +1925,7 @@ if [ -n "${VM}" ] && [ -e "${VM}" ]; then
|
|||
VM_UP=0
|
||||
if [ -r "${VMDIR}/${VMNAME}.pid" ]; then
|
||||
VM_PID=$(head -c50 "${VMDIR}/${VMNAME}.pid")
|
||||
kill -0 ${VM_PID} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
if kill -0 "${VM_PID}" > /dev/null 2>&1; then
|
||||
echo "VM already started!"
|
||||
VM_UP=1
|
||||
fi
|
||||
|
|
387
quickget
387
quickget
|
@ -11,134 +11,128 @@ function cleanup() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Get string before first whitespace (HASH)
|
||||
function cut_1() {
|
||||
cut -d' ' -f1
|
||||
}
|
||||
|
||||
function os_info() {
|
||||
local SIMPLE_NAME=""
|
||||
local INFO=""
|
||||
SIMPLE_NAME="${1}"
|
||||
case ${SIMPLE_NAME} in
|
||||
#name) INFO="PrettyName|BasedOf|Credentials|Homepage|Info";;
|
||||
alma) INFO="AlmaLinux|Fedora,RedHat|-|https://almalinux.org/|Community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®.";;
|
||||
alpine) INFO="Alpine Linux|Independent|-|https://alpinelinux.org/|Security-oriented, lightweight Linux distribution based on musl libc and busybox.";;
|
||||
android) INFO="Android x86|Independent|-|https://www.android-x86.org/|Port Android Open Source Project to x86 platform.";;
|
||||
antix) INFO="Antix|Debian|-|https://antixlinux.com/|Fast, lightweight and easy to install systemd-free linux live CD distribution based on Debian Stable for Intel-AMD x86 compatible systems.";;
|
||||
archcraft) INFO="Archcraft|Arch|-|https://archcraft.io/|Yet another minimal Linux distribution, based on Arch Linux.";;
|
||||
archlinux) INFO="Arch Linux|Independent|-|https://archlinux.org/|Lightweight and flexible Linux® distribution that tries to Keep It Simple.";;
|
||||
arcolinux) INFO="Arco Linux|Arch|-|https://arcolinux.com/|Is all about becoming an expert in linux.";;
|
||||
artixlinux) INFO="Artix Linux|Arch|-|https://artixlinux.org/|The Art of Linux. Simple. Fast. Systemd-free.";;
|
||||
athenaos) INFO="Athena OS|Arch|-|https://athenaos.org/|Offer a different experience than the most used pentesting distributions by providing only tools that fit with the user needs and improving the access to hacking resources and learning materials.";;
|
||||
batocera) INFO="Batocera|Independent|-|https://batocera.org/|Retro-gaming distribution with the aim of turning any computer/nano computer into a gaming console during a game or permanently.";;
|
||||
bazzite) INFO="Bazzite|Fedora,SteamOS|-|https://github.com/ublue-os/bazzite/|Container native gaming and a ready-to-game SteamOS like.";;
|
||||
biglinux) INFO="BigLinux|unknown|-|https://www.biglinux.com.br/|Is the right choice if you want to have an easy and enriching experience with Linux. It has been perfected over more than 19 years, following our motto: 'In search of the perfect system'.";;
|
||||
blendos) INFO="BlendOS|Arch|-|https://blendos.co/|A seamless blend of all Linux distributions. Allows you to have an immutable, atomic and declarative Arch Linux system, with application support from several Linux distributions & Android.";;
|
||||
bodhi) INFO="Bodhi|Debian,Ubuntu|-|https://www.bodhilinux.com/|Lightweight distribution featuring the fast & fully customizable Moksha Desktop.";;
|
||||
bunsenlabs) INFO="BunsenLabs|Debian|-|https://www.bunsenlabs.org/|Light-weight and easily customizable Openbox desktop. The project is a community continuation of CrunchBang Linux.";;
|
||||
cachyos) INFO="CachyOS|Arch|-|https://cachyos.org/|Designed to deliver lightning-fast speeds and stability, ensuring a smooth and enjoyable computing experience every time you use it.";;
|
||||
centos-stream) INFO="CentOS Stream|Fedora,RedHat|-|https://www.centos.org/centos-stream/|Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL.";;
|
||||
chimeralinux) INFO="Chimera Linux|Independent|anon:chimera root:chimera|https://chimera-linux.org/|Modern, general-purpose non-GNU Linux distribution.";;
|
||||
crunchbang++) INFO="Crunchbangplusplus|Debian|-|https://www.crunchbangplusplus.org/|The classic minimal crunchbang feel, now with debian 12 bookworm.";;
|
||||
debian) INFO="Debian|Independent|-|https://www.debian.org/|Complete Free Operating System with perfect level of ease of use and stability.";;
|
||||
deepin) INFO="Deepin|Debian|-|https://www.deepin.org/|Beautiful UI design, intimate human-computer interaction, and friendly community environment make you feel at home.";;
|
||||
devuan) INFO="Devuan|Debian|-|https://www.devuan.org/|Fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.";;
|
||||
dragonflybsd) INFO="DragonFlyBSD|FreeBSD|-|https://www.dragonflybsd.org/|Provides an opportunity for the BSD base to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.";;
|
||||
easyos) INFO="EasyOS|Independent|-|https://easyos.org/|Experimental distribution designed from scratch to support containers.";;
|
||||
edubuntu) INFO="Edubuntu|Ubuntu|-|https://www.edubuntu.org/|Stable, secure and privacy concious option for schools.";;
|
||||
elementary) INFO="elementary OS|Debian,Ubuntu|-|https://elementary.io/|Thoughtful, capable, and ethical replacement for Windows and macOS.";;
|
||||
endeavouros) INFO="EndeavourOS|Arch|-|https://endeavouros.com/|Provides an Arch experience without the hassle of installing it manually for both x86_64 and ARM systems.";;
|
||||
endless) INFO="Endless OS|Debian|-|https://www.endlessos.org/os|Completely Free, User-Friendly Operating System Packed with Educational Tools, Games, and More.";;
|
||||
fedora) INFO="Fedora|Independent|-|https://www.fedoraproject.org/|Innovative platform for hardware, clouds, and containers, built with love by you.";;
|
||||
freebsd) INFO="FreeBSD|Independent|-|https://www.freebsd.org/|Operating system used to power modern servers, desktops, and embedded platforms.";;
|
||||
freedos) INFO="FreeDOS|Independent|-|https://freedos.org/|DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems.";;
|
||||
garuda) INFO="Garuda Linux|Arch|-|https://garudalinux.org/|Feature rich and easy to use Linux distribution.";;
|
||||
gentoo) INFO="Gentoo|Independent|-|https://www.gentoo.org/|Highly flexible, source-based Linux distribution.";;
|
||||
ghostbsd) INFO="GhostBSD|FreeBSD|-|https://www.ghostbsd.org/|Simple, elegant desktop BSD Operating System.";;
|
||||
gnomeos) INFO="GNOME OS|Independent|-|https://os.gnome.org/|Alpha nightly bleeding edge distro of GNOME";;
|
||||
guix) INFO="Guix|Independent|-|https://guix.gnu.org/|Distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.";;
|
||||
haiku) INFO="Haiku|Independent|-|https://www.haiku-os.org/|Specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.";;
|
||||
holoiso) INFO="HoloISO|Arch,SteamOS|-|https://github.com/HoloISO/holoiso|Bring the Steam Decks SteamOS Holo redistribution and provide a close-to-official SteamOS experience.";;
|
||||
kali) INFO="Kali|Debian|-|https://www.kali.org/|The most advanced Penetration Testing Distribution.";;
|
||||
kdeneon) INFO="KDE Neon|Debian,Ubuntu|-|https://neon.kde.org/|Latest and greatest of KDE community software packaged on a rock-solid base.";;
|
||||
kolibrios) INFO="KolibriOS|Independent|-|http://kolibrios.org/en/|Tiny yet incredibly powerful and fast operating system.";;
|
||||
kubuntu) INFO="Kubuntu|Ubuntu|-|https://kubuntu.org/|Free, complete, and open-source alternative to Microsoft Windows and Mac OS X which contains everything you need to work, play, or share.";;
|
||||
linuxlite) INFO="Linux Lite|Debian,Ubuntu|-|https://www.linuxliteos.com/|Your first simple, fast and free stop in the world of Linux.";;
|
||||
linuxmint) INFO="Linux Mint|Debian,Ubuntu|-|https://linuxmint.com/|Designed to work out of the box and comes fully equipped with the apps most people need.";;
|
||||
lmde) INFO="Linux Mint Debian Edition|Debian|-|https://www.linuxmint.com/download_lmde.php|Aims to be as similar as possible to Linux Mint, but without using Ubuntu. The package base is provided by Debian instead.";;
|
||||
lubuntu) INFO="Lubuntu|Ubuntu|-|https://lubuntu.me/|Complete Operating System that ships the essential apps and services for daily use: office applications, PDF reader, image editor, music and video players, etc. Using lightwave lxde/lxqt.";;
|
||||
mageia) INFO="Mageia|Independent|-|https://www.mageia.org/|Stable, secure operating system for desktop & server.";;
|
||||
manjaro) INFO="Manjaro|Arch|-|https://manjaro.org/|Versatile, free, and open-source Linux operating system designed with a strong focus on safeguarding user privacy and offering extensive control over hardware.";;
|
||||
mxlinux) INFO="MX Linux|Debian,Antix|-|https://mxlinux.org/|Designed to combine elegant and efficient desktops with high stability and solid performance.";;
|
||||
netboot) INFO="netboot.xyz|iPXE|-|https://netboot.xyz/|Your favorite operating systems in one place.";;
|
||||
netbsd) INFO="NetBSD|Independent|-|https://www.netbsd.org/|Free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.";;
|
||||
nitrux) INFO="Nitrux|Debian|-|https://nxos.org/|Powered by Debian, KDE Plasma and Frameworks, and AppImages.";;
|
||||
nixos) INFO="NixOS|Independent|-|https://nixos.org/|Linux distribution based on Nix package manager, tool that takes a unique approach to package management and system configuration.";;
|
||||
nwg-shell) INFO="nwg-shell|Arch|nwg:nwg|https://nwg-piotr.github.io/nwg-shell/|Arch Linux ISO with nwg-shell for sway and Hyprland";;
|
||||
macos) INFO="macOS|proprietary|-|https://www.apple.com/macos/|Work and play on your Mac are even more powerful. Elevate your presence on video calls. Access information in all-new ways. Boost gaming performance. And discover even more ways to personalize your Mac.";;
|
||||
openbsd) INFO="OpenBSD|Independent|-|https://www.openbsd.org/|FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography.";;
|
||||
openindiana) INFO="OpenIndiana|Solaris,OpenSolaris|-|https://www.openindiana.org/|Community supported illumos-based operating system.";;
|
||||
opensuse) INFO="openSUSE|Independent|-|https://www.opensuse.org/|The makers choice for sysadmins, developers and desktop users.";;
|
||||
oraclelinux) INFO="Oracle Linux|RedHat|-|https://www.oracle.com/linux/|Linux with everything required to deploy, optimize, and manage applications on-premises, in the cloud, and at the edge.";;
|
||||
parrotsec) INFO="Parrot Security|Debian|parrot:parrot|https://www.parrotsec.org/|Provides a huge arsenal of tools, utilities and libraries that IT and security professionals can use to test and assess the security of their assets in a reliable, compliant and reproducible way.";;
|
||||
peppermint) INFO="PeppermintOS|Debian,Devuan|-|https://peppermintos.com/|Provides a user with the opportunity to build the system that best fits their needs. While at the same time providing a functioning OS with minimum hassle out of the box.";;
|
||||
popos) INFO="Pop!_OS|Ubuntu|-|https://pop.system76.com/|Operating system for STEM and creative professionals who use their computer as a tool to discover and create.";;
|
||||
porteus) INFO="Porteus|Slackware|-|http://www.porteus.org/|Complete linux operating system that is optimized to run from CD, USB flash drive, hard drive, or other bootable storage media.";;
|
||||
primtux) INFO="PrimTux|Ubuntu|-|https://primtux.fr/|A complete and customizable GNU/Linux operating system intended for primary school students and suitable even for older hardware.";;
|
||||
pureos) INFO="PureOS|Debian|-|https://www.pureos.net/|A fully free/libre and open source GNU/Linux operating system, endorsed by the Free Software Foundation.";;
|
||||
reactos) INFO="ReactOS|Independent|-|https://reactos.org/|Imagine running your favorite Windows applications and drivers in an open-source environment you can trust.";;
|
||||
rebornos) INFO="RebornOS|Arch|-|https://rebornos.org/|Aiming to make Arch Linux as user friendly as possible by providing interface solutions to things you normally have to do in a terminal.";;
|
||||
rockylinux) INFO="Rocky Linux|RedHat|-|https://rockylinux.org/|Open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux®.";;
|
||||
siduction) INFO="Siduction|Debian|-|https://siduction.org/|Operating system based on the Linux kernel and the GNU project. In addition, there are applications and libraries from Debian.";;
|
||||
slackware) INFO="Slackware|Independent|-|http://www.slackware.com/|Advanced Linux operating system, designed with the twin goals of ease of use and stability as top priorities.";;
|
||||
slax) INFO="Slax|Debian Slackware|-|https://www.slax.org/|Compact, fast, and modern Linux operating system that combines sleek design with modular approach. With the ability to run directly from a USB flash drive without the need for installation, Slax is truly portable and fits easily in your pocket.";;
|
||||
slint) INFO="Slint|Slackware|-|https://slint.fr/|Slint is an easy-to-use, versatile, blind-friendly Linux distribution for 64-bit computers. Slint is based on Slackware and borrows tools from Salix. Maintainer: Didier Spaier.";;
|
||||
slitaz) INFO="SliTaz|Independent|-|https://www.slitaz.org/en/|Simple, fast and low resource Linux OS for servers & desktops.";;
|
||||
solus) INFO="Solus|Independent|-|https://getsol.us/|Designed for home computing. Every tweak enables us to deliver a cohesive computing experience.";;
|
||||
sparkylinux) INFO="SparkyLinux|Debian|-|https://sparkylinux.org/|Fast, lightweight and fully customizable operating system which offers several versions for different use cases.";;
|
||||
spirallinux) INFO="SpiralLinux|Debian|-|https://spirallinux.github.io/|Selection of Linux spins built from Debian GNU/Linux, with a focus on simplicity and out-of-the-box usability across all the major desktop environments.";;
|
||||
tails) INFO="Tails|Debian|-|https://tails.net/|Portable operating system that protects against surveillance and censorship.";;
|
||||
tinycore) INFO="Tiny Core Linux|Independent|-|http://www.tinycorelinux.net/|Highly modular based system with community build extensions.";;
|
||||
trisquel) INFO="Trisquel|Debian,Ubuntu|-|https://trisquel.info/|Fully free operating system for home users, small enterprises and educational centers.";;
|
||||
truenas-core) INFO="TrueNAS Core|FreeBSD|-|https://www.truenas.com/truenas-core/|World’s most popular storage OS because it gives you the power to build your own professional-grade storage system to use in a variety of data-intensive applications without any software costs.";;
|
||||
truenas-scale) INFO="TrueNAS Scale|Debian|-|https://www.truenas.com/truenas-scale/|Open Source Hyperconverged Infrastructure (HCI) solution. In addition to powerful scale-out storage capabilities, SCALE adds Linux Containers and VMs (KVM) so apps run closer to data.";;
|
||||
tuxedo-os) INFO="Tuxedo OS|Ubuntu|-|https://www.tuxedocomputers.com/en/|KDE Ubuntu LTS designed to go with their Linux hardware.";;
|
||||
ubuntu) INFO="Ubuntu|Debian|-|https://ubuntu.com/|Complete desktop Linux operating system, freely available with both community and professional support.";;
|
||||
ubuntu-budgie) INFO="Ubuntu Budgie|Ubuntu|-|https://ubuntubudgie.org/|Community developed distribution, integrating the Budgie Desktop Environment with Ubuntu at its core.";;
|
||||
ubuntucinnamon) INFO="Ubuntu Cinnamon|Ubuntu|-|https://ubuntucinnamon.org/|Community-driven, featuring Linux Mint’s Cinnamon Desktop with Ubuntu at the core, packed fast and full of features, here is the most traditionally modern desktop you will ever love.";;
|
||||
ubuntukylin) INFO="Ubuntu Kylin|Ubuntu|-|https://ubuntukylin.com/|Universal desktop operating system for personal computers, laptops, and embedded devices. It is dedicated to bringing a smarter user experience to users all over the world.";;
|
||||
ubuntu-mate) INFO="Ubuntu MATE|Ubuntu|-|https://ubuntu-mate.org/|Stable, easy-to-use operating system with a configurable desktop environment. It is ideal for those who want the most out of their computers and prefer a traditional desktop metaphor. Using Mate desktop.";;
|
||||
ubuntu-server) INFO="Ubuntu Server|Ubuntu|-|https://ubuntu.com/server|Brings economic and technical scalability to your datacentre, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.";;
|
||||
ubuntustudio) INFO="Ubuntu Studio|Ubuntu|-|https://ubuntustudio.org/|Comes preinstalled with a selection of the most common free multimedia applications available, and is configured for best performance for various purposes: Audio, Graphics, Video, Photography and Publishing.";;
|
||||
ubuntu-unity) INFO="Ubuntu Unity|Ubuntu|-|https://ubuntuunity.org/|Flavor of Ubuntu featuring the Unity7 desktop environment (the default desktop environment used by Ubuntu from 2010-2017).";;
|
||||
vanillaos) INFO="Vanilla OS|Debian,Ubuntu|-|https://vanillaos.org/|Designed to be a reliable and productive operating system for your daily work.";;
|
||||
void) INFO="Void Linux|Independent|anon:voidlinux|https://voidlinux.org/|General purpose operating system. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources.";;
|
||||
vxlinux) INFO="VX Linux|Void|-|https://vxlinux.org/|Pre-configured, secure systemd-free Plasma desktop with focus on convenience, performance and simplicity. Based on the excellent Void Linux.";;
|
||||
windows) INFO="Windows|proprietary|-|https://www.microsoft.com/en-us/windows/|Whether you’re gaming, studying, running a business, or running a household, Windows helps you get it done.";;
|
||||
windows-server) INFO="Windows Server|proprietary|-|https://www.microsoft.com/en-us/windows-server/|Platform for building an infrastructure of connected applications, networks, and web services.";;
|
||||
xubuntu) INFO="Xubuntu|Ubuntu|-|https://xubuntu.org/|Elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.";;
|
||||
zorin) INFO="Zorin OS|Ubuntu|-|https://zorin.com/os/|Alternative to Windows and macOS designed to make your computer faster, more powerful, secure, and privacy-respecting.";;
|
||||
#name) INFO="PrettyName|Credentials|Homepage|Info";;
|
||||
alma) INFO="AlmaLinux|-|https://almalinux.org/|Community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®.";;
|
||||
alpine) INFO="Alpine Linux|-|https://alpinelinux.org/|Security-oriented, lightweight Linux distribution based on musl libc and busybox.";;
|
||||
android) INFO="Android x86|-|https://www.android-x86.org/|Port Android Open Source Project to x86 platform.";;
|
||||
antix) INFO="Antix|-|https://antixlinux.com/|Fast, lightweight and easy to install systemd-free linux live CD distribution based on Debian Stable for Intel-AMD x86 compatible systems.";;
|
||||
archcraft) INFO="Archcraft|-|https://archcraft.io/|Yet another minimal Linux distribution, based on Arch Linux.";;
|
||||
archlinux) INFO="Arch Linux|-|https://archlinux.org/|Lightweight and flexible Linux® distribution that tries to Keep It Simple.";;
|
||||
arcolinux) INFO="Arco Linux|-|https://arcolinux.com/|Is all about becoming an expert in linux.";;
|
||||
artixlinux) INFO="Artix Linux|-|https://artixlinux.org/|The Art of Linux. Simple. Fast. Systemd-free.";;
|
||||
athenaos) INFO="Athena OS|-|https://athenaos.org/|Offer a different experience than the most used pentesting distributions by providing only tools that fit with the user needs and improving the access to hacking resources and learning materials.";;
|
||||
batocera) INFO="Batocera|-|https://batocera.org/|Retro-gaming distribution with the aim of turning any computer/nano computer into a gaming console during a game or permanently.";;
|
||||
bazzite) INFO="Bazzite|-|https://github.com/ublue-os/bazzite/|Container native gaming and a ready-to-game SteamOS like.";;
|
||||
biglinux) INFO="BigLinux|-|https://www.biglinux.com.br/|Is the right choice if you want to have an easy and enriching experience with Linux. It has been perfected over more than 19 years, following our motto: 'In search of the perfect system'.";;
|
||||
blendos) INFO="BlendOS|-|https://blendos.co/|A seamless blend of all Linux distributions. Allows you to have an immutable, atomic and declarative Arch Linux system, with application support from several Linux distributions & Android.";;
|
||||
bodhi) INFO="Bodhi|-|https://www.bodhilinux.com/|Lightweight distribution featuring the fast & fully customizable Moksha Desktop.";;
|
||||
bunsenlabs) INFO="BunsenLabs|-|https://www.bunsenlabs.org/|Light-weight and easily customizable Openbox desktop. The project is a community continuation of CrunchBang Linux.";;
|
||||
cachyos) INFO="CachyOS|-|https://cachyos.org/|Designed to deliver lightning-fast speeds and stability, ensuring a smooth and enjoyable computing experience every time you use it.";;
|
||||
centos-stream) INFO="CentOS Stream|-|https://www.centos.org/centos-stream/|Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL.";;
|
||||
chimeralinux) INFO="Chimera Linux|anon:chimera root:chimera|https://chimera-linux.org/|Modern, general-purpose non-GNU Linux distribution.";;
|
||||
crunchbang++) INFO="Crunchbangplusplus|-|https://www.crunchbangplusplus.org/|The classic minimal crunchbang feel, now with debian 12 bookworm.";;
|
||||
debian) INFO="Debian|-|https://www.debian.org/|Complete Free Operating System with perfect level of ease of use and stability.";;
|
||||
deepin) INFO="Deepin|-|https://www.deepin.org/|Beautiful UI design, intimate human-computer interaction, and friendly community environment make you feel at home.";;
|
||||
devuan) INFO="Devuan|-|https://www.devuan.org/|Fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.";;
|
||||
dragonflybsd) INFO="DragonFlyBSD|-|https://www.dragonflybsd.org/|Provides an opportunity for the BSD base to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.";;
|
||||
easyos) INFO="EasyOS|-|https://easyos.org/|Experimental distribution designed from scratch to support containers.";;
|
||||
edubuntu) INFO="Edubuntu|-|https://www.edubuntu.org/|Stable, secure and privacy concious option for schools.";;
|
||||
elementary) INFO="elementary OS|-|https://elementary.io/|Thoughtful, capable, and ethical replacement for Windows and macOS.";;
|
||||
endeavouros) INFO="EndeavourOS|-|https://endeavouros.com/|Provides an Arch experience without the hassle of installing it manually for both x86_64 and ARM systems.";;
|
||||
endless) INFO="Endless OS|-|https://www.endlessos.org/os|Completely Free, User-Friendly Operating System Packed with Educational Tools, Games, and More.";;
|
||||
fedora) INFO="Fedora|-|https://www.fedoraproject.org/|Innovative platform for hardware, clouds, and containers, built with love by you.";;
|
||||
freebsd) INFO="FreeBSD|-|https://www.freebsd.org/|Operating system used to power modern servers, desktops, and embedded platforms.";;
|
||||
freedos) INFO="FreeDOS|-|https://freedos.org/|DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems.";;
|
||||
garuda) INFO="Garuda Linux|-|https://garudalinux.org/|Feature rich and easy to use Linux distribution.";;
|
||||
gentoo) INFO="Gentoo|-|https://www.gentoo.org/|Highly flexible, source-based Linux distribution.";;
|
||||
ghostbsd) INFO="GhostBSD|-|https://www.ghostbsd.org/|Simple, elegant desktop BSD Operating System.";;
|
||||
gnomeos) INFO="GNOME OS|-|https://os.gnome.org/|Alpha nightly bleeding edge distro of GNOME";;
|
||||
guix) INFO="Guix|-|https://guix.gnu.org/|Distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.";;
|
||||
haiku) INFO="Haiku|-|https://www.haiku-os.org/|Specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.";;
|
||||
holoiso) INFO="HoloISO|-|https://github.com/HoloISO/holoiso|Bring the Steam Decks SteamOS Holo redistribution and provide a close-to-official SteamOS experience.";;
|
||||
kali) INFO="Kali|-|https://www.kali.org/|The most advanced Penetration Testing Distribution.";;
|
||||
kdeneon) INFO="KDE Neon|-|https://neon.kde.org/|Latest and greatest of KDE community software packaged on a rock-solid base.";;
|
||||
kolibrios) INFO="KolibriOS|-|http://kolibrios.org/en/|Tiny yet incredibly powerful and fast operating system.";;
|
||||
kubuntu) INFO="Kubuntu|-|https://kubuntu.org/|Free, complete, and open-source alternative to Microsoft Windows and Mac OS X which contains everything you need to work, play, or share.";;
|
||||
linuxlite) INFO="Linux Lite|-|https://www.linuxliteos.com/|Your first simple, fast and free stop in the world of Linux.";;
|
||||
linuxmint) INFO="Linux Mint|-|https://linuxmint.com/|Designed to work out of the box and comes fully equipped with the apps most people need.";;
|
||||
lmde) INFO="Linux Mint Debian Edition|-|https://www.linuxmint.com/download_lmde.php|Aims to be as similar as possible to Linux Mint, but without using Ubuntu. The package base is provided by Debian instead.";;
|
||||
lubuntu) INFO="Lubuntu|-|https://lubuntu.me/|Complete Operating System that ships the essential apps and services for daily use: office applications, PDF reader, image editor, music and video players, etc. Using lightwave lxde/lxqt.";;
|
||||
mageia) INFO="Mageia|-|https://www.mageia.org/|Stable, secure operating system for desktop & server.";;
|
||||
manjaro) INFO="Manjaro|-|https://manjaro.org/|Versatile, free, and open-source Linux operating system designed with a strong focus on safeguarding user privacy and offering extensive control over hardware.";;
|
||||
mxlinux) INFO="MX Linux|-|https://mxlinux.org/|Designed to combine elegant and efficient desktops with high stability and solid performance.";;
|
||||
netboot) INFO="netboot.xyz|-|https://netboot.xyz/|Your favorite operating systems in one place.";;
|
||||
netbsd) INFO="NetBSD|-|https://www.netbsd.org/|Free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.";;
|
||||
nitrux) INFO="Nitrux|-|https://nxos.org/|Powered by Debian, KDE Plasma and Frameworks, and AppImages.";;
|
||||
nixos) INFO="NixOS|-|https://nixos.org/|Linux distribution based on Nix package manager, tool that takes a unique approach to package management and system configuration.";;
|
||||
nwg-shell) INFO="nwg-shell|nwg:nwg|https://nwg-piotr.github.io/nwg-shell/|Arch Linux ISO with nwg-shell for sway and Hyprland";;
|
||||
macos) INFO="macOS|-|https://www.apple.com/macos/|Work and play on your Mac are even more powerful. Elevate your presence on video calls. Access information in all-new ways. Boost gaming performance. And discover even more ways to personalize your Mac.";;
|
||||
openbsd) INFO="OpenBSD|-|https://www.openbsd.org/|FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography.";;
|
||||
openindiana) INFO="OpenIndiana|-|https://www.openindiana.org/|Community supported illumos-based operating system.";;
|
||||
opensuse) INFO="openSUSE|-|https://www.opensuse.org/|The makers choice for sysadmins, developers and desktop users.";;
|
||||
oraclelinux) INFO="Oracle Linux|-|https://www.oracle.com/linux/|Linux with everything required to deploy, optimize, and manage applications on-premises, in the cloud, and at the edge.";;
|
||||
parrotsec) INFO="Parrot Security|parrot:parrot|https://www.parrotsec.org/|Provides a huge arsenal of tools, utilities and libraries that IT and security professionals can use to test and assess the security of their assets in a reliable, compliant and reproducible way.";;
|
||||
peppermint) INFO="PeppermintOS|-|https://peppermintos.com/|Provides a user with the opportunity to build the system that best fits their needs. While at the same time providing a functioning OS with minimum hassle out of the box.";;
|
||||
popos) INFO="Pop!_OS|-|https://pop.system76.com/|Operating system for STEM and creative professionals who use their computer as a tool to discover and create.";;
|
||||
porteus) INFO="Porteus|-|http://www.porteus.org/|Complete linux operating system that is optimized to run from CD, USB flash drive, hard drive, or other bootable storage media.";;
|
||||
primtux) INFO="PrimTux|-|https://primtux.fr/|A complete and customizable GNU/Linux operating system intended for primary school students and suitable even for older hardware.";;
|
||||
pureos) INFO="PureOS|-|https://www.pureos.net/|A fully free/libre and open source GNU/Linux operating system, endorsed by the Free Software Foundation.";;
|
||||
reactos) INFO="ReactOS|-|https://reactos.org/|Imagine running your favorite Windows applications and drivers in an open-source environment you can trust.";;
|
||||
rebornos) INFO="RebornOS|-|https://rebornos.org/|Aiming to make Arch Linux as user friendly as possible by providing interface solutions to things you normally have to do in a terminal.";;
|
||||
rockylinux) INFO="Rocky Linux|-|https://rockylinux.org/|Open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux®.";;
|
||||
siduction) INFO="Siduction|-|https://siduction.org/|Operating system based on the Linux kernel and the GNU project. In addition, there are applications and libraries from Debian.";;
|
||||
slackware) INFO="Slackware|-|http://www.slackware.com/|Advanced Linux operating system, designed with the twin goals of ease of use and stability as top priorities.";;
|
||||
slax) INFO="Slax|-|https://www.slax.org/|Compact, fast, and modern Linux operating system that combines sleek design with modular approach. With the ability to run directly from a USB flash drive without the need for installation, Slax is truly portable and fits easily in your pocket.";;
|
||||
slint) INFO="Slint|-|https://slint.fr/|Slint is an easy-to-use, versatile, blind-friendly Linux distribution for 64-bit computers. Slint is based on Slackware and borrows tools from Salix. Maintainer: Didier Spaier.";;
|
||||
slitaz) INFO="SliTaz|-|https://www.slitaz.org/en/|Simple, fast and low resource Linux OS for servers & desktops.";;
|
||||
solus) INFO="Solus|-|https://getsol.us/|Designed for home computing. Every tweak enables us to deliver a cohesive computing experience.";;
|
||||
sparkylinux) INFO="SparkyLinux|-|https://sparkylinux.org/|Fast, lightweight and fully customizable operating system which offers several versions for different use cases.";;
|
||||
spirallinux) INFO="SpiralLinux|-|https://spirallinux.github.io/|Selection of Linux spins built from Debian GNU/Linux, with a focus on simplicity and out-of-the-box usability across all the major desktop environments.";;
|
||||
tails) INFO="Tails|-|https://tails.net/|Portable operating system that protects against surveillance and censorship.";;
|
||||
tinycore) INFO="Tiny Core Linux|-|http://www.tinycorelinux.net/|Highly modular based system with community build extensions.";;
|
||||
trisquel) INFO="Trisquel-|https://trisquel.info/|Fully free operating system for home users, small enterprises and educational centers.";;
|
||||
truenas-core) INFO="TrueNAS Core|-|https://www.truenas.com/truenas-core/|World’s most popular storage OS because it gives you the power to build your own professional-grade storage system to use in a variety of data-intensive applications without any software costs.";;
|
||||
truenas-scale) INFO="TrueNAS Scale|-|https://www.truenas.com/truenas-scale/|Open Source Hyperconverged Infrastructure (HCI) solution. In addition to powerful scale-out storage capabilities, SCALE adds Linux Containers and VMs (KVM) so apps run closer to data.";;
|
||||
tuxedo-os) INFO="Tuxedo OS|-|https://www.tuxedocomputers.com/en/|KDE Ubuntu LTS designed to go with their Linux hardware.";;
|
||||
ubuntu) INFO="Ubuntu|-|https://ubuntu.com/|Complete desktop Linux operating system, freely available with both community and professional support.";;
|
||||
ubuntu-budgie) INFO="Ubuntu Budgie|-|https://ubuntubudgie.org/|Community developed distribution, integrating the Budgie Desktop Environment with Ubuntu at its core.";;
|
||||
ubuntucinnamon) INFO="Ubuntu Cinnamon|-|https://ubuntucinnamon.org/|Community-driven, featuring Linux Mint’s Cinnamon Desktop with Ubuntu at the core, packed fast and full of features, here is the most traditionally modern desktop you will ever love.";;
|
||||
ubuntukylin) INFO="Ubuntu Kylin|-|https://ubuntukylin.com/|Universal desktop operating system for personal computers, laptops, and embedded devices. It is dedicated to bringing a smarter user experience to users all over the world.";;
|
||||
ubuntu-mate) INFO="Ubuntu MATE|-|https://ubuntu-mate.org/|Stable, easy-to-use operating system with a configurable desktop environment. It is ideal for those who want the most out of their computers and prefer a traditional desktop metaphor. Using Mate desktop.";;
|
||||
ubuntu-server) INFO="Ubuntu Server|-|https://ubuntu.com/server|Brings economic and technical scalability to your datacentre, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.";;
|
||||
ubuntustudio) INFO="Ubuntu Studio|-|https://ubuntustudio.org/|Comes preinstalled with a selection of the most common free multimedia applications available, and is configured for best performance for various purposes: Audio, Graphics, Video, Photography and Publishing.";;
|
||||
ubuntu-unity) INFO="Ubuntu Unity|-|https://ubuntuunity.org/|Flavor of Ubuntu featuring the Unity7 desktop environment (the default desktop environment used by Ubuntu from 2010-2017).";;
|
||||
vanillaos) INFO="Vanilla OS|-|https://vanillaos.org/|Designed to be a reliable and productive operating system for your daily work.";;
|
||||
void) INFO="Void Linux|anon:voidlinux|https://voidlinux.org/|General purpose operating system. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources.";;
|
||||
vxlinux) INFO="VX Linux|-|https://vxlinux.org/|Pre-configured, secure systemd-free Plasma desktop with focus on convenience, performance and simplicity. Based on the excellent Void Linux.";;
|
||||
windows) INFO="Windows|-|https://www.microsoft.com/en-us/windows/|Whether you’re gaming, studying, running a business, or running a household, Windows helps you get it done.";;
|
||||
windows-server) INFO="Windows Server|-|https://www.microsoft.com/en-us/windows-server/|Platform for building an infrastructure of connected applications, networks, and web services.";;
|
||||
xubuntu) INFO="Xubuntu|-|https://xubuntu.org/|Elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.";;
|
||||
zorin) INFO="Zorin OS|-|https://zorin.com/os/|Alternative to Windows and macOS designed to make your computer faster, more powerful, secure, and privacy-respecting.";;
|
||||
esac
|
||||
echo "${INFO}"
|
||||
}
|
||||
|
||||
function show_os_info() {
|
||||
while getopts ":12345" opt; do
|
||||
case $opt in
|
||||
1|2|3|4|5) os_info "${2}" | cut -d'|' -f "${opt}";;
|
||||
*) error_not_supported_argument;;
|
||||
esac
|
||||
done
|
||||
echo
|
||||
echo -e "$(os_info "${1}" | cut -d'|' -f 1)"
|
||||
echo -e " - Credentials:\t$(os_info "${1}" | cut -d'|' -f 2)"
|
||||
echo -e " - Website:\t$(os_info "${1}" | cut -d'|' -f 3)"
|
||||
echo -e " - Description:\t$(os_info "${1}" | cut -d'|' -f 4)"
|
||||
}
|
||||
|
||||
function pretty_name() {
|
||||
show_os_info -1 "${1}"
|
||||
os_info "${1}" | cut -d'|' -f 1
|
||||
}
|
||||
|
||||
# Just in case quickget want use it
|
||||
function os_homepage() {
|
||||
show_os_info -4 "${1}"
|
||||
os_info "${1}" | cut -d'|' -f 4
|
||||
}
|
||||
|
||||
function error_specify_os() {
|
||||
|
@ -158,45 +152,40 @@ function os_supported() {
|
|||
}
|
||||
|
||||
function error_specify_release() {
|
||||
echo "ERROR! You must specify a release."
|
||||
show_os_info "${OS}"
|
||||
case ${OS} in
|
||||
*ubuntu-server*)
|
||||
echo -n ' - Releases: '
|
||||
echo -en " - Releases:\t"
|
||||
releases_ubuntu-server | sed -Ee 's/eol-\S+//g' # hide eol releases
|
||||
;;
|
||||
*ubuntu*)
|
||||
echo -n ' - Releases: '
|
||||
echo -en " - Releases:\t"
|
||||
releases_ubuntu | sed -Ee 's/eol-\S+//g' # hide eol releases
|
||||
;;
|
||||
*windows*)
|
||||
echo -n ' - Releases: '
|
||||
echo -en " - Releases:\t"
|
||||
"releases_${OS}"
|
||||
echo -n ' - Languages: '
|
||||
"languages_${OS}" && echo "${LANGS[@]}"
|
||||
echo -en " - Languages:\t"
|
||||
"languages_${OS}"
|
||||
echo "${LANGS[@]}"
|
||||
;;
|
||||
*)
|
||||
echo -n ' - Releases: '
|
||||
echo -en " - Releases:\t"
|
||||
"releases_${OS}" | fold -s -w "$(tput cols)"
|
||||
if [[ $(type -t "editions_${OS}") == function ]]; then
|
||||
echo -n ' - Editions: '
|
||||
echo -en " - Editions:\t"
|
||||
"editions_${OS}" | fold -s -w "$(tput cols)"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
echo -e "\nERROR! You must specify a release."
|
||||
exit 1
|
||||
}
|
||||
|
||||
function error_specify_edition() {
|
||||
echo -en "ERROR! You must specify an edition.\n - Editions: "
|
||||
#TODO ERROR here
|
||||
"editions_${OS}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#TODO: Not yet used!
|
||||
function error_specify_path() {
|
||||
echo "ERROR! You must specify path."
|
||||
error_specify_os
|
||||
show_os_info "${OS}"
|
||||
echo -e " - Editions:\t$("editions_${OS}" | fold -s -w "$(tput cols)")"
|
||||
echo -e "\nERROR! You must specify an edition."
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
@ -425,7 +414,7 @@ function test_all() {
|
|||
if [[ $(type -t "editions_${OS}") == function ]]; then
|
||||
for EDITION in $(editions_"${OS}"); do
|
||||
validate_release releases_"${OS}"
|
||||
URL=$(get_"${OS}" | cut_1 | head -1)
|
||||
URL=$(get_"${OS}" | cut -d' ' -f1 | head -1)
|
||||
if [ "${OPERATION}" == "show" ]; then
|
||||
test_result "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
|
||||
elif [ "${OPERATION}" == "test" ]; then
|
||||
|
@ -454,7 +443,7 @@ function test_all() {
|
|||
(get_ubuntu)
|
||||
else
|
||||
validate_release releases_"${OS}"
|
||||
URL=$(get_"${OS}" | cut_1 | head -1)
|
||||
URL=$(get_"${OS}" | cut -d' ' -f1 | head -1)
|
||||
if [ "${OPERATION}" == "show" ]; then
|
||||
test_result "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
|
||||
elif [ "${OPERATION}" == "test" ]; then
|
||||
|
@ -1088,7 +1077,7 @@ function editions_trisquel() {
|
|||
}
|
||||
|
||||
function releases_truenas() {
|
||||
if [[ $OS == truenas ]] ; then
|
||||
if [[ ${OS} == truenas ]] ; then
|
||||
echo "ERROR! The supported TrueNAS OS values are truenas-core or truenas-scale"
|
||||
exit 1;
|
||||
fi
|
||||
|
@ -1604,7 +1593,7 @@ function get_antix() {
|
|||
full-*) ISO+="_x64-full.iso";;
|
||||
net-*) ISO+="-net_x64-net.iso";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${README}.txt" | grep "${ISO}" | cut_1 | head -1)
|
||||
HASH=$(web_pipe "${URL}/${README}.txt" | grep "${ISO}" | cut -d' ' -f1 | head -1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1628,7 +1617,7 @@ function get_arcolinux() {
|
|||
local HASH=""
|
||||
local ISO="arcolinux${EDITION:0:1}-${RELEASE}-x86_64.iso"
|
||||
local URL="https://mirror.accum.se/mirror/arcolinux.info/iso/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha1" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha1" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1645,7 +1634,7 @@ function get_athenaos() {
|
|||
local HASH=""
|
||||
local URL="https://github.com/Athena-OS/athena/releases/download/${RELEASE}"
|
||||
local ISO="athena-rolling-x86_64.iso"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1689,7 +1678,7 @@ function get_bodhi() {
|
|||
standard) ISO="bodhi-${RELEASE}-64.iso";;
|
||||
*) ISO="bodhi-${RELEASE}-64-${EDITION}.iso";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1697,7 +1686,7 @@ function get_bunsenlabs() {
|
|||
local HASH=""
|
||||
local ISO="boron-1-240123-amd64.hybrid.iso"
|
||||
local URL="https://ddl.bunsenlabs.org/ddl"
|
||||
HASH=$(web_pipe "${URL}/release.sha256.txt" | head -1 | cut_1)
|
||||
HASH=$(web_pipe "${URL}/release.sha256.txt" | head -1 | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1707,7 +1696,7 @@ function get_cachyos() {
|
|||
local URL="https://mirror.cachyos.org/ISO/${EDITION}/"
|
||||
REL=$(web_pipe "${URL}" | grep -Po '(?<=">)[0-9]+(?=/</a>)' | sort -ru | tail -n 1)
|
||||
local ISO="cachyos-${EDITION}-linux-${REL}.iso"
|
||||
HASH=$(web_pipe "${URL}/${REL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${REL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${REL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1725,7 +1714,7 @@ function get_chimeralinux() {
|
|||
local URL="https://repo.chimera-linux.org/live/${RELEASE}"
|
||||
DATE=$(web_pipe "${URL}/sha256sums.txt" | head -n1 | cut -d'-' -f5)
|
||||
local ISO="chimera-linux-x86_64-LIVE-${DATE}-${EDITION}.iso"
|
||||
HASH=$(web_pipe "${URL}/sha256sums.txt" | grep 'x86_64-LIVE' | grep "${EDITION}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/sha256sums.txt" | grep 'x86_64-LIVE' | grep "${EDITION}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1750,7 +1739,7 @@ function get_debian() {
|
|||
URL="${URL/hybrid/cd}"
|
||||
ISO="${ISO/-live/}"
|
||||
fi
|
||||
HASH=$(web_pipe "${URL}/SHA512SUMS" | grep "${ISO}" | cut_1 | head -1)
|
||||
HASH=$(web_pipe "${URL}/SHA512SUMS" | grep "${ISO}" | cut -d' ' -f1 | head -1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1766,7 +1755,7 @@ function get_deepin() {
|
|||
REV="1010"
|
||||
fi
|
||||
local ISO="deepin-desktop-community-${REV}-amd64.iso"
|
||||
HASH=$(web_pipe "${URL}/SHA256SUMS" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/SHA256SUMS" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1781,7 +1770,7 @@ function get_devuan() {
|
|||
daedalus) VER="5.0.0";;
|
||||
esac
|
||||
ISO="devuan_${RELEASE}_${VER}_amd64_desktop-live.iso"
|
||||
HASH=$(web_pipe "${URL}/SHASUMS.txt" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/SHASUMS.txt" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1804,7 +1793,7 @@ function get_easyos() {
|
|||
5.7|5.6.7|5.6.6) YEAR="2024";;
|
||||
esac
|
||||
URL="https://distro.ibiblio.org/easyos/amd64/releases/kirkstone/${YEAR}/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/md5.sum.txt" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/md5.sum.txt" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1827,7 +1816,7 @@ function get_endeavouros() {
|
|||
# Find EndeavourOS releases from mirror, pick one matching release
|
||||
ENDEAVOUR_RELEASES="$(web_pipe "${URL}/" | grep -o -P '(?<=<a href=").*(?=.iso">)' | grep -v 'x86_64')"
|
||||
ISO="$(echo "${ENDEAVOUR_RELEASES}" | grep -i "${RELEASE}").iso"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha512sum" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha512sum" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1883,9 +1872,9 @@ function get_freedos() {
|
|||
local URL="http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/${RELEASE}/official"
|
||||
case ${RELEASE} in
|
||||
1.2) ISO="FD12CD.iso"
|
||||
HASH=$(web_pipe "${URL}/FD12.sha" | grep "${ISO}" | cut_1);;
|
||||
HASH=$(web_pipe "${URL}/FD12.sha" | grep "${ISO}" | cut -d' ' -f1);;
|
||||
1.3) ISO="FD13-LiveCD.zip"
|
||||
HASH=$(web_pipe "${URL}/verify.txt" | grep -A 8 "sha256sum" | grep "${ISO}" | cut_1);;
|
||||
HASH=$(web_pipe "${URL}/verify.txt" | grep -A 8 "sha256sum" | grep "${ISO}" | cut -d' ' -f1);;
|
||||
esac
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
@ -1895,7 +1884,7 @@ function get_garuda() {
|
|||
local ISO=""
|
||||
local URL="https://iso.builds.garudalinux.org/iso/latest/garuda"
|
||||
ISO=${EDITION}/latest.iso
|
||||
HASH="$(web_pipe "${URL}/${ISO}.sha256" | cut_1)"
|
||||
HASH="$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)"
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1904,10 +1893,10 @@ function get_gentoo() {
|
|||
local ISO=""
|
||||
local URL="https://mirror.bytemark.co.uk/gentoo/releases/amd64/autobuilds"
|
||||
case ${EDITION} in
|
||||
minimal) ISO=$(web_pipe "${URL}/${RELEASE}-iso.txt" | grep install | cut_1);;
|
||||
livegui) ISO=$(web_pipe "${URL}/${RELEASE}-iso.txt" | grep livegui | cut_1);;
|
||||
minimal) ISO=$(web_pipe "${URL}/${RELEASE}-iso.txt" | grep install | cut -d' ' -f1);;
|
||||
livegui) ISO=$(web_pipe "${URL}/${RELEASE}-iso.txt" | grep livegui | cut -d' ' -f1);;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}.DIGESTS" | grep -A 1 SHA512 | grep iso | grep -v CONTENTS | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.DIGESTS" | grep -A 1 SHA512 | grep iso | grep -v CONTENTS | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1965,7 +1954,7 @@ function get_kali() {
|
|||
local ISO=""
|
||||
local URL="https://cdimage.kali.org/${RELEASE}"
|
||||
ISO=$(web_pipe "${URL}/?C=M;O=D" | grep -o ">kali-linux-.*-installer-amd64.iso" | head -n 1 | cut -c 2-)
|
||||
HASH=$(web_pipe "${URL}/SHA256SUMS" | grep -v torrent | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/SHA256SUMS" | grep -v torrent | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1974,7 +1963,7 @@ function get_kdeneon() {
|
|||
local ISO=""
|
||||
local URL="https://files.kde.org/neon/images/${RELEASE}/current"
|
||||
ISO=$(web_pipe "${URL}/neon-${RELEASE}-current.sha256sum" | cut -d' ' -f3-)
|
||||
HASH=$(web_pipe "${URL}/neon-${RELEASE}-current.sha256sum" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/neon-${RELEASE}-current.sha256sum" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1989,7 +1978,7 @@ function get_linuxlite() {
|
|||
local HASH=""
|
||||
local ISO="linux-lite-${RELEASE}-64bit.iso"
|
||||
local URL="https://sourceforge.net/projects/linux-lite/files/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -1997,7 +1986,7 @@ function get_linuxmint() {
|
|||
local HASH=""
|
||||
local ISO="linuxmint-${RELEASE}-${EDITION}-64bit.iso"
|
||||
local URL="https://mirror.bytemark.co.uk/linuxmint/stable/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/sha256sum.txt" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/sha256sum.txt" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2005,7 +1994,7 @@ function get_lmde() {
|
|||
local HASH=""
|
||||
local ISO="lmde-${RELEASE}-${EDITION}-64bit.iso"
|
||||
local URL="https://mirror.bytemark.co.uk/linuxmint/debian"
|
||||
HASH=$(web_pipe "${URL}/sha256sum.txt" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/sha256sum.txt" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2145,7 +2134,7 @@ function get_mageia() {
|
|||
local HASH=""
|
||||
local ISO=""
|
||||
ISO=$(web_pipe https://www.mageia.org/en/downloads/get/?q="Mageia-${RELEASE}-Live-${EDITION}-x86_64.iso" | grep 'click here'| grep -o 'href=.*\.iso'|cut -d\" -f2)
|
||||
HASH=$(web_pipe "${ISO}.sha512" | cut_1)
|
||||
HASH=$(web_pipe "${ISO}.sha512" | cut -d' ' -f1)
|
||||
echo "${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2175,7 +2164,7 @@ function get_manjaro() {
|
|||
else
|
||||
URL="$(echo "${MANIFEST}" | jq -r ."${TYPE}.${RELEASE}${EDITION}".image)"
|
||||
fi
|
||||
HASH=$(web_pipe "${URL}.sha512" | cut_1)
|
||||
HASH=$(web_pipe "${URL}.sha512" | cut -d' ' -f1)
|
||||
echo "${URL} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2188,7 +2177,7 @@ function get_mxlinux() {
|
|||
KDE) ISO="MX-${RELEASE}_KDE_x64.iso";;
|
||||
Fluxbox) ISO="MX-${RELEASE}_fluxbox_x64.iso";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2196,7 +2185,7 @@ function get_netboot() {
|
|||
local HASH=""
|
||||
local ISO="netboot.xyz.iso"
|
||||
local URL="https://boot.netboot.xyz/ipxe"
|
||||
HASH=$(web_pipe "${URL}/netboot.xyz-sha256-checksums.txt" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/netboot.xyz-sha256-checksums.txt" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2216,7 +2205,7 @@ function get_nitrux() {
|
|||
URLBASE="https://sourceforge.net/projects/nitruxos/files/Release"
|
||||
URL="${URLBASE}/ISO"
|
||||
ISO=$(web_pipe 'https://sourceforge.net/projects/nitruxos/rss?path=/Release/ISO' | grep '.iso' | head -1 | cut -d']' -f1 | cut -d '/' -f4)
|
||||
HASH=$(web_pipe "${URLBASE}/MD5/${ISONAME}.md5sum" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URLBASE}/MD5/${ISONAME}.md5sum" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2224,7 +2213,7 @@ function get_nixos() {
|
|||
local HASH=""
|
||||
local ISO="latest-nixos-${EDITION}-x86_64-linux.iso"
|
||||
local URL="https://channels.nixos.org/nixos-${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2250,7 +2239,7 @@ function get_openindiana() {
|
|||
local URL=""
|
||||
URL="https://dlc.openindiana.org/isos/hipster/${RELEASE}"
|
||||
ISO="OI-hipster-${EDITION}-${RELEASE}.iso"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" |cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" |cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2264,14 +2253,14 @@ function get_opensuse() {
|
|||
elif [ "${RELEASE}" == "microos" ]; then
|
||||
ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso"
|
||||
URL="https://download.opensuse.org/tumbleweed/iso"
|
||||
elif [ "$RELEASE" == 15.0 ] || [ "$RELEASE" == 15.1 ]; then
|
||||
elif [ "${RELEASE}" == 15.0 ] || [ "${RELEASE}" == 15.1 ]; then
|
||||
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso"
|
||||
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso"
|
||||
else
|
||||
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64-Current.iso"
|
||||
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso"
|
||||
fi
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | awk '{if(NR==4) print $0}' | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256" | awk '{if(NR==4) print $0}' | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2285,7 +2274,7 @@ function get_oraclelinux() {
|
|||
7) ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64-dvd.iso";;
|
||||
*) ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-x86_64-dvd.iso";;
|
||||
esac
|
||||
HASH=$(web_pipe "https://linux.oracle.com/security/gpg/checksum/OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64.checksum" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "https://linux.oracle.com/security/gpg/checksum/OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64.checksum" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2295,7 +2284,7 @@ function get_parrotsec() {
|
|||
local URL=""
|
||||
ISO="Parrot-${EDITION}-${RELEASE}_amd64.iso"
|
||||
URL="https://download.parrot.sh/parrot/iso/${RELEASE}"
|
||||
HASH="$(web_pipe "${URL}/signed-hashes.txt" | grep "${ISO}" | cut_1)"
|
||||
HASH="$(web_pipe "${URL}/signed-hashes.txt" | grep "${ISO}" | cut -d' ' -f1)"
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2317,7 +2306,7 @@ function get_peppermint() {
|
|||
ISO="PeppermintOS-Debian_64_gfb.iso"
|
||||
URL="${URL}/Gnome_FlashBack";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}-sha512.checksum" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}-sha512.checksum" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2337,7 +2326,7 @@ function get_porteus() {
|
|||
edition="${EDITION~~}"
|
||||
ISO="Porteus-${edition}-v${RELEASE}-x86_64.iso"
|
||||
URL="https://mirrors.dotsrc.org/porteus/x86_64/Porteus-v${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/sha256sums.txt" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/sha256sums.txt" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2347,7 +2336,7 @@ function get_primtux() {
|
|||
local ISO=""
|
||||
ISO="PrimTux${RELEASE}-amd64-${EDITION}.iso"
|
||||
URL="https://sourceforge.net/projects/primtux/files/Distribution"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2402,7 +2391,7 @@ function get_siduction() {
|
|||
local ISO=""
|
||||
local URL="https://mirrors.dotsrc.org/siduction/iso/Standing_on_the_Shoulders_of_Giants/${EDITION}"
|
||||
DATE=$(web_pipe "${URL}"| grep .iso.md5 | cut -d'-' -f6 | cut -d'.' -f1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut -d' ' -f1)
|
||||
ISO="siduction-2023.1.1-Standing_on_the_Shoulders_of_Giants-${EDITION}-amd64-${DATE}.iso"
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
@ -2411,7 +2400,7 @@ function get_slackware() {
|
|||
local HASH=""
|
||||
local ISO="slackware64-${RELEASE}-install-dvd.iso"
|
||||
local URL="https://slackware.nl/slackware/slackware-iso/slackware64-${RELEASE}-iso"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2444,7 +2433,7 @@ function get_slitaz() {
|
|||
local HASH=""
|
||||
local ISO="slitaz-rolling-${RELEASE}"
|
||||
local URL="http://mirror.slitaz.org/iso/rolling"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO}.iso ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2452,7 +2441,7 @@ function get_solus() {
|
|||
local HASH=""
|
||||
local ISO="Solus-${RELEASE}-${EDITION}.iso"
|
||||
local URL="https://downloads.getsol.us/isos/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256sum" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha256sum" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2466,7 +2455,7 @@ function get_sparkylinux() {
|
|||
minimalgui) URL="https://sourceforge.net/projects/sparkylinux/files/base";;
|
||||
*) URL="https://sourceforge.net/projects/sparkylinux/files/${EDITION}";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}.allsums.txt" | head -2 | grep 'iso' | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.allsums.txt" | head -2 | grep 'iso' | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO}" "${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2496,7 +2485,7 @@ function get_tinycore() {
|
|||
*Pure*) ARCH+="_64";;
|
||||
esac
|
||||
local URL="http://www.tinycorelinux.net/${RELEASE}.x/${ARCH}/release"
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5.txt" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.md5.txt" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2510,7 +2499,7 @@ function get_trisquel() {
|
|||
kde) ISO="triskel_${RELEASE}_amd64.iso";;
|
||||
sugar) ISO="trisquel-sugar_${RELEASE}_amd64.iso";;
|
||||
esac
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha1" | grep "${ISO}" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/${ISO}.sha1" | grep "${ISO}" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2520,7 +2509,7 @@ function get_truenas-scale() {
|
|||
local URL=""
|
||||
local DLINFO="https://www.truenas.com/download-truenas-scale/"
|
||||
URL=$(web_pipe "${DLINFO}" | grep -o "\"https://.*${RELEASE}.*\.iso\"" | cut -d'"' -f 2)
|
||||
HASH=$(web_pipe "${URL}.sha256" | cut_1)
|
||||
HASH=$(web_pipe "${URL}.sha256" | cut -d' ' -f1)
|
||||
echo "${URL} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2529,7 +2518,7 @@ function get_truenas-core() {
|
|||
local URL=""
|
||||
local DLINFO="https://www.truenas.com/download-truenas-core/"
|
||||
URL=$(web_pipe "${DLINFO}" | grep -o "\"https://.*${RELEASE}.*\.iso\"" | cut -d'"' -f 2)
|
||||
HASH=$(web_pipe "${URL}".sha256 | cut_1)
|
||||
HASH=$(web_pipe "${URL}".sha256 | cut -d' ' -f1)
|
||||
echo "${URL} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2561,11 +2550,11 @@ function get_ubuntu-server() {
|
|||
if web_check "${URL}/SHA256SUMS"; then
|
||||
DATA=$(web_pipe "${URL}/SHA256SUMS" | grep "${NAME}" | grep amd64 | grep iso)
|
||||
ISO=$(cut -d'*' -f2 <<<"${DATA}")
|
||||
HASH=$(cut_1 <<<"${DATA}")
|
||||
HASH=$(cut -d' ' -f1 <<<"${DATA}")
|
||||
else
|
||||
DATA=$(web_pipe "${URL}/MD5SUMS" | grep "${NAME}" | grep amd64 | grep iso)
|
||||
ISO=$(cut -d' ' -f3 <<<"${DATA}")
|
||||
HASH=$(cut_1 <<<"${DATA}")
|
||||
HASH=$(cut -d' ' -f1 <<<"${DATA}")
|
||||
fi
|
||||
if [[ "${RELEASE}" == "daily"* ]] || [ "${RELEASE}" == "dvd" ]; then
|
||||
zsync_get "${URL}/${ISO}" "${VM_PATH}" "${OS}-devel.iso"
|
||||
|
@ -2607,11 +2596,11 @@ function get_ubuntu() {
|
|||
if web_check "${URL}/SHA256SUMS"; then
|
||||
DATA=$(web_pipe "${URL}/SHA256SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac")
|
||||
ISO=$(cut -d'*' -f2 <<<"${DATA}" | sed '1q;d')
|
||||
HASH=$(cut_1 <<<"${DATA}" | sed '1q;d')
|
||||
HASH=$(cut -d' ' -f1 <<<"${DATA}" | sed '1q;d')
|
||||
else
|
||||
DATA=$(web_pipe "${URL}/MD5SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac")
|
||||
ISO=$(cut -d'*' -f2 <<<"${DATA}")
|
||||
HASH=$(cut_1 <<<"${DATA}")
|
||||
HASH=$(cut -d' ' -f1 <<<"${DATA}")
|
||||
fi
|
||||
if [ -z "${ISO}" ] || [ -z "${HASH}" ]; then
|
||||
echo "$(pretty_name "${OS}") ${RELEASE} is currently unavailable. Please select other OS/Release combination"
|
||||
|
@ -2635,8 +2624,8 @@ function get_vanillaos() {
|
|||
local HASH_URL=""
|
||||
local ISO=""
|
||||
ISO=$(web_pipe "https://api.github.com/repos/Vanilla-OS/live-iso/releases" | grep 'download_url' | grep "${RELEASE}" | head -1 | cut -d'"' -f4)
|
||||
HASH_URL=$(echo "${ISO}" | sed s'|\.iso|\.sha256\.txt|g')
|
||||
HASH=$(web_pipe "${HASH_URL}" | cut_1)
|
||||
HASH_URL="${ISO//.iso/.sha256.txt}"
|
||||
HASH=$(web_pipe "${HASH_URL}" | cut -d' ' -f1)
|
||||
echo "${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -2659,7 +2648,7 @@ function get_vxlinux() {
|
|||
local HASH=""
|
||||
local ISO="vx-${RELEASE}.iso"
|
||||
local URL="https://github.com/VX-Linux/main/releases/download/${RELEASE}"
|
||||
HASH=$(web_pipe "${URL}/vx-${RELEASE}.md5" | cut_1)
|
||||
HASH=$(web_pipe "${URL}/vx-${RELEASE}.md5" | cut -d' ' -f1)
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
|
@ -3093,13 +3082,13 @@ function download_windows_server() {
|
|||
local COUNTRY=""
|
||||
local PRETTY_RELEASE=""
|
||||
|
||||
case "$RELEASE" in
|
||||
case "${RELEASE}" in
|
||||
"10-ltsc") PRETTY_RELEASE="10 LTSC";;
|
||||
"2012-r2") PRETTY_RELEASE="2012 R2";;
|
||||
*) PRETTY_RELEASE="$RELEASE";;
|
||||
*) PRETTY_RELEASE="${RELEASE}";;
|
||||
esac
|
||||
|
||||
case "$LANG" in
|
||||
case "${LANG}" in
|
||||
"English (Great Britain)")
|
||||
CULTURE="en-gb"
|
||||
COUNTRY="GB";;
|
||||
|
@ -3138,7 +3127,7 @@ function download_windows_server() {
|
|||
COUNTRY="US";;
|
||||
esac
|
||||
|
||||
iso_download_links="$(echo "$iso_download_page_html" | grep -o "https://go.microsoft.com/fwlink/p/?LinkID=[0-9]\+&clcid=0x[0-9a-z]\+&culture=$CULTURE&country=$COUNTRY")" || {
|
||||
iso_download_links="$(echo "$iso_download_page_html" | grep -o "https://go.microsoft.com/fwlink/p/?LinkID=[0-9]\+&clcid=0x[0-9a-z]\+&culture=${CULTURE}&country=${COUNTRY}")" || {
|
||||
# This should only happen if there's been some change to the download endpoint web address
|
||||
echo "- Windows server download page gave us no download link"
|
||||
return 1
|
||||
|
@ -3303,7 +3292,7 @@ function download_windows_workstation() {
|
|||
|
||||
function get_windows() {
|
||||
if [ "${RELEASE}" == "10-ltsc" ]; then
|
||||
download_windows_workstation windows-10-enterprise ltsc
|
||||
download_windows_server windows-10-enterprise ltsc
|
||||
elif [ "${OS}" == "windows-server" ]; then
|
||||
download_windows_server "windows-server-${RELEASE}"
|
||||
else
|
||||
|
@ -3421,10 +3410,10 @@ Advanced usage:
|
|||
quickget --download ubuntu 22.04
|
||||
|
||||
Arguments:
|
||||
-[12345] <os> : Show info* about OS
|
||||
--download <os> <release> [edition] : Download image; no VM configuration
|
||||
--create-config <os> [path/url] : Create VM config for a OS image
|
||||
--open-homepage <os> : Open homepage for the OS
|
||||
--show [os] : Show OS information
|
||||
--version : Show version
|
||||
--help : Show this help message
|
||||
-------------------------- For testing & development ---------------------------
|
||||
|
@ -3434,8 +3423,6 @@ Arguments:
|
|||
--list-csv : List everything in csv format
|
||||
--list-json : List everything in json format
|
||||
--------------------------------------------------------------------------------
|
||||
*info: 1=Logo 2=Based of 3=Credentials 4=Homepage 5=Short info
|
||||
Can be used in any combination like -13254 or -52
|
||||
|
||||
Supported Operating Systems:\n\n' "$(quickemu --version)" "${CURL_VERSION}"
|
||||
os_support | fold -s -w "$(tput cols)"
|
||||
|
@ -3459,10 +3446,6 @@ CURL_VERSION=$("${CURL}" --version | head -1 | cut -d' ' -f2)
|
|||
|
||||
#TODO: Deprecate `list`, `list_csv`, and `list_json` in favor of `--list`, `--list-csv`, and `--list-json`
|
||||
case "${1}" in
|
||||
-1*|-2*|-3*|-4*|-5*)
|
||||
show_os_info "${1}" "${2}"
|
||||
exit 0
|
||||
;;
|
||||
--download|-download)
|
||||
OPERATION="download"
|
||||
shift
|
||||
|
@ -3476,6 +3459,16 @@ case "${1}" in
|
|||
shift
|
||||
open_homepage "${1}"
|
||||
;;
|
||||
--show|-show)
|
||||
shift
|
||||
if [ -z "${1}" ]; then
|
||||
for OS in $(os_support); do
|
||||
show_os_info "${OS}"
|
||||
done
|
||||
else
|
||||
show_os_info "${1}"
|
||||
fi
|
||||
exit 0;;
|
||||
--version|-version)
|
||||
WHERE=$(dirname "${BASH_SOURCE[0]}")
|
||||
"${WHERE}/quickemu" --version
|
||||
|
|
Loading…
Reference in New Issue
Block a user