Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Official Windows VM download URL archive, from — scratch that —
#!/usr/bin/env zsh
mkdir -m 0700 -p $datadir
git -C $datadir init
exec >>$logfile
echo "# $date"
curl -fsSL | \
jq -r '.[].software[].files[] | if has("md5") then .url + " " + .md5 else empty end' | \
while read -r url md5url; do
if ! grep -q $url $logfile; then
echo $url >&2
# Note that $md5url for newer images now return 404, and I can't
# find MD5 checksums on the web interface
# (
# anymore, so maybe they abandoned those.
# We simply set $md5 to empty if curl fails.
md5=$(curl -fsL $md5url) || md5=
echo $url $md5
exec >&-
git -C $datadir add --all
git -C $datadir commit --no-verify --no-gpg-sign --message=$date
# Each uncommented line consists of a VM image URL and its MD5 checksum.
# Tue Jun 21 15:55:10 CST 2016 86D481F517CA18D50F298FC9FB1C5A18 61A2B69A5712ABD6566FCBD1F44F7A2B 755F05AF1507CD8940354BF564A08D50 7AA66EC15A51EE8B0A4AB39353472F07 080C652C69359B6742DE547BA594AB2A 4002CA8238181312A1F4DAB04632A2C1 9FF9F7B87A6F9DD90811179D482B55CD 9C6FD479FF2ACFA5076EB94A36F10BC9 7DD96C772C03D63BAFE4364A08F13D22 1D339B26AFE105815DFEC31AE48AA88A F658014BBBEEB1A9D0C1068597E4EBD7 40365709CF030C9ABCA51CCAE4BCBEED 67DDA8AD0E25BCC03D6EDA52F381B6A6 76CDB2BAD9582D23C1F6F4D868218D6C 97AD27B6E99511FA3035D8FCD63FBF93 B30DE6D2DF3FB5F21F6CFE67C06649FF 1B7F3BAAD02202482D386016963711FD D45F2DEBDC869927CCC86027AF8734A8 23305AA7966D6D4C651C1B5218E88827 9183CA970F004478294FEEE8B6AD94C3 8051CC8269882D2E68322D267F33AFB1 F13E0CB4B3AB262BE1975788266B9E66 413605C495948D66F24C885BD97BF0AE C854DE28C711B7A124E38F8B5086E623 195C40CE772C640584542C9068D143EC 8CB9A979042E6D2D3B58BB6E934E165A 13A077A1A6245B33FE38B76E419CACC8 321C159BC900C02D0F8AC76C20F68628 2356999E137C2922161524624FA5BED6 7D3AFEBCB1AD6E148546835A68284C13 0486FE5AAA7220ED608F1D8CCCFD823E 94A8FE87F523D2A0A041EC6D18500865 0807D5D75AD57B7669C4F415C01961CB AE3091E3E94277958CD5728CB7E70AB7 6456B984D2491EE63C8B3D0EC5A40FE0 85A87E162BF00CDD9660139535D0EB87 E75D2ED039E422F7DDDFAF720568BB14 E4CCBA8C6A2FB9E2D227084464E72C19 43CF5D12D3E6BA770C0FF464A6218F21
# Sun Oct 30 19:04:50 EDT 2016
# Thu Dec 1 00:00:00 EST 2016 E879889B594515416DDCAB7E4CF8F2D6 9FC93CE7B512F9DE2010269A10F67B08 9623B65A302800FDBC3FF2095A6C24A9 0120128BD28D22E2DB242D83E255C935 2FB26766660C4358617E3140BBDD4A7F
# Wed Mar 1 00:00:00 EST 2017 B7F5AA2FC804D38382ADC6EBD22A1ED0 8482C46C7A4D1CD71923D9420675FCDA F275F88634E84E1E7AFF76301B32A285 B8A977C4322EAD50D7099F079FCDBBE8
# Sat Jul 1 13:32:42 EDT 2017
# Fri Sep 1 00:00:00 CST 2017 E49671A45AE3BFD01ADCC5381B248E28 BDA20D676BFA5B35F3D308C86CA7169A 89F9AACAF1F4CB506E3D9904BDFFB915 EEDBDBFFE142D3B789A4F5302EB83EFC ED6FB1E5466863F58703094214735730
# Sat Nov 25 14:47:32 EST 2017 855E12DE1DDC86A648AB7FE7C2EA8D4C 5E4EA23D91193696252E0CBC62FD4C69 79B9E6DA198A56EA80C4B7F81364DBC4 5EC3CD58A9937F48474164053B7CC9FB
# Wed Sep 2 16:50:00 CST 2015
# Tue Dec 1 00:00:02 PST 2015
# Wed Jan 20 01:04:55 PST 2016
# Wed Jan 20 01:05:52 PST 2016
# Tue Mar 1 00:00:00 PST 2016
# Sat Apr 30 13:10:44 PDT 2016
# Wed Jun 1 00:00:00 PDT 2016

zmwangx commented Apr 30, 2016

URLs are scraped with an automated script stuck in a cronjob that's run every three months (except when I manually interfere). The script occasionally breaks when Microsoft updates the website and/or file naming scheme, so results are often incomplete.

molant commented May 24, 2016

No need to scrap @zmwangx, you can just go to to get the JSON we are using internally.


zmwangx commented May 27, 2016

Cool, didn't notice that. Thanks.

the json is not listing xp machines (I guess they were deprecated) but download links still work

Hi there! @molant

Windows 10 md5 links from above provided url ( seem to be broken

Thanks! XP virtual machines were removed from the list.


zmwangx commented Oct 30, 2016

Re XP: You can find old XP image (macOS only) download links in windows-vms.old. (Actually, just search for "XP" on this page.) structure changed and I updated the script accordingly. Looks like new images don't have MD5 checksums available, though.

This just saved my life. does not have old versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment