mirror of
https://github.com/dockur/windows.git
synced 2026-05-17 10:47:50 +01:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2412a3ed18 | |||
| 8c57b119cf | |||
| 40867f6e85 | |||
| b5d8c2ad08 | |||
| 603465a687 | |||
| d8a548c3fb | |||
| 60e5925d72 | |||
| 398344163f |
@@ -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 |
|
||||
|
||||
+10
-11
@@ -376,9 +376,9 @@ getLanguage() {
|
||||
|
||||
parseLanguage() {
|
||||
|
||||
REGION="${REGION//_/-/}"
|
||||
KEYBOARD="${KEYBOARD//_/-/}"
|
||||
LANGUAGE="${LANGUAGE//_/-/}"
|
||||
REGION="${REGION//_/-}"
|
||||
KEYBOARD="${KEYBOARD//_/-}"
|
||||
LANGUAGE="${LANGUAGE//_/-}"
|
||||
|
||||
[ -z "$LANGUAGE" ] && LANGUAGE="en"
|
||||
|
||||
@@ -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" )
|
||||
@@ -1860,7 +1860,6 @@ detectLegacy() {
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IB -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51ID -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IL -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IS -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AA -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AD -print -quit)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AS -print -quit)
|
||||
|
||||
+10
-10
@@ -379,7 +379,7 @@ extractESD() {
|
||||
local version="$3"
|
||||
local desc="$4"
|
||||
local size size_gb sizes space space_gb
|
||||
local desc total total1 total2 total3 total4
|
||||
local retVal total total1 total2 total3 total4
|
||||
local imageIndex links links1 links2 links3 links4
|
||||
|
||||
local msg="Extracting $desc bootdisk"
|
||||
@@ -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"
|
||||
@@ -1218,11 +1218,11 @@ buildImage() {
|
||||
error "Failed to build image!" && return 1
|
||||
fi
|
||||
|
||||
local error=""
|
||||
local err=""
|
||||
local hide="Warning: creating filesystem that does not conform to ISO-9660."
|
||||
|
||||
[ -s "$log" ] && error="$(<"$log")"
|
||||
[[ "$error" != "$hide" ]] && echo "$error"
|
||||
[ -s "$log" ] && err="$(<"$log")"
|
||||
[[ "$err" != "$hide" ]] && echo "$err"
|
||||
|
||||
mv -f "$out" "$BOOT" || return 1
|
||||
! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !"
|
||||
|
||||
+11
-4
@@ -49,7 +49,7 @@ handle_curl_error() {
|
||||
|
||||
get_agent() {
|
||||
|
||||
local user_agent
|
||||
local browser_version
|
||||
|
||||
# Determine approximate latest Firefox release
|
||||
browser_version="$((124 + ($(date +%s) - 1710892800) / 2419200))"
|
||||
@@ -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
|
||||
@@ -267,6 +273,7 @@ download_windows_eval() {
|
||||
culture=$(getLanguage "$lang" "culture")
|
||||
|
||||
local country="${culture#*-}"
|
||||
local iso_download_links=""
|
||||
local iso_download_page_html=""
|
||||
local url="https://www.microsoft.com/en-us/evalcenter/download-$windows_version"
|
||||
|
||||
@@ -521,7 +528,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"
|
||||
|
||||
+1
-1
@@ -97,7 +97,7 @@ finish() {
|
||||
# Workaround for zombie pid
|
||||
[ ! -s "$QEMU_PID" ] && break
|
||||
|
||||
if [ "$cnt" == "5" ]; then
|
||||
if [ "$cnt" -eq 5 ]; then
|
||||
echo && error "QEMU did not terminate itself, forcefully killing process..."
|
||||
{ kill -9 "$pid" || true; } 2>/dev/null
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user