Compare commits

..

3 Commits

Author SHA1 Message Date
Kroese
e8cf9651c2
fix: Ignore case when selecting platform 2025-09-14 10:59:10 +02:00
Kroese
e2c0a40e13
feat: Allow to disable download methods 2025-09-14 09:09:45 +02:00
Kroese
0bee329b7b
feat: Print URL In debug mode 2025-09-14 09:02:30 +02:00
5 changed files with 28 additions and 37 deletions

View File

@ -2,6 +2,16 @@ name: Build
on:
workflow_dispatch:
push:
branches:
- master
paths-ignore:
- '**/*.md'
- '**/*.yml'
- '.gitignore'
- '.dockerignore'
- '.github/**'
- '.github/workflows/**'
concurrency:
group: build

View File

@ -5,7 +5,6 @@ FROM scratch AS build-amd64
COPY --from=qemux/qemu:7.12 / /
ARG TARGETARCH
ARG DEBCONF_NOWARNINGS="yes"
ARG DEBIAN_FRONTEND="noninteractive"
ARG DEBCONF_NONINTERACTIVE_SEEN="true"
@ -20,7 +19,7 @@ RUN set -eu && \
libxml2-utils \
libarchive-tools \
netcat-openbsd && \
wget "https://github.com/gershnik/wsdd-native/releases/download/v1.21/wsddn_1.21_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \
wget "https://github.com/gershnik/wsdd-native/releases/download/v1.21/wsddn_1.21_amd64.deb" -O /tmp/wsddn.deb -q && \
dpkg -i /tmp/wsddn.deb && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@ -95,7 +95,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|---|---|---|
| `11` | Windows 11 Pro | 5.4 GB |
| `11l` | Windows 11 LTSC | 4.7 GB |
| `11e` | Windows 11 Enterprise | 5.3 GB |
| `11e` | Windows 11 Enterprise | 4.0 GB |
||||
| `10` | Windows 10 Pro | 5.7 GB |
| `10l` | Windows 10 LTSC | 4.6 GB |

View File

@ -734,8 +734,8 @@ getMido() {
sum="b56b911bf18a2ceaeb3904d87e7c770bdf92d3099599d61ac2497b91bf190b11"
;;
"win11x64-enterprise-eval" )
size=5387960320
sum="755a90d43e826a74b9e1932a34788b898e028272439b777e5593dee8d53622ae"
size=4295096320
sum="dad633276073f14f3e0373ef7e787569e216d54942ce522b39451c8f2d38ad43"
url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26100.1.240331-1435.ge_release_CLIENTENTERPRISEEVAL_OEMRET_A64FRE_en-us.iso"
;;
"win11x64-enterprise-iot-eval" | "win11x64-enterprise-ltsc-eval" )
@ -1313,7 +1313,7 @@ isMido() {
local lang="$2"
local sum
[[ "${MIDO:-}" == [Nn]* ]] && return 1
[[ "${MIDO:-}" != [Yy1]* ]] && return 1
sum=$(getMido "$id" "en" "sum")
[ -n "$sum" ] && return 0
@ -1326,7 +1326,7 @@ isESD() {
local id="$1"
local lang="$2"
[[ "${ESD:-}" == [Nn]* ]] && return 1
[[ "${ESD:-}" != [Yy1]* ]] && return 1
case "${id,,}" in
"win11${PLATFORM,,}" | "win10${PLATFORM,,}" )

View File

@ -264,40 +264,24 @@ download_windows_eval() {
}
case "$enterprise_type" in
"iot" | "ltsc" )
case "${PLATFORM,,}" in
"x64" )
if [[ "$windows_version" != "windows-10"* ]]; then
iso_download_link=$(echo "$iso_download_links" | head -n 1)
else
iso_download_link=$(echo "$iso_download_links" | head -n 4 | tail -n 1)
fi ;;
"arm64" )
iso_download_link=$(echo "$iso_download_links" | head -n 2 | tail -n 1) ;;
* )
error "Invalid platform specified, value \"$PLATFORM\" is not recognized!" && return 1 ;;
esac ;;
"iot" )
"ltsc" )
"enterprise" )
case "${PLATFORM,,}" in
"x64" )
if [[ "$windows_version" != "windows-10"* ]]; then
if [[ "${PLATFORM,,}" == "x64" ]]; then
iso_download_link=$(echo "$iso_download_links" | head -n 1)
else
fi
if [[ "${PLATFORM,,}" == "arm64" ]]; then
iso_download_link=$(echo "$iso_download_links" | head -n 2 | tail -n 1)
fi ;;
"arm64" )
iso_download_link=$(echo "$iso_download_links" | head -n 2 | tail -n 1) ;;
* )
error "Invalid platform specified, value \"$PLATFORM\" is not recognized!" && return 1 ;;
esac ;;
fi
;;
"server" )
iso_download_link=$(echo "$iso_download_links" | head -n 1) ;;
iso_download_link=$(echo "$iso_download_links" | head -n 1)
;;
* )
error "Invalid type specified, value \"$enterprise_type\" is not recognized!" && return 1 ;;
esac
[[ "$DEBUG" == [Yy1]* ]] && echo "Found download link: $iso_download_link"
[ -z "$iso_download_link" ] && error "Could not parse download link from page!" && return 1
# Follow redirect so proceeding log message is useful
# This is a request we make that Fido doesn't
@ -407,7 +391,6 @@ getESD() {
local version="$2"
local lang="$3"
local desc="$4"
local result
local culture
local language
local editionName
@ -454,7 +437,7 @@ getESD() {
fi
local edQuery='//File[Architecture="'${PLATFORM,,}'"][Edition="'${editionName}'"]'
result=$(xmllint --nonet --xpath "${edQuery}" "$dir/$xFile" 2>/dev/null)
local result=$(xmllint --nonet --xpath "${edQuery}" "$dir/$xFile" 2>/dev/null)
if [ -z "$result" ]; then
@ -598,7 +581,6 @@ downloadFile() {
fi
info "$msg..."
[[ "$DEBUG" == [Yy1]* ]] && echo "Downloading $url"
{ wget "$url" -O "$iso" -q --timeout=30 --no-http-keep-alive --user-agent "$agent" --show-progress "$progress"; rc=$?; } || :