ElliotKillick/Mido

[Bug] Windows 11 download returns error 403

Opened this issue ยท 6 comments

For a while (a month) I havent been able to download Windows 11 via Mido anymore. I can succesfully download all other versions (8, 10, etc) but not 11. It always returns HTTP error 403.

At first I thought I just had been blocked, but I tried from many different IP addresses and they all result in error 403. So I am starting to think the problem is not on my end, but some change in the query parameter format for example.

Can someone please confirm wether Win11 download is still working for them?

Possibly related: pbatard/Fido#88 (comment)

I cannot reproduce this anymore.. Seems Microsoft changed something again, but at least it works now.

And the error has returned.. I still think it has something to do with pbatard/Fido#88 (comment)

Just tried this and I am also seeing the same 403 error code.

This is the same issue I found a couple of weeks ago. quickemu-project/quickemu#1102

@lj3954 I believe what you're directly referring to is the $iso_download_link variable.

Your commit in quickemu removes the truncating of the output to 512 characters.

So from this:

local iso_download_link="$(echo "$iso_download_link_html" | grep -o "https://software.download.prss.microsoft.com.*IsoX64" | cut -d '"' -f 1 | sed 's/&/\&/g' | tr -cd '[:alnum:][:punct:]' | head -c 512)"

to

local iso_download_link="$(echo "$iso_download_link_html" | grep -o "https://software.download.prss.microsoft.com.*IsoX64" | cut -d '"' -f 1 | sed 's/&/\&/g' | tr -cd '[:alnum:][:punct:]')"

I just confirmed this fixes the Windows 11 issue with Mido (by editing Line 391).

Although I do get a checksum error: (but this is most likely a separate issue?)

[!] 1 of the downloaded Windows media did NOT match the expected checksum! This means either that the media is a newer release than our current checksum (stored in Mido), was corrupted during download, or that is has been (potentially maliciously) modified! Please manually verify the Windows media before use: win11x64.iso

EDIT: Just saw @kroese pull request, which I can confirm works.