mirror of
https://github.com/pbatard/Fido.git
synced 2025-09-17 14:48:02 +02:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9c19e1c671 | ||
![]() |
bc488df01a |
21
Fido.ps1
21
Fido.ps1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Fido v1.07 - Retail Windows ISO Downloader
|
# Fido v1.09 - Retail Windows ISO Downloader
|
||||||
# Copyright © 2019 Pete Batard <pete@akeo.ie>
|
# Copyright © 2019 Pete Batard <pete@akeo.ie>
|
||||||
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
||||||
#
|
#
|
||||||
@@ -438,14 +438,7 @@ if ($LocData -and (-not $LocData.StartsWith("en-US"))) {
|
|||||||
}
|
}
|
||||||
$Locale = $Localized[0]
|
$Locale = $Localized[0]
|
||||||
}
|
}
|
||||||
# Test if the Microsoft servers can handle our locale. If not, fall back to en-US.
|
|
||||||
$QueryLocale = $Locale
|
$QueryLocale = $Locale
|
||||||
try {
|
|
||||||
$url = "https://www.microsoft.com/" + $QueryLocale + "/software-download/"
|
|
||||||
Invoke-WebRequest -UseBasicParsing -MaximumRedirection 0 -UserAgent $UserAgent $url | Out-Null
|
|
||||||
} catch {
|
|
||||||
$QueryLocale = "en-US"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Make sure PowerShell 3.0 or later is used (for Invoke-WebRequest)
|
# Make sure PowerShell 3.0 or later is used (for Invoke-WebRequest)
|
||||||
if ($PSVersionTable.PSVersion.Major -lt 3) {
|
if ($PSVersionTable.PSVersion.Major -lt 3) {
|
||||||
@@ -513,11 +506,20 @@ $Continue.add_click({
|
|||||||
switch ($Stage) {
|
switch ($Stage) {
|
||||||
|
|
||||||
1 { # Windows Version selection
|
1 { # Windows Version selection
|
||||||
|
$XMLForm.Title = Get-Translation($English[12])
|
||||||
|
Refresh-Control($XMLForm)
|
||||||
|
# Check if the locale we want is available - Fall back to en-US otherwise
|
||||||
|
try {
|
||||||
|
$url = "https://www.microsoft.com/" + $QueryLocale + "/software-download/"
|
||||||
|
Invoke-WebRequest -UseBasicParsing -MaximumRedirection 0 -UserAgent $UserAgent $url | Out-Null
|
||||||
|
} catch {
|
||||||
|
$script:QueryLocale = "en-US"
|
||||||
|
}
|
||||||
|
|
||||||
$i = 0
|
$i = 0
|
||||||
$array = @()
|
$array = @()
|
||||||
foreach ($Version in $WindowsVersions[$WindowsVersion.SelectedValue.Index]) {
|
foreach ($Version in $WindowsVersions[$WindowsVersion.SelectedValue.Index]) {
|
||||||
if (($i -ne 0) -and ($Version -is [array])) {
|
if (($i -ne 0) -and ($Version -is [array])) {
|
||||||
Write-Host $Version[0]
|
|
||||||
$array += @(New-Object PsObject -Property @{ Release = $ltrm + $Version[0].Replace(")", ")" + $ltrm); Index = $i })
|
$array += @(New-Object PsObject -Property @{ Release = $ltrm + $Version[0].Replace(")", ")" + $ltrm); Index = $i })
|
||||||
}
|
}
|
||||||
$i++
|
$i++
|
||||||
@@ -525,6 +527,7 @@ $Continue.add_click({
|
|||||||
|
|
||||||
$script:WindowsRelease = Add-Entry $Stage "Release" $array
|
$script:WindowsRelease = Add-Entry $Stage "Release" $array
|
||||||
$Back.Content = Get-Translation($English[8])
|
$Back.Content = Get-Translation($English[8])
|
||||||
|
$XMLForm.Title = $AppTitle
|
||||||
}
|
}
|
||||||
|
|
||||||
2 { # Windows Release selection => Populate Product Edition
|
2 { # Windows Release selection => Populate Product Edition
|
||||||
|
@@ -19,7 +19,7 @@ As to the reason one might want to download Windows __retail__ ISOs, as opposed
|
|||||||
Microsoft's own Media Creation Tool (MCT), this is because it is only with an official retail ISO that one can assert
|
Microsoft's own Media Creation Tool (MCT), this is because it is only with an official retail ISO that one can assert
|
||||||
with complete certainty whether its content has been altered in any way or not. Indeed, retail Microsoft's ISOs are the
|
with complete certainty whether its content has been altered in any way or not. Indeed, retail Microsoft's ISOs are the
|
||||||
only ones you will be able to obtain an official SHA-1 for (from sites [such as this one](https://msdn.rg-adguard.net/public.php))
|
only ones you will be able to obtain an official SHA-1 for (from sites [such as this one](https://msdn.rg-adguard.net/public.php))
|
||||||
for instance) allowing you to be 100% certain that the image you are using is non corrupted and safe to use.
|
allowing you to be 100% certain that the image you are using is non corrupted and safe to use.
|
||||||
|
|
||||||
This, in turn, offers assurance that the content __YOU__ are using to install your OS, and which it is indeed critical
|
This, in turn, offers assurance that the content __YOU__ are using to install your OS, and which it is indeed critical
|
||||||
to validate beforehand if you care about security, does matches bit for bit the one that Microsoft officially released.
|
to validate beforehand if you care about security, does matches bit for bit the one that Microsoft officially released.
|
||||||
|
Reference in New Issue
Block a user