mirror of
https://github.com/dockur/windows.git
synced 2026-05-17 10:47:50 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c717a98d51 | |||
| 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 |
|
||||
|
||||
+16
-16
@@ -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" )
|
||||
@@ -1391,6 +1391,7 @@ prepareInstall() {
|
||||
|
||||
local pid=""
|
||||
local file=""
|
||||
local iso="$1"
|
||||
local dir="$2"
|
||||
local desc="$3"
|
||||
local driver="$4"
|
||||
@@ -1575,8 +1576,8 @@ prepareInstall() {
|
||||
[ -z "$WIDTH" ] && WIDTH="1280"
|
||||
[ -z "$HEIGHT" ] && HEIGHT="720"
|
||||
|
||||
XHEX=$(printf '%x\n' "$WIDTH")
|
||||
YHEX=$(printf '%x\n' "$HEIGHT")
|
||||
XHEX=$(printf '%08x' "$WIDTH")
|
||||
YHEX=$(printf '%08x' "$HEIGHT")
|
||||
|
||||
local username=""
|
||||
local password=""
|
||||
@@ -1695,13 +1696,13 @@ prepareInstall() {
|
||||
echo ""
|
||||
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
|
||||
echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
|
||||
echo "\"DefaultSettings.XResolution\"=dword:00000$XHEX"
|
||||
echo "\"DefaultSettings.YResolution\"=dword:00000$YHEX"
|
||||
echo "\"DefaultSettings.XResolution\"=dword:$XHEX"
|
||||
echo "\"DefaultSettings.YResolution\"=dword:$YHEX"
|
||||
echo ""
|
||||
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Control\VIDEO\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
|
||||
echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
|
||||
echo "\"DefaultSettings.XResolution\"=dword:00000$XHEX"
|
||||
echo "\"DefaultSettings.YResolution\"=dword:00000$YHEX"
|
||||
echo "\"DefaultSettings.XResolution\"=dword:$XHEX"
|
||||
echo "\"DefaultSettings.YResolution\"=dword:$YHEX"
|
||||
echo ""
|
||||
echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]"
|
||||
echo "\"ScreenSaver\"=\"reg add \\\"HKCU\\\\Control Panel\\\\Desktop\\\" /f /v \\\"SCRNSAVE.EXE\\\" /t REG_SZ /d \\\"off\\\"\""
|
||||
@@ -1722,7 +1723,7 @@ prepareInstall() {
|
||||
echo "@=dword:00000000"
|
||||
echo ""
|
||||
echo "[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ServerOOBE\SecurityOOBE]"
|
||||
echo "\"DontLaunchSecurityOOBE\"=dword:00000000"
|
||||
echo "\"DontLaunchSecurityOOBE\"=dword:00000001"
|
||||
echo ""
|
||||
} | unix2dos >> "$dir/\$OEM\$/install.reg"
|
||||
fi
|
||||
@@ -1860,8 +1861,7 @@ 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 WIN51IE -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)
|
||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51MA -print -quit)
|
||||
|
||||
+11
-11
@@ -379,8 +379,8 @@ extractESD() {
|
||||
local version="$3"
|
||||
local desc="$4"
|
||||
local size size_gb sizes space space_gb
|
||||
local desc total total1 total2 total3 total4
|
||||
local imageIndex links links1 links2 links3 links4
|
||||
local total total1 total2 total3 total4
|
||||
local retVal imageIndex links links1 links2 links3 links4
|
||||
|
||||
local msg="Extracting $desc bootdisk"
|
||||
info "$msg..." && html "$msg..."
|
||||
@@ -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 log_content=""
|
||||
local hide="Warning: creating filesystem that does not conform to ISO-9660."
|
||||
|
||||
[ -s "$log" ] && error="$(<"$log")"
|
||||
[[ "$error" != "$hide" ]] && echo "$error"
|
||||
[ -s "$log" ] && log_content="$(<"$log")"
|
||||
[[ "$log_content" != "$hide" ]] && echo "$log_content"
|
||||
|
||||
mv -f "$out" "$BOOT" || return 1
|
||||
! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !"
|
||||
|
||||
+9
-3
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user