mirror of
https://github.com/pbatard/Fido.git
synced 2026-02-27 23:56:50 +01:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47e909f5f5 |
120
Fido.ps1
120
Fido.ps1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Fido v1.68 - ISO Downloader, for Microsoft Windows and UEFI Shell
|
# Fido v1.69 - ISO Downloader, for Microsoft Windows and UEFI Shell
|
||||||
# Copyright © 2019-2026 Pete Batard <pete@akeo.ie>
|
# Copyright © 2019-2026 Pete Batard <pete@akeo.ie>
|
||||||
# Command line support: Copyright © 2021 flx5
|
# Command line support: Copyright © 2021 flx5
|
||||||
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
||||||
@@ -159,6 +159,11 @@ $WindowsVersions = @(
|
|||||||
)
|
)
|
||||||
@(
|
@(
|
||||||
@("UEFI Shell 2.2", "UEFI_SHELL 2.2"),
|
@("UEFI Shell 2.2", "UEFI_SHELL 2.2"),
|
||||||
|
@(
|
||||||
|
"26H1 (edk2-stable202602)",
|
||||||
|
@("Release", 0),
|
||||||
|
@("Debug", 1)
|
||||||
|
),
|
||||||
@(
|
@(
|
||||||
"25H2 (edk2-stable202511)",
|
"25H2 (edk2-stable202511)",
|
||||||
@("Release", 0),
|
@("Release", 0),
|
||||||
@@ -668,26 +673,35 @@ function Get-Windows-Languages([int]$SelectedVersion, [object]$SelectedEdition)
|
|||||||
Write-Host Querying $url
|
Write-Host Querying $url
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$r = Invoke-RestMethod -UseBasicParsing -TimeoutSec $DefaultTimeout -SessionVariable "Session" $url
|
# May require a few attempts.
|
||||||
if ($r -eq $null) {
|
$attempt = 0;
|
||||||
throw "Could not retrieve languages from server"
|
while ($true) {
|
||||||
}
|
if ($attempt -ne 0) { Start-Sleep -Seconds 2 }
|
||||||
if ($Verbosity -ge 5) {
|
$r = Invoke-RestMethod -UseBasicParsing -TimeoutSec $DefaultTimeout -SessionVariable "Session" $url
|
||||||
Write-Host "=============================================================================="
|
if ($r -eq $null) {
|
||||||
Write-Host ($r | ConvertTo-Json)
|
if ($attempt++ -le 1) { continue }
|
||||||
Write-Host "=============================================================================="
|
throw "Could not retrieve languages from server"
|
||||||
}
|
|
||||||
if ($r.Errors) {
|
|
||||||
throw $r.Errors[0].Value
|
|
||||||
}
|
|
||||||
foreach ($Sku in $r.Skus) {
|
|
||||||
if (!$languages.Contains($Sku.Language)) {
|
|
||||||
$languages[$Sku.Language] = @{ DisplayName = $Sku.LocalizedLanguage; Data = @() }
|
|
||||||
}
|
}
|
||||||
$languages[$Sku.Language].Data += @{ SessionIndex = $SessionIndex; SkuId = $Sku.Id }
|
if ($Verbosity -ge 5) {
|
||||||
}
|
Write-Host "=============================================================================="
|
||||||
if ($languages.Length -eq 0) {
|
Write-Host ($r | ConvertTo-Json)
|
||||||
throw "Could not parse languages"
|
Write-Host "=============================================================================="
|
||||||
|
}
|
||||||
|
if ($r.Errors) {
|
||||||
|
if ($attempt++ -le 1) { continue }
|
||||||
|
throw $r.Errors[0].Value
|
||||||
|
}
|
||||||
|
foreach ($Sku in $r.Skus) {
|
||||||
|
if (!$languages.Contains($Sku.Language)) {
|
||||||
|
$languages[$Sku.Language] = @{ DisplayName = $Sku.LocalizedLanguage; Data = @() }
|
||||||
|
}
|
||||||
|
$languages[$Sku.Language].Data += @{ SessionIndex = $SessionIndex; SkuId = $Sku.Id }
|
||||||
|
}
|
||||||
|
if ($languages.Length -eq 0) {
|
||||||
|
if ($attempt++ -le 1) { continue }
|
||||||
|
throw "Could not parse languages"
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
Error($_.Exception.Message)
|
Error($_.Exception.Message)
|
||||||
@@ -1142,8 +1156,8 @@ exit $ExitCode
|
|||||||
# SIG # Begin signature block
|
# SIG # Begin signature block
|
||||||
# MIIteAYJKoZIhvcNAQcCoIItaTCCLWUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
# MIIteAYJKoZIhvcNAQcCoIItaTCCLWUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB1dtbxSI71NO7p
|
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDXxwqFQe5xW86J
|
||||||
# SjiPlVZveiiexFLEwtNoEZ6KLHZtBKCCEkAwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
# EJEwCZ5i7/F9Quz1+UVh86bzDD0Ep6CCEkAwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||||
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
||||||
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
||||||
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
||||||
@@ -1245,23 +1259,23 @@ exit $ExitCode
|
|||||||
# MS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgRVYgUjM2
|
# MS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgRVYgUjM2
|
||||||
# AhA3xQo8HaADcccNx8YmkC/lMA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIB
|
# AhA3xQo8HaADcccNx8YmkC/lMA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIB
|
||||||
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
|
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
|
||||||
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEII294xnKlxANHBu2tvimfevz
|
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIA43JqiFG1pUsW+VWG66vNSe
|
||||||
# QJqK5wCkNZQhXg6EpkW0MA0GCSqGSIb3DQEBAQUABIICAB1iDg7emj2kT1B9y6ZJ
|
# WesQeLIJDvPNjARLSjVJMA0GCSqGSIb3DQEBAQUABIICAI/rQjgUfZ9bWfkmeR+B
|
||||||
# RZ5n3DXh+Gg5HKqMed5qd8YowmRiHPgjAzwWe6P7mmJlEvtmbELdo2/nCfxlpU1y
|
# EeezCi04TCBW9ngtWAeSqGW8k2qdm2H3uoyPqO/78QwNHpKDi33VDXUmh+hGql9K
|
||||||
# 7ajlCcnGm+jcF/L0/UzLtc+VOpulivKJTLzg+f1vPdAsNmzZtSg5WbCauhh+KvYG
|
# pmfpVVP6dKvG5EQdclGYcP/sK7f77+EGZL7BGP08MP2k6NXvEAPvpvmJST2v3cM+
|
||||||
# zUSktXygBgC08YbiA1aagSGCuIqvhJhO25yz96j5iXQhIZLiZHuSbgl6ZGs/miId
|
# hktF0wQD8s/BWE3/FgrKUJMwIeG15ZQ1KG00xFXJjMl+CDpedNheeg46eU1iSe1R
|
||||||
# cZIqBlTJprRQ/YvO/6hVgPx1mEvdqBy6ZUBFaeR3sL0K3+dZCoZDkoVgNxjPhtaV
|
# wPsCh+MYw7Mu/31h1AAEu2gmVBmp23+CYaoSOfdQFfC4Pa2phg7e3UUVa5TAwfrX
|
||||||
# UvPisyociCVrwdOpjYT1rLI7dVXxG1giOfdIdsvHDJSbX5x+vFroMB3tQ7O65tAW
|
# KlWunPbh4U5reMa+1Z8vKGYAOOGw2/wDiI3Kg5dGczOxPvQBNGYjrovYW9DD0E1w
|
||||||
# dF+2ZtvgDp6UdjysojiKzPRI4ZdBWu1RKKm/khsArZnVBTnrkOuT5ErMYfKgrled
|
# ev5VtzLjmvQWjHg6Vp64JIcOmEQEcThZ/GUPDoS9SQfUpv9/a4siuHmiFhmX+Y0z
|
||||||
# sWdyoIHdUzwBHtOZ5jVVUZxjZ+uRdujpcUbKAeWJNU0rJaeKK2st5SZfoN7PAR0V
|
# ANVClEqN7/AW1C9c1LgWdxSZilENds8SS3BrFVDW/8ayvVEUHOLJLvux9anRgZP8
|
||||||
# YULTcsi5qS74ExvDp61q6t4An8Ivdysx7BjrY8tYOqy1BL2KtHtr99GAbDxkyTUg
|
# IDosOS+rY6T2+S0eGg69rGxwDmtVgEA8N2Ev7odXEkxPB9+UWrtnwSa4LTd3Y6rZ
|
||||||
# NOYEKhqXrLhJ/MEGW1SX5RDUbqmoSKdM9KN65vYzxAbUSEm9Srv/9DacAX6V0KVb
|
# ucL8MngWdNGMfXCKqlrRpK6SBNRtzxbFj7fZwAT2X6oOXieNLNcLvX5wKc9Vv1Vu
|
||||||
# P3xN0yGcGTD07211lZVus0G0wOBts3ejYa6VdR2oFGT7XbVKInq60gsc/9y3CMbn
|
# mntM0SzZUKXin6CWgtpl6MBFy+hNNM2iazm/WXSUyC7AQEPdoYTlmahOFTOABhJK
|
||||||
# HX10NIIGIczSgTGhXGEP3ts0oYIXdjCCF3IGCisGAQQBgjcDAwExghdiMIIXXgYJ
|
# H6w2jf+SzXOpUwUe38vEX0tMoYIXdjCCF3IGCisGAQQBgjcDAwExghdiMIIXXgYJ
|
||||||
# KoZIhvcNAQcCoIIXTzCCF0sCAQMxDzANBglghkgBZQMEAgEFADB3BgsqhkiG9w0B
|
# KoZIhvcNAQcCoIIXTzCCF0sCAQMxDzANBglghkgBZQMEAgEFADB3BgsqhkiG9w0B
|
||||||
# CRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEIF1ETvvL
|
# CRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEII+chtKC
|
||||||
# QCdZF7O30x7x/Ai+Fh/pbIhey1FGc6XZYYjPAhAwhmXImjSup3iskTx2z/ccGA8y
|
# FdhcHUp7wTlYBcSyaAed68xF7aTBmMLNlxxnAhAVhSZL8NVuXAVE4r+F6WQ8GA8y
|
||||||
# MDI2MDIxNjE1MzQxNVqgghM6MIIG7TCCBNWgAwIBAgIQCoDvGEuN8QWC0cR2p5V0
|
# MDI2MDIyNzE2NTIyMVqgghM6MIIG7TCCBNWgAwIBAgIQCoDvGEuN8QWC0cR2p5V0
|
||||||
# aDANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl
|
# aDANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl
|
||||||
# cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1w
|
# cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1w
|
||||||
# aW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2
|
# aW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2
|
||||||
@@ -1368,19 +1382,19 @@ exit $ExitCode
|
|||||||
# LjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNB
|
# LjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNB
|
||||||
# NDA5NiBTSEEyNTYgMjAyNSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZIAWUD
|
# NDA5NiBTSEEyNTYgMjAyNSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZIAWUD
|
||||||
# BAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJ
|
# BAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJ
|
||||||
# BTEPFw0yNjAyMTYxNTM0MTVaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFN1iMKyG
|
# BTEPFw0yNjAyMjcxNjUyMjFaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFN1iMKyG
|
||||||
# Ci0wa9o4sWh5UjAH+0F+MC8GCSqGSIb3DQEJBDEiBCAROkPGEvLcoCA4oIHK59Hp
|
# Ci0wa9o4sWh5UjAH+0F+MC8GCSqGSIb3DQEJBDEiBCAJa2JEShvGrD+39nfdQTTr
|
||||||
# TW3+avNGAWkzvkXbV2i7EjA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCBKoD+iLNdc
|
# fD9A3SWsz/cALhUAmmbGSjA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCBKoD+iLNdc
|
||||||
# hMVck4+CjmdrnK7Ksz/jbSaaozTxRhEKMzANBgkqhkiG9w0BAQEFAASCAgAPiz7y
|
# hMVck4+CjmdrnK7Ksz/jbSaaozTxRhEKMzANBgkqhkiG9w0BAQEFAASCAgB3zxNK
|
||||||
# 1GJTY/Qkv2QBqTz1wCpn9tP+6GWU4ENS0CLFueRklgCbuY36ZOt24Zh09ScHUKAJ
|
# VkbNAa44aabbeTbZ2+lx4tNGpHYfAf1oz7P3rl6GwDAxDwD9Pm9NvJiCVa8cUsbO
|
||||||
# am+xPP0uyfdmj1qwkrJR9JI6H2sCrPprB8jEbUFnRDroG+guP15PDZCPUnWp/gMp
|
# VuzhJXgdFU6ZHaVQn6CXaAB4V/w51mVz7mXCu+uls4qHGByO2+EW+f0D1ywiSmKE
|
||||||
# h2RxYn8hzvb1kkzoj1rhTpJus6Mh1rPdJVa0s/2zun0pXLBHwERFYTOm9Omqf61a
|
# 9kLtS0KKQRBrX46ULMpZfokHVPT5ngur/dbXweWkQkusbaxHIJNBMh7aFnqSk42p
|
||||||
# UcYnYWz6XIDHnbZZlZ2VabnbPCqreIR87Z9h9S4So9jIHQAOVunkio1G7VKsHsxq
|
# vhsM4r2tS8GGYT5HhFHCx6ZFVUZHQ+JYbCyxmxnTVIAdeiTsBaM3tgkUyr2Aku5D
|
||||||
# qJIPul8K0vAeFo/Wn/yhGe+OSFgzgb0hrtH8gCYCUyaTTpsTqWXdR4TKtNwGtybk
|
# 4yb8UBWBuAsOeI/16p4SKI/TOO3Z/p9AinqdXLrNQ96UMA/BiPMrO/v2G0ZQhye9
|
||||||
# QlT0Tj8cm9eXEbqxRKJpaJqQVA39ugfzoPbsGgJzfLrP52r4rAN7Sk7c2ERAdHlR
|
# SCImSsNK3IOCPdVkP3adjL7trymYPu27VA1YCHDe91Dhu8u77hSwQCc+5HtepJ9E
|
||||||
# Zv2Td7sQz1tbiB+NRQnz/hKbXN0amcikecq2yOMHJVCXvQyvfSh/Fp3QCFcmwxzM
|
# 7OXOtHLNljNjRAd/jpIE/WLPgcadMOzwj8IkUOFVK20IrZZVxqhBma11sg1VqFMu
|
||||||
# 4uBpKtwYkchRmPbpCn8U6F5qW8YXzJpoHuQkwBGNEG0G+rZlQja4qEnNW9tv2NAr
|
# GAJBDf61o1JwSr4lqUn44R+ZZWhr1jAaO/aibWMX+r1VJ3TqXLKW+Uy3XCXGZzR1
|
||||||
# N1MB6OIWUexpWpGsI0gNGp0Bs+bOwHRdQMlH+pw4ut7I3oHbnu4b0dBK0Kz8cQoh
|
# f0+FbC0ufTkceGDB4NoAJCOm/W1Ukmj4tew6S9oKGdI26kxAXLc1qOZwH4WpTicl
|
||||||
# L8LYVZ0Lf5vCl55XU2OYNLD9p8FcuupaTUI2ounYSPa3cozcHFQ3ij7eWB8iUP1q
|
# yjVHxpC9kh/YeOGzdXpR8Me6rkWJq9YIItRb2AfGgxeY1AKAH9nG8R4Ue48UGROa
|
||||||
# kSJ49Ctd2AzLw89SR8X/ljKfrbU5fmQN5V2WVw==
|
# cgv9uzgXL6m8sNv+Uy7woE1dEuBv7WbFQVRhpQ==
|
||||||
# SIG # End signature block
|
# SIG # End signature block
|
||||||
|
|||||||
Reference in New Issue
Block a user