Compare commits

...

6 Commits

Author SHA1 Message Date
Kroese 40867f6e85 feat: Update Windows 11 download links (#1733) 2026-05-17 06:06:54 +02:00
Kroese b5d8c2ad08 feat: Update Windows 11 download link (#1732) 2026-05-16 22:41:45 +02:00
Kroese 603465a687 fix: Update Windows Server 2025 download link (#1731) 2026-05-16 22:18:31 +02:00
Kroese d8a548c3fb fix: Escape illegal characters in base64 output (#1730) 2026-05-16 22:10:56 +02:00
Kroese 60e5925d72 feat: Enhance debug messages (#1729) 2026-05-16 19:34:35 +02:00
Kroese 398344163f fix: Invalid sed command syntax (#1728) 2026-05-16 18:53:26 +02:00
4 changed files with 24 additions and 18 deletions
+2 -2
View File
@@ -97,7 +97,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
| **Value** | **Version** | **Size** |
|---|---|---|
| `11` | Windows 11 Pro | 7.2 GB |
| `11` | Windows 11 Pro | 7.9 GB |
| `11l` | Windows 11 LTSC | 4.7 GB |
| `11e` | Windows 11 Enterprise | 6.6 GB |
||||
@@ -111,7 +111,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
| `xp` | Windows XP Professional | 0.6 GB |
| `2k` | Windows 2000 Professional | 0.4 GB |
||||
| `2025` | Windows Server 2025 | 6.7 GB |
| `2025` | Windows Server 2025 | 7.6 GB |
| `2022` | Windows Server 2022 | 6.0 GB |
| `2019` | Windows Server 2019 | 5.3 GB |
| `2016` | Windows Server 2016 | 6.5 GB |
+7 -7
View File
@@ -722,8 +722,8 @@ getMido() {
case "${id,,}" in
"win11x64" )
size=7736125440
sum="d141f6030fed50f75e2b03e1eb2e53646c4b21e5386047cb860af5223f102a32"
size=8471603200
sum="768984706b909479417b2368438909440f2967ff05c6a9195ed2667254e465e3"
url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENT_CONSUMER_x64FRE_en-us.iso"
;;
"win11x64-enterprise-eval" )
@@ -752,9 +752,9 @@ getMido() {
url="https://download.microsoft.com/download/B/9/9/B999286E-0A47-406D-8B3D-5B5AD7373A4A/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_ENTERPRISE_EVAL_EN-US-IR3_CENA_X64FREE_EN-US_DV9.ISO"
;;
"win2025-eval" )
size=6014152704
sum="d0ef4502e350e3c6c53c15b1b3020d38a5ded011bf04998e950720ac8579b23d"
url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26100.1742.240906-0331.ge_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso"
size=8152356864
sum="7b052573ba7894c9924e3e87ba732ccd354d18cb75a883efa9b900ea125bfd51"
url="https://software-static.download.prss.microsoft.com/dbazure/998969d5-f34g-4e03-ac9d-1f9786c66749/26100.32230.260111-0550.lt_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso"
;;
"win2022-eval" )
size=5044094976
@@ -813,8 +813,8 @@ getLink1() {
case "${id,,}" in
"win11x64" | "win11x64-enterprise" | "win11x64-enterprise-eval" )
size=6723362816
sum="d6f5e10db6a6654190ab575fc72c392b7663e31a0156bcc9ce719496a6dde37d"
size=6898546688
sum="2618a56931b645a6f097082431994bd85ae80862518de389e382f35ebfd455be"
url="11/en-us_windows_11_25h2_x64.iso"
;;
"win11x64-iot" | "win11x64-enterprise-iot" | "win11x64-enterprise-iot-eval" )
+6 -6
View File
@@ -893,12 +893,12 @@ updateXML() {
pw=$(printf '%s' "${pass}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0)
admin=$(printf '%s' "${pass}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0)
sed -i "s/<Value>password<\/Value>/<Value>$admin<\/Value>/g" "$asset"
sed -i "s/<PlainText>true<\/PlainText>/<PlainText>false<\/PlainText>/g" "$asset"
sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>$pw<\/Value>/g" -i "$asset"
sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>$pw<\/Value>/g" -i "$asset"
sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
sed -i "s|<Value>password<\/Value>|<Value>$admin<\/Value>|g" "$asset"
sed -i "s|<PlainText>true<\/PlainText>|<PlainText>false<\/PlainText>|g" "$asset"
sed -i -z "s|<Password>...........<Value \/>|<Password>\n <Value>$pw<\/Value>|g" "$asset"
sed -i -z "s|<Password>...............<Value \/>|<Password>\n <Value>$pw<\/Value>|g" "$asset"
sed -i -z "s|<AdministratorPassword>...........<Value \/>|<AdministratorPassword>\n <Value>$admin<\/Value>|g" "$asset"
sed -i -z "s|<AdministratorPassword>...............<Value \/>|<AdministratorPassword>\n <Value>$admin<\/Value>|g" "$asset"
if [ -n "$EDITION" ]; then
[[ "${EDITION^^}" == "CORE" ]] && EDITION="STANDARDCORE"
+9 -3
View File
@@ -119,7 +119,7 @@ download_windows() {
org_id="y6jn8c31"
vls_url="https://vlscppe.microsoft.com/tags?org_id=$org_id&session_id=$session_id"
[[ "$DEBUG" == [Yy1]* ]] && echo "Session ID: $session_id"
[[ "$DEBUG" == [Yy1]* ]] && echo "Getting Session ID: $session_id"
# Permit Session ID
curl --silent --max-time 30 --output /dev/null --user-agent "$user_agent" --header "Accept:" --max-filesize 100K --fail --proto =https --tlsv1.2 --http1.1 -- "$vls_url" || {
@@ -134,6 +134,8 @@ download_windows() {
instance_id="560dc9f3-1aa5-4a2f-b63c-9e18f8d0e175"
ov_url="https://ov-df.microsoft.com/mdt.js?instanceId=$instance_id&PageId=si&session_id=$session_id"
[[ "$DEBUG" == [Yy1]* ]] && echo -n "Getting OV data: "
ov_data=$(curl --silent --max-time 30 --user-agent "$user_agent" --header "Accept:" --max-filesize 1M --fail --proto =https --tlsv1.2 --http1.1 -- "$ov_url") || {
handle_curl_error "$?" "Microsoft"
return $?
@@ -152,6 +154,8 @@ download_windows() {
return 1
fi
[[ "$DEBUG" == [Yy1]* ]] && echo "$ovw"
sleep 0.2
# 2) Send a reply with session ID, current epoch and previously retrieved w and rticks
@@ -159,6 +163,8 @@ download_windows() {
mdt=$(date +%s%3N)
ov_url="https://ov-df.microsoft.com/?session_id=$session_id&CustomerId=$instance_id&PageId=si&w=$ovw&mdt=$mdt&rticks=$rticks"
[[ "$DEBUG" == [Yy1]* ]] && echo "Sending OV reply: $instance_id"
curl --silent --max-time 30 --output /dev/null --user-agent "$user_agent" --header "Accept:" --max-filesize 100K --fail --proto =https --tlsv1.2 --http1.1 -- "$ov_url" || {
# This should only happen if there's been some change to how this API works
handle_curl_error "$?" "Microsoft"
@@ -209,7 +215,7 @@ download_windows() {
{ iso_download_link=$(echo "$iso_json" | jq --argjson TYPE "$download_type" -r '.ProductDownloadOptions[] | select(.DownloadType==$TYPE).Uri') 2>/dev/null; rc=$?; } || :
if [ -z "$iso_download_link" ] || [[ "${iso_download_link,,}" == "null" ]] || (( rc != 0 )); then
error "Microsoft servers gave us no download link to our request for an automated download!"
error "Microsoft server gave us no download link to our request for an automated download!"
info "Response: $iso_json"
return 1
fi
@@ -521,7 +527,7 @@ getESD() {
error "Invalid VERSION specified, value \"$version\" is not recognized!" && return 1
fi
local msg="Downloading catalog..."
local msg="Downloading catalog from the Microsoft servers..."
info "$msg" && html "$msg"
rm -rf "$dir"