{"id":50718021,"url":"https://github.com/supermarsx/wfu-tool","last_synced_at":"2026-06-09T20:31:51.989Z","repository":{"id":348314532,"uuid":"1197183963","full_name":"supermarsx/wfu-tool","owner":"supermarsx","description":"Windows feature upgrade tool, helps you upgrade your Windows OS in-place without USB stick","archived":false,"fork":false,"pushed_at":"2026-04-17T15:56:22.000Z","size":3330,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-17T17:36:41.932Z","etag":null,"topics":["automation","bypass","deployment","feature-update","iso","iso-download","mct","media-creation-tool","powershell","script","sysadmin","tpm-bypass","upgrade","upgrade-tool","utility","windows","windows-10","windows-11","windows-update"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supermarsx.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T11:47:43.000Z","updated_at":"2026-04-17T15:49:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/supermarsx/wfu-tool","commit_stats":null,"previous_names":["supermarsx/wfu-tool"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/supermarsx/wfu-tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fwfu-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fwfu-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fwfu-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fwfu-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supermarsx","download_url":"https://codeload.github.com/supermarsx/wfu-tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fwfu-tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34125332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automation","bypass","deployment","feature-update","iso","iso-download","mct","media-creation-tool","powershell","script","sysadmin","tpm-bypass","upgrade","upgrade-tool","utility","windows","windows-10","windows-11","windows-update"],"created_at":"2026-06-09T20:31:51.295Z","updated_at":"2026-06-09T20:31:51.977Z","avatar_url":"https://github.com/supermarsx.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./wfu-logo.png\" alt=\"wfu-tool logo\" width=\"300\" height=\"300\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003ewfu-tool\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Windows feature upgrade orchestration for legacy Windows 10 through current Windows 11,\n  with interactive TUI flows, headless automation, resume checkpoints, media acquisition,\n  and USB creation.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./spec.md\"\u003eSpecification\u003c/a\u003e |\n  \u003ca href=\"./third-party-notices.md\"\u003eThird-Party Notices\u003c/a\u003e |\n  \u003ca href=\"./license.md\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## What It Does\n\n`wfu-tool` is a Windows-only PowerShell upgrade tool built to move machines across supported Windows feature releases with real orchestration instead of one-off scripting.\n\nIt can:\n\n- detect the current Windows release and build a valid upgrade path\n- sequentially upgrade from old Windows 10 releases through newer Windows 10 and Windows 11 targets\n- perform direct target upgrades through ISO/media flows\n- run interactively or headlessly from CLI and `.ini` config\n- persist checkpoints and resume after reboot\n- acquire media from multiple Microsoft-backed sources with source-health controls\n- create bootable USB media from staged ISO content\n- apply compatibility and policy workarounds needed for difficult upgrade paths\n\n## Highlights\n\n- Windows 10 and Windows 11 targets are separated in the interactive selector\n- Headless automation supports `CLI \u003e INI \u003e checkpoint` resolution\n- Dead sources stay selectable without being auto-picked\n- Legacy Windows 10 media support is built in through a pinned manifest layer\n- Resume is checkpoint-driven, with scheduled-task and `RunOnce` bootstrap support\n- The repo includes CI, packaging, release, winget, and Chocolatey scaffolding\n\n## Project Layout\n\n- [wfu-tool.ps1](/C:/Projects/wfu-tool/wfu-tool.ps1): main engine\n- [launch-wfu-tool.ps1](/C:/Projects/wfu-tool/launch-wfu-tool.ps1): interactive launcher\n- [launch-wfu-tool.bat](/C:/Projects/wfu-tool/launch-wfu-tool.bat): elevation-friendly batch entrypoint\n- [resume-wfu-tool.ps1](/C:/Projects/wfu-tool/resume-wfu-tool.ps1): post-reboot resume wrapper\n- [wfu-tool-windows-update.ps1](/C:/Projects/wfu-tool/wfu-tool-windows-update.ps1): direct Windows Update metadata client\n- [modules](/C:/Projects/wfu-tool/modules): upgrade, automation, media, USB, and helper modules\n- [tests](/C:/Projects/wfu-tool/tests): script-based validation suite\n- [devscripts](/C:/Projects/wfu-tool/devscripts): CI, packaging, release, and developer utilities\n\n## Quick Start\n\n### Interactive launcher\n\n```powershell\n.\\launch-wfu-tool.ps1\n```\n\nOr via batch:\n\n```bat\nlaunch-wfu-tool.bat\n```\n\n### Headless run\n\n```powershell\n.\\wfu-tool.ps1 -Mode Headless -TargetVersion 25H2 -NoReboot\n```\n\n### Create USB media\n\n```powershell\n.\\wfu-tool.ps1 -Mode CreateUsb -TargetVersion 25H2 -UsbDiskNumber 3\n```\n\n### Resume from checkpoint\n\n```powershell\n.\\resume-wfu-tool.ps1 -ResumeFromCheckpoint\n```\n\n## Configuration\n\n`wfu-tool` supports `.ini`-driven automation.\n\nExample:\n\n```ini\n[general]\nmode=headless\ntarget_version=25H2\ndownload_path=C:\\wfu-tool\nno_reboot=true\nallow_fallback=true\n\n[sources]\npreferred_source=WU_DIRECT\nallow_dead_sources=false\n\n[usb]\ncreate_usb=false\npartition_style=gpt\n\n[resume]\nenabled=true\nresume_from_checkpoint=true\n```\n\nUse it like this:\n\n```powershell\n.\\launch-wfu-tool.ps1 -Headless -ConfigPath .\\configs\\job.ini\n```\n\n## Source Model\n\nThe engine uses normalized source IDs across CLI, config, logs, and selection logic:\n\n- `WU_DIRECT`\n- `ESD_CATALOG`\n- `FIDO`\n- `MCT`\n- `ASSISTANT`\n- `WINDOWS_UPDATE`\n- `LEGACY_XML`\n- `LEGACY_CAB`\n- `LEGACY_MCT_X64`\n- `LEGACY_MCT_X86`\n\nSource health is first-class:\n\n- `healthy`: selectable and auto-eligible\n- `degraded`: selectable and auto-eligible, but warned\n- `dead`: selectable only when explicitly requested\n\n## Resume and Safety\n\nThe tool keeps session state in a checkpoint file and can re-enter after reboot without forcing the user to rebuild the run manually.\n\nIt also performs or supports:\n\n- pending reboot detection\n- disk space checks\n- network readiness checks\n- DISM and SFC health repair\n- media reuse where possible\n- diagnostics capture on failure\n\nThis is still a Windows upgrade tool. It touches registry, scheduled tasks, services, update state, and optionally USB disks. It should be run elevated and intentionally.\n\n## CI and Release\n\nThe repository includes a Windows GitHub Actions pipeline in [ci-release.yml](/C:/Projects/wfu-tool/.github/workflows/ci-release.yml) with this order:\n\n1. `format`\n2. `type`\n3. `lint`\n4. `test`\n5. `build_test`\n6. `package`\n7. `release / publish`\n\nRelease versioning uses calendar tags in `YY.N` format, for example:\n\n- `26.1`\n- `26.2`\n\nPackaging and release helpers live in:\n\n- [Package.ps1](/C:/Projects/wfu-tool/devscripts/Package.ps1)\n- [Build-Test.ps1](/C:/Projects/wfu-tool/devscripts/Build-Test.ps1)\n- [Get-ReleaseVersion.ps1](/C:/Projects/wfu-tool/devscripts/Get-ReleaseVersion.ps1)\n- [Publish-GitHubRelease.ps1](/C:/Projects/wfu-tool/devscripts/Publish-GitHubRelease.ps1)\n- [Publish-Winget.ps1](/C:/Projects/wfu-tool/devscripts/Publish-Winget.ps1)\n- [Publish-Chocolatey.ps1](/C:/Projects/wfu-tool/devscripts/Publish-Chocolatey.ps1)\n\n## Testing\n\nRun the full suite:\n\n```powershell\n.\\tests\\Test-Runner.ps1\n```\n\nUseful targeted checks:\n\n```powershell\n.\\devscripts\\Check-Type.ps1\n.\\devscripts\\Check-Lint.ps1\n.\\devscripts\\Build-Test.ps1\n.\\devscripts\\Package.ps1 -Version 26.1\n```\n\n## Notes\n\n- This project is Windows-only.\n- Administrator rights are required for real upgrade and USB flows.\n- Some live Microsoft endpoints can be unstable or change over time.\n- Legacy support exists in code and source planning, but old Microsoft media endpoints are not equally reliable.\n\n## Documentation\n\n- [spec.md](/C:/Projects/wfu-tool/spec.md)\n- [third-party-notices.md](/C:/Projects/wfu-tool/third-party-notices.md)\n- [license.md](/C:/Projects/wfu-tool/license.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fwfu-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupermarsx%2Fwfu-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fwfu-tool/lists"}