Compare commits

...

15 Commits
v1.54 ... v1.68

Author SHA1 Message Date
Pete Batard
ea425ffbec Add new workaround for Microsoft's pointless restrictions
* This adds the new required dance with ov-df.microsoft.com.
* Won't help with the extra IP filtering MS seems to have added to detect VPN access.
* Closes #106.
* Maybe one day Microsoft will take a page from Linux and realise that trying to ostracise
  users, by not making the ISO downloads freely accessible through wget, curl and scripts,
  WITHOUT RESTRICTIONS, is yet another great way to cement the ongoing decline of your OS.
  Then again, if Microsoft maintains its current user-aggravating direction, we may find
  out, possibly soon, if both parts of "too big to fail" Wintel can meet the same fate...
2026-02-16 15:59:03 +00:00
Pete Batard
41d5b8e79f Add UEFI Shell 25H2 downloads 2025-11-21 21:35:44 +00:00
Pete Batard
0d5a7fed87 Add Windows 11 25H2 downloads
* With thanks to @ave9858.
* Closes #100.
2025-09-30 22:27:33 +01:00
Pete Batard
2fc1739224 Add UEFI Shell 25H1 downloads 2025-06-12 17:42:16 +01:00
Pete Batard
96c3637863 Add UEFI Shell 24H2 downloads
* Also add a new -PlatformArch option, to help avoid the very time consuming WMI call to autodetect the native CPU arch.
2024-11-24 22:26:40 +00:00
Pete Batard
c034a4e72a Fix localization of error message 715-123130
* As usual, Microsoft are completely unable to properly process UTF-8 content, even if
  the response from an Invoke-WebRequest query explicitly specifies "charset=utf-8".
* So, once again, we need to force PowerShell's hand to treat the content as UTF-8.
* Also improve the default error message if we can't get it from Microsoft.
2024-11-20 13:51:17 +00:00
Pete Batard
ce405fa35c Switch to using the new JSON Windows download API
* This simplifies things quite a bit since we were converting HTML to XML to JSON before.
* Also drop the custom User Agent for now.
  We'll have to see how long it takes Microsoft to go back to filtering out PowerShell...
* Closes #98.
2024-11-19 22:42:39 +00:00
Pete Batard
5402fc6222 Add ARM64 Windows 11 downloads
* Gotta really praise Microsoft for having designed their download servers to
  handle multiple archs for the same Windows SKUs... and then completely throw
  that out of the window to instead make Windows 11 ARM64 a different SKU.
* Now, because we don't want to be *AS MORONIC AS MICROSOFT*, we go the extra
  mile (and issue multiple requests, using multiple session IDs) to make the
  ARM64 *ARCHITECTURE* fall into the fold of where it belongs, i.e. as a user
  selectable property of a single Windows 11 release.
* Closes #97.
2024-11-18 01:52:22 +00:00
Pete Batard
f8cec58032 Clean up and update
* Drop Korean exception, since Microsoft no longer serves Korean specific images, and simplify Chinese exceptions.
* Drop Windows 7 ISO handling, since Microsoft no longer serves Windows 7 ISOs.
* Update Firefox user agent version.
* Add a new -Debug switch to dump responses, and simplify verbosity handling.
2024-11-15 13:15:01 +00:00
Pete Batard
ec4673831c Remove Windows 11 23H2 ISO downloads 2024-10-03 16:53:10 +01:00
Pete Batard
3f791c6c4c Add Windows 11 24H2 downloads
* With thanks to @ave9858.
2024-10-01 21:20:35 +01:00
Pete Batard
29d8150b04 Remove Windows 8.1 downloads
* Microsoft removed them from their website.
2024-07-08 12:34:10 +01:00
Pete Batard
f55fd2932c Switch back to using 'Invoke-WebRequest' instead of 'curl'
* Closes #91.
2024-06-18 12:08:48 +01:00
Pete Batard
06a14ba11c Add UEFI Shell 24H1 ISO downloads 2024-05-30 13:16:38 +01:00
Pete Batard
4e6f25f351 Work around the latest Microsoft server restrictions
* It looks like Microsoft are actively filtering our script by detecting our first request with the
  spoofed user-agent, so work around that.
* Also switch to using 'curl' instead of 'Invoke-WebRequest'. May break PowerShell 7.0, but I'm only
  concerned about Rufus usage for now.
* Also add timeouts on web requests.
* Closes #88.
2024-02-07 15:55:59 +00:00
3 changed files with 481 additions and 349 deletions

824
Fido.ps1

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
Fido: A PowerShell download script for Microsoft Windows and UEFI Shell ISOs Fido: A PowerShell script to download Windows and UEFI Shell ISOs
============================================================================ =================================================================
[![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) [![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![Github stats](https://img.shields.io/github/downloads/pbatard/Fido/total.svg?style=flat-square)](https://github.com/pbatard/Fido/releases) [![Github stats](https://img.shields.io/github/downloads/pbatard/Fido/total.svg?style=flat-square)](https://github.com/pbatard/Fido/releases)

View File

@@ -21,7 +21,7 @@ sign_file() {
} }
# Update the Authenticode signature # Update the Authenticode signature
MSYS2_ARG_CONV_EXCL='*' "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool" sign /v /sha1 3dbc3a2a0e9ce8803b422cfdbc60acd33164965d /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 Fido.ps1 MSYS2_ARG_CONV_EXCL='*' "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool" sign /v /sha1 fc4686753937a93fdcd48c2bb4375e239af92dcb /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 Fido.ps1
read -s -p "Enter pass phrase for `realpath $PRIVATE_KEY`: " PASSWORD read -s -p "Enter pass phrase for `realpath $PRIVATE_KEY`: " PASSWORD
echo echo
# Confirm that the pass phrase is valid by trying to sign a dummy file # Confirm that the pass phrase is valid by trying to sign a dummy file