This repo is both a CLI tool and Nodejs API to download Windows ISO images from the official source. The motivation behind making this tool comes from os-install-maker.
This library was heavily influenced by Mido, a Microsoft image download client written in bash.
# Install globally
npm i -g @kyleupton/win-iso
# List available download options
win-iso list
# Download a specified version
win-iso download win10x64
import { getDownloadOptions, download } from '@kyleupton/win-iso'
const options = getDownloadOptions() // [ { key: 'win10x64', displayName: 'Windows 10 (64-bit)' }... ]
await download({ key: 'win10x64', directory: '~/Downloads' })
Please be aware that Microsoft has implemented measures to discourage the automated downloading of Windows ISO images. This tool, as a result, is subject to these restrictions. Excessive use may result in a temporary IP ban lasting 24 hours.
It's worth noting that most conventional VPN services may not provide a workaround to this restriction, as their IP ranges could potentially be pre-emptively banned. A less common VPN service or a self-hosted solution may be more successful in circumventing these limitations.
For the facilitation of development, a debug mode has been created. When activated, this mode ensures that the tool does not establish communication with Microsoft's servers. Instead, it operates using sample HTML files.
- CLI Interface
- Logging
- Dev mode
- More version support
- Full API + CLI documentation
- Download progress
- Checksum verification