@kyleupton/win-iso
v0.0.1-alpha.0
Published
API and CLI tool to download Windows ISO files
Downloads
1
Maintainers
Readme
win-iso
Overview
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.
Inspiration
This library was heavily influenced by Mido, a Microsoft image download client written in bash.
CLI Example
# Install globally
npm i -g @kyleupton/win-iso
# List available download options
win-iso list
# Download a specified version
win-iso download win10x64
API Example
import { getDownloadOptions, download } from '@kyleupton/win-iso'
const options = getDownloadOptions() // [ { key: 'win10x64', displayName: 'Windows 10 (64-bit)' }... ]
await download({ key: 'win10x64', directory: '~/Downloads' })
Constraints
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.
Todo
- [x] CLI Interface
- [x] Logging
- [x] Dev mode
- [ ] More version support
- [ ] Full API + CLI documentation
- [ ] Download progress