-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Error: Could not retrieve architectures from server" for Windows 10 & 11 #41
Comments
I have the same issue (on 2 different devices) for both Windows 11 Releases available and also for older Windows 10 Releases (tested 1709, 1803, 19H1). |
Thanks for the report. I can replicate the issue too. For one thing, it appears that Microsoft changed the UUID for the So yeah, when you try to query However, the reason why Microsoft seems to have changed the UUID is because the new |
Spoke too soon. Whereas the |
* Per #41 Microsoft appear to have altered their website to make it hostile to our script. * Considering that trying to troubleshoot this is likely to take a long while, and that I sure could use some help with it, add a notice about this whole mess...
Well, from further investigation, it sure looks like Microsoft made their website deliberately hostile to our script queries. The only query that works for This is likely to take a looooong time to troubleshoot, and I sure could use some help with it. So for now, I'm just going to conditionally disable the Windows ISO downloads in the script while printing an error notice. If you think you can help with this, please set the variable to false here and have a stab at it! |
I would like to have a look but no promises. At some point it may be easier to spin up a headless browser and automate clicks. Thanks for your hard work on this tool! |
I appreciate that. Thanks! |
That's very strange... not sure if that change is actually deliberate. I mean, on https://www.microsoft.com/en-us/software-download/windows11 there's still the option to directly download an
At least that's what I am seeing here, not sure if that's already different for you, because of some geofencing shenanigans or something.. |
It's not. However, whereas one could previously send independent HTTP queries like That's a deliberate change if I ever saw one, because it makes little sense to suddenly try to restrict the query context to impair requests... And before somebody asks, no, it's just not a matter of setting the referrer URL when performing the query. It's more insidious than that, which, again, hints at deliberate breakage... But then again, I'd be very happy to be proven wrong on this, because, if it's not deliberate breakage, then one would expect that fixing the script should be easy. |
Don't get me wrong, I'm not really disagreeing with you, of course this change is deliberate. I was merely speculating about the reasoning behind this change, please excuse me for not making myself more clear. After all, I don't see yet how hampering access here would make sense from Microsoft's perspective, given that the Windows 11 ISO download ability is still present, just like it has always been (unlike for Windows 10 ISO images, ironically). So, maybe this is the result of some security-related changes to their server settings, and there will be a new API or something, eventually? |
Back in the day Microsoft sent us DMCA takedowns just because we hosted their original ISOs. They even pushed Google to block Drive accounts. Later on, we replaced those links with TechBench's. Thousands of people downloaded ISOs easliy without the need to visit the Microsoft's website. This was inevatibale. A dumb though move if you ask me. |
Hello, i have a problem with a computer, i want to reinstall window in it but, it dont find my lecteur or disk, so i google it the problem say go to rufus and try but, rufus application say go here but i dont understand anything i didnt from here and im not speaking goood english plz help |
It was probably deliberate but it's not uncommon for websites to prevent cross-origin requests and lock down their resources behind a Referer. I submitted the PR #42 that fixes this issue. |
It works for me with the #42.
? False alarm? It already made Hacker News front page :) |
Oh wow, it was the referrer after all. Thanks a lot for this! I don't know how I must have tested the referrer then, because I couldn't make it work at the time (and then I got temporarily blocked by Microsoft's servers because they do have checks in place to see if somebody is trying to abuse their query servers a bit too much). I can indeed confirm that your patch works, so I have applied it. And I will make sure that the updated version of the script is used by Rufus ASAP. Can't thank you enough for figuring that out (and not taking my word for it) because I was literally going in the completely wrong direction here... 😉 |
Shoot. I gotta be more careful about what I put in the application and write in the issue tracker then, because it seems to get blown out way more than what I'm comfortable with... |
You were comfortable with "hostile" and "insidious". |
Well, from where I stand, there's not much point into adding the extra referrer unless you actively want to restrict access, which I feel does fall into the hostile territory (since someone at Microsoft must have looked at the HTTP request that were being issued to retrieve the ISO download links, seen that there were some that were being issued from a non-Microsoft referrer and decided to add the extra referrer check then). In short, there was some deliberate restrictive action on Microsoft's part there, and since it directly affected the ability of third parties from obtaining download links, one can feel entitled to qualify as "hostile" to said third parties. This being said, I must also point out that part of my comments (especially the "insidious" part) were made after I tested trying to make it look like the request came from the original Microsoft page, which I was testing in the browser at the time, and finding that the request still failed. This is where I thought that Microsoft were a lot more proactive in trying to prevent third parties from accessing download links than they actually (currently) are. So, I will agree that part of this reaction on my part was overblown, as it was based on incorrect testing results, and I have no issue taking the blame here. Now, I usually wouldn't make a big deal out of it, because an issue tracker is a place where you do expect some fumbling around along with incorrect assertions (and yes, possibly some hyperbola) until you get to the end of an issue. It does however become a bit of a problem when what you didn't think would go further than the issue tracker starts to get plastered on front page news... |
Thanks. I'm hoping we're never going to have to go that far. I will say that I am very appreciative of the amazing willingness to help I've seen after I started to ask for help here! I genuinely didn't expect that so many people would be asking to lend a hand in such a short time. So I will reiterate my thanks to all of you who have volunteered to contribute here. 😄 |
As I understand it, there is a reason they are trying to block iso's that have the mark of the web. Attackers are using ISOs as a means to mount and launch attacks. My guess is that this is a side effect of this. Sometimes their nonsense has an intent, however they may (as usual) once again suck at communication. |
You don't have any idea what you are talking about, do you? |
Never attribute to malice when it can be mistakes, changing cloud servers, or a not well communicated change. So how about you educate me instead? Rudeness doesn't let others including myself learn. So educate me. |
#42 Nice work on this! |
ISOs have SHA1 hashes, kinda like signatures. So, it is not possible to alter them and keep the same hash. You can check an ISO for manipulation. |
I'm not able to replicate your issue even running in the same conditions as you are (Russian interface, and downloading Windows 11 21H2 Russian):
Please bear in mind that the In short, if the fix for this issue wasn't working properly, we'd get plenty of reports about it. But that is not the case, so the issue you are encountering must be specific to your environment, and it will be very difficult for anybody else but you to troubleshoot it, since we can't replicate your problem. |
If i not very stupid i can see that programm can't get "Download Link", but in browser Google Chrome i can use link that you post. (alredy download .iso by ur link)
May be Microsoft block russian ip to load .iso thats why there is no link. |
That's normal. You can't send a naked query like this to Microsoft's servers by copying the URL into a browser, because it will use a However, the last URL you saw in my log should be the image you are after, and it should be valid for 24 hours: https://software.download.prss.microsoft.com/dbazure/Win11_Russian_x64v1.iso?t=1789d9bc-52da-4a43-9e1f-a5bf1fb4256b&e=1660853241&h=2983af7e4c4a8340ec618432ba7a67f492647fde10b00edb43d22808e84225d2 |
Looks very like that. Same error for me ("Could not retrieve architectures from server" for Windows 10 & 11) with Russian IP. Via VPN everything is working fine. |
I can't download by my self when open site MS, but can load by ur link, Thanks! |
@rxu have you tried to change your IP from Russian to any other country via VPN? That was working for me a month ago. |
Not yet, thanks. |
Same error for Windows 11 & Windows 10, |
Same error for russian version of windows 11. Under vpn too. |
Same error on v=1.36. |
This is NOT an issue with the script. This is an issue with being located in Russia and trying to access Microsoft servers. Fido is not designed to work around embargoes and, considering the user reports and my own testing, it works absolutely fine as long as you are located in a country that is not Russia. The issue described above has been properly fixed and is NOT the reason why you are seeing the error right now. |
I'm not in russia. I do not use VPN. I'm not trying to download russian version of Windows. |
1000's of other users that don't run into this issue, because they are not reporting anything, as well as my own testing which, if it was really the script, would easily be able to replicate your issue, indicate that the problem is on your end. Since I cannot replicate your issue, and it appears the vast majority of users cannot either, you are free to investigate and send a patch, because I can guarantee that, since it works for everybody else, nobody is going to bother. Oh and instead of telling us what you are not doing, how about telling us what you are actually doing, what ISO you are trying to download, where you are located, what you have tried and so on, instead of WRONGLY assuming that everybody is affected and that the script is the issue. |
@pbatard , tried to investigate... So, you're right, it's not script. |
Sorry for taking your time and for negative emotions. |
No worries. The problem is that outside the script, we are ultimately relying on Microsoft's servers to provide the ISO content, and Microsoft are free to set whatever rule they want there to decide whether they want to provide said content or not. So, if for any reason, they have (wrongly) decided that your current IP is part of a botnet or some other network they don't want to deliver content to (e.g. IPs belonging to countries with active delivery embargoes), they will refuse to serve content, and there is literally nothing the script can do about that. And if you are lucky, this might be a temporary ban. |
For the record, Microsoft have updated their download servers yet again, which produces the same issue. See #52. This time however, they are a bit more forward about actively trying to prevent some third-party access to their services in the error message they return then:
|
Uploading each version and edition of Windows to the cloud still an option, Microsoft can no longer control what you can download then right? the main problem here is automating the new version and updates of Windows 10 & 11 to get uploded automatically or we can go with the hard way and do that manually, this should be a last option I think like a plan B? because that will take a lot of time and cloud storage. |
There are likely to be legal issues with doing that, which i think the dev wants to avoid (and I don’t think the dev would have kept a copy of every ISO for every edition and language (which would be needed in order to restore downloads of the older versions), although i have got a collection of ISOs (every version, English International only), I won’t be uploading these anywhere) |
Uploading each version and edition of Windows to the cloud (and publishing the link) IS copyright infringement. Unless you have entered a redistribution licensing agreement with Microsoft, you can not legally upload anything to the cloud (or anywhere on the Internet for that matter) and make it available to others. And that applies not just to Windows, but as far back as MS-DOS binaries, because that's how far back copyright currently applies. You are NOT going to get access to older Windows ISOs from this project unless Microsoft makes them publicly available, period. |
I've seen many website doing this and upload the ISO version of Windows 7 specially sinces it's no longer available in Microsoft website and they are not few, they don't seem to have a
maybe these are illegal website? idk, but you can't tell that accessing to Microsoft products and softwares trough a third party scripts and softwares without permission are legal, specially after Microsoft blocked the only api to do that. Using headless browsers is some kind of Scraping and it's not legal too. |
I can and I will. There's no license agreement, not even an implicit one, that states that public links provided by Microsoft and content served by Microsoft cannot be made accessible through third party scripts, or third party website, or third party software. Heck, if you remove the ability to share or use links outside of the original purveyor's website, half the Internet would crumble. What I can tell you is that, by definition, if you upload copyrighted content to which you don't hold rights to your third party website or include it in your third party application, you are committing an illegal act on account that only the rights-holder, by definition, has the right to redistribute that content. So all those Windows 7 ISO serving websites are committing copyright infringement, because the copyright for Windows 7 is still held by Microsoft and Microsoft only, as it doesn't just expire when the software maker stops supporting it. It doesn't matter how many of these sites there exist, they are all illegal. On the other hand, the situation is very different if you download public content directly from the copyright holder, because in this case, it is the rights holder that is providing it to you, and there is no infringement. So, no matter how you want to twist things, the situation is completely different, and you're not going to make any headway by claiming that because some people are clearly committing copyright infringement with Windows 7 ISOs (and somehow getting away with it), it should be okay to commit copyright infringement with other ISOs, or that downloading files that are publicly provided by the copyright holder is illegal. |
I don't have a knowledge of all of Microsoft Software Terms and Policies actually but I got your point. What I wanna know is what do they ban exactly when you request multiple time? the ip adress should change after shutting down the router for 30s and I cleared all the cookies and the local storage so why am I still banned? and by saying some location does that mean my whole country will be banned because of me or what? I'm asking that because I wanna do some kind of experiments on their apis to know when exactly does the request succeed, now they all just fail because of that restriction |
I'm not Microsoft. I don't have access to the server code that handles the bans. So I cannot answer that question.
Your "should" indicates that you haven't really validated that it does. It's not that difficult to find out if your external IP did actually change after you reset your router. For someone who wants to know exactly what Micosoft does, it seems to me like you didn't try to find exactly if your IP address did change...
My current understanding is that Microsoft also happens to ban whole countries, such as Russia, from accessing their downloads servers.
Then do just that. But please work on facts ("I confirmed that my external IP address changed and I observed X, Y Z") rather than on assumptions ("the ip address should change..."). And please understand that nobody here has any factual insight as to how exactly Microsoft handles bans. They might use IP, they might use browser footprint, they might use whatever else, which we won't be able to tell you for sure, because only Microsoft has access to the code that governs these bans, and they will obviously never share that info with the general public. |
Not sure what additional info to put here.
The text was updated successfully, but these errors were encountered: