/g' | grep "$HASH_LANG 64-bit" | grep -o -P '(?<= | ).*(?= |
)')
check_hash "${VM_PATH}/${FILE_NAME}" "${HASH}"
fi
}
function get_windows() {
if [ "${RELEASE}" == "10-ltsc" ]; then
download_windows_server windows-10-enterprise ltsc
elif [ "${OS}" == "windows-server" ]; then
download_windows_server "windows-server-${RELEASE}"
else
download_windows_workstation "${RELEASE}"
fi
if [ "${OPERATION}" == "download" ]; then
exit 0
fi
echo "Downloading VirtIO drivers..."
web_get "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" "${VM_PATH}"
rm -f "${VM_PATH}/unattended.iso"
case ${RELEASE} in
10|11)
echo "Making unattended.iso"
mkdir -p "${VM_PATH}/unattended" 2>/dev/null
web_get https://www.spice-space.org/download/windows/spice-webdavd/spice-webdavd-x64-latest.msi "${VM_PATH}/unattended"
web_get https://www.spice-space.org/download/windows/vdagent/vdagent-win-0.10.0/spice-vdagent-x64-0.10.0.msi "${VM_PATH}/unattended"
web_get https://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.22_x64.msi "${VM_PATH}/unattended"
unattended_windows "${VM_PATH}/unattended/autounattend.xml"
mkisofs -quiet -l -o "${VM_PATH}/unattended.iso" "${VM_PATH}/unattended/"
;;
esac
if [ -n "${FILE_NAME}" ]; then
make_vm_config "${FILE_NAME}" "virtio-win.iso"
else
make_vm_config "windows-${RELEASE}.iso" "virtio-win.iso"
fi
}
function open_homepage() {
local URL=""
local XDG_OPEN=""
if [ -z "$(os_info "${1}")" ]; then
error_specify_os
else
URL="$(os_info "${1}" | cut -d'|' -f 4)"
# shellcheck disable=SC2034
XDG_OPEN=$(xdg-open "${URL}" || sensible-browser "${URL}" || x-www-browser "${URL}" || gnome-open "${URL}")
exit 0
fi
}
function create_vm() {
# shellcheck disable=SC2206
local URL_HASH=(${1// / })
local URL="${URL_HASH[0]}"
local HASH="${URL_HASH[1]}"
local ISO="${URL##*/}"
#echo "${URL}"
#echo "${ISO}"
#echo "${HASH}"
web_get "${URL}" "${VM_PATH}"
if [ -n "${HASH}" ]; then
check_hash "${ISO}" "${HASH}"
fi
case "${OS}" in
batocera)
if [[ ${ISO} = *".gz"* ]]; then
gzip -d "${VM_PATH}/${ISO}"
ISO="${ISO/.gz/}"
fi;;
dragonflybsd)
# Could be other OS iso files compressed with bzip2 or gzip
# but for now we'll keep this to know cases
if [[ ${ISO} = *".bz2"* ]]; then
bzip2 -d "${VM_PATH}/${ISO}"
ISO="${ISO/.bz2/}"
fi;;
easyos)
if [[ ${ISO} = *".img"* ]]; then
qemu-img convert -f raw -O qcow2 "${VM_PATH}/${ISO}" "${VM_PATH}/disk.qcow2"
ISO="${ISO/.img/}"
fi;;
freedos)
if [[ ${ISO} = *".zip"* ]]; then
unzip -qo "${VM_PATH}/${ISO}" -d "${VM_PATH}"
rm -f "${VM_PATH}/${ISO}"
ISO="$(ls -1 "${VM_PATH}/"*.iso)"
fi;;
reactos)
if [[ ${ISO} = *".zip"* ]]; then
unzip -qo "${VM_PATH}/${ISO}" -d "${VM_PATH}"
rm -f "${VM_PATH}/${ISO}"
ISO="$(ls -1 "${VM_PATH}/"*.iso)"
fi;;
esac
make_vm_config "${ISO}"
}
function help_message() {
#shellcheck disable=SC2016
printf '
_ _ _
__ _ _ _(_) ___| | ____ _ ___| |_
/ _` | | | | |/ __| |/ / _` |/ _ \ __|
| (_| | |_| | | (__| < (_| | __/ |_
\__, |\__,_|_|\___|_|\_\__, |\___|\__|
|_| |___/ v%s, using curl %s
--------------------------------------------------------------------------------
Project - https://github.com/quickemu-project/quickemu
Discord - https://wimpysworld.io/discord
--------------------------------------------------------------------------------
Usage:
quickget