{"id":14976624,"url":"https://github.com/pbatard/fido","last_synced_at":"2025-05-14T04:00:32.350Z","repository":{"id":40568440,"uuid":"165325376","full_name":"pbatard/Fido","owner":"pbatard","description":"A PowerShell script to download Windows or UEFI Shell ISOs","archived":false,"fork":false,"pushed_at":"2024-11-24T22:27:29.000Z","size":334,"stargazers_count":2514,"open_issues_count":1,"forks_count":236,"subscribers_count":66,"default_branch":"master","last_synced_at":"2025-04-10T20:55:44.195Z","etag":null,"topics":["edk2","iso","powershell-script","retail","uefi","uefi-shell","ui","windows","windows-10","windows-8-1","windows11"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pbatard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-11T23:28:48.000Z","updated_at":"2025-04-10T16:54:57.000Z","dependencies_parsed_at":"2023-02-19T03:15:18.410Z","dependency_job_id":"bf987b1f-9a1c-419f-9640-7297ea64716d","html_url":"https://github.com/pbatard/Fido","commit_stats":{"total_commits":98,"total_committers":11,"mean_commits":8.909090909090908,"dds":"0.11224489795918369","last_synced_commit":"ec4673831ccd7b66451ee345fb801117908d498e"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbatard%2FFido","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbatard%2FFido/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbatard%2FFido/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbatard%2FFido/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pbatard","download_url":"https://codeload.github.com/pbatard/Fido/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254067084,"owners_count":22009074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["edk2","iso","powershell-script","retail","uefi","uefi-shell","ui","windows","windows-10","windows-8-1","windows11"],"created_at":"2024-09-24T13:54:09.786Z","updated_at":"2025-05-14T04:00:32.312Z","avatar_url":"https://github.com/pbatard.png","language":"PowerShell","readme":"Fido: A PowerShell script to download Windows and UEFI Shell ISOs\n=================================================================\n\n[![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html)\n[![Github stats](https://img.shields.io/github/downloads/pbatard/Fido/total.svg?style=flat-square)](https://github.com/pbatard/Fido/releases)\n\nDescription\n-----------\n\nFido is a PowerShell script that is primarily designed to be used in [Rufus](https://github.com/pbatard/rufus), but that\ncan also be used in standalone fashion, and whose purpose is to automate access to the official Microsoft Windows retail\nISO download links as well as provide convenient access to [bootable UEFI Shell images](https://github.com/pbatard/UEFI-Shell).\n\nThis script exists because, while Microsoft does make retail ISO download links freely and publicly available (at least\nfor Windows 8 through Windows 11), up until recent releases, most of these links were only available after forcing users\nto jump through a lot of unwarranted hoops that created an exceedingly counterproductive, if not downright unfriendly,\nconsumer experience, that greatly detracted from what people really want (direct access to ISO downloads).\n\nAs to the reason one might want to download Windows __retail__ ISOs, as opposed to the ISOs that are generated by\nMicrosoft's own Media Creation Tool (MCT), this is because using official retail ISOs is currently the only way to\nassert with absolute certainty that the OS content has not been altered. Indeed, because there only exists a single\nmaster for each of them, Microsoft retail ISOs are the only ones you can obtain an official SHA-1 for (from MSDN, if you\nhave access to it, or from sites [such as this one](https://msdn.rg-adguard.net/public.php)) allowing you to be 100%\nsure that the image you are using has not been corrupted and is safe to use.\n\nThis, in turn, offers assurance that the content __YOU__ are using to install your OS, which it is indeed critical to\nvalidate beforehand if you have the slightest concern about security, does match, bit for bit, the one that Microsoft\nreleased.\n\nOn the other hand, regardless of the manner in which Microsoft's Media Creation Tool produces its content, because no\ntwo MCT ISOs are ever the same (due to MCT always regenerating the ISO content on the fly) it is currently impossible to\nvalidate with absolute certainty whether any ISO that was generated by the MCT is safe to use. Especially, unlike what\nis the case for retail ISOs, it is impossible to tell whether an MCT ISO may have been corrupted after generation.\n\nHence the need to provide users with a much easier and less restrictive way to access official retail ISOs...\n\nLicense\n-------\n\n[GNU General Public License version 3.0](https://www.gnu.org/licenses/gpl-3.0) or later.\n\nHow it works\n------------\n\nThe script basically performs the same operation as one might perform when visiting the following URL (that is, in the\ncase of Windows 10, provided that you have also changed your `User-Agent` browser string, since, the Microsoft web\nservers detect that you are using a version of Windows that is the same as the one you are trying to download, they\nmay redirect you __away__ from the page that allows you to obtain a direct ISO download link):\n\nhttps://www.microsoft.com/en-us/software-download\n\nAfter checking basic access to the Microsoft software downloads website the script first queries the web API from the\nMicrosoft servers, to request the language selection available for the version of Windows selected, and then requests\nthe actual download links, for all the architectures available for that language + version.\n\nRequirements\n------------\n\nWindows 8 or later with PowerShell. Windows 7 is __not__ supported.\n\nCommandline mode\n----------------\n\nFido supports commandline mode whereas, whenever one of the following options is provided, a GUI is not instantiated\nand you can instead generate the ISO download from within a PowerShell console or script.\n\nNote however that, as of 2023.05, Microsoft has removed access to older releases of Windows ISOs and as a result, the\nlist of releases that can be downloaded from Fido has had to be reduced to only the latest for each version.\n\nThe options are:\n- `Win`: Specify Windows version (e.g. _\"Windows 10\"_). Abbreviated version should work as well (e.g `-Win 10`) as long\n   as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.\n   You can obtain a list of supported versions by specifying `-Win List`.\n- `Rel`: Specify Windows release (e.g. _\"21H1\"_). If this option isn't specified, the most recent release for the chosen\n   version of Windows is automatically selected. You can also use `-Rel Latest` to force the most recent to be used.\n   You can obtain a list of supported versions by specifying `-Rel List`.\n- `Ed`: Specify Windows edition (e.g. _\"Pro/Home\"_). Abbreviated editions should work as well (e.g `-Ed Pro`) as long\n   as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.\n   You can obtain a list of supported versions by specifying `-Ed List`.\n- `Lang`: Specify Windows language (e.g. _\"Arabic\"_). Abbreviated or part of a language (e.g. `-Lang Int` for\n   `English International`) should work as long as it's unique enough. If this option isn't specified, the script attempts\n   to select the same language as the system locale.\n   You can obtain a list of supported languages by specifying `-Lang List`.\n- `Arch`: Specify Windows architecture (e.g. _\"x64\"_). If this option isn't specified, the script attempts to use the same\n   architecture as the one from the current system.\n- `GetUrl`: By default, the script attempts to automatically launch the download. But when using the `-GetUrl` switch,\n   the script only displays the download URL, which can then be piped into another command or into a file.\n\nExamples of a commandline download:\n\n```\nPS C:\\Projects\\Fido\u003e .\\Fido.ps1 -Win 10\nNo release specified (-Rel). Defaulting to '21H1 (Build 19043.985 - 2021.05)'.\nNo edition specified (-Ed). Defaulting to 'Windows 10 Home/Pro'.\nNo language specified (-Lang). Defaulting to 'English International'.\nNo architecture specified (-Arch). Defaulting to 'x64'.\nSelected: Windows 10 21H1 (Build 19043.985 - 2021.05), Home/Pro, English International, x64\nDownloading 'Win10_21H1_EnglishInternational_x64.iso' (5.0 GB)...\nPS C:\\Projects\\Fido\u003e .\\Fido.ps1 -Win 10 -Rel List\nPlease select a Windows Release (-Rel) for Windows 10 (or use 'Latest' for most recent):\n - 21H1 (Build 19043.985 - 2021.05)\n - 20H2 (Build 19042.631 - 2020.12)\n - 20H2 (Build 19042.508 - 2020.10)\n - 20H1 (Build 19041.264 - 2020.05)\n - 19H2 (Build 18363.418 - 2019.11)\n - 19H1 (Build 18362.356 - 2019.09)\n - 19H1 (Build 18362.30 - 2019.05)\n - 1809 R2 (Build 17763.107 - 2018.10)\n - 1809 R1 (Build 17763.1 - 2018.09)\n - 1803 (Build 17134.1 - 2018.04)\n - 1709 (Build 16299.15 - 2017.09)\n - 1703 [Redstone 2] (Build 15063.0 - 2017.03)\n - 1607 [Redstone 1] (Build 14393.0 - 2016.07)\n - 1511 R3 [Threshold 2] (Build 10586.164 - 2016.04)\n - 1511 R2 [Threshold 2] (Build 10586.104 - 2016.02)\n - 1511 R1 [Threshold 2] (Build 10586.0 - 2015.11)\n - 1507 [Threshold 1] (Build 10240.16384 - 2015.07)\nPS C:\\Projects\\Fido\u003e .\\Fido.ps1 -Win 10 -Rel 20H2 -Ed Edu -Lang Fre -Arch x86 -GetUrl\nhttps://software-download.microsoft.com/db/Win10_Edu_20H2_v2_French_x32.iso?t=c48b32d3-4cf3-46f3-a8ad-6dd9568ff4eb\u0026e=1629113408\u0026h=659cdd60399584c5dc1d267957924fbd\n```\n\nAdditional Notes\n----------------\n\nBecause of its intended usage with Rufus, this script is not designed to cover every possible retail ISO downloads.\nInstead we mostly chose the ones that the general public is likely to request. For instance, we currently have no plan\nto add support for LTSB/LTSC Windows ISOs downloads.\n\nIf you are interested in such downloads, then you are kindly invited to visit the relevant download pages from Microsoft\nsuch as [this one](https://www.microsoft.com/evalcenter/evaluate-windows-10-enterprise) for LTSC versions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbatard%2Ffido","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpbatard%2Ffido","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbatard%2Ffido/lists"}