• v1.3.0 72ad55eda8

    starkSV released this 2026-06-18 13:09:58 +05:30 | 107 commits to main since this release

    What's new

    Microsoft's Azure Sentinel WAF began blocking the backend's data-center IP on the download-link endpoint. This release adds graceful degradation so the site remains usable while the architectural fix (CLI tool) ramps up.

    • Backend now emits X-MSDL-Link-Status: fresh | cached | stale and X-MSDL-Link-Expires on every proxy response
    • Frontend reads these headers and surfaces an amber warning when a cached/expired link is served

    Official fallback guide

    • When links are stale, a collapsible fallback panel appears below the download card
    • Edition-aware links to the official Microsoft download pages (Windows 11 / 10 / 8.1)
    • Step-by-step download guide for each edition

    Product catalog

    • Removed Windows 8.1 Single Language (product 48) — dropped by Microsoft server-side

    Also shipped alongside this release

    • msdl CLI v0.1.0 — standalone Go tool that calls Microsoft directly from your machine, bypassing the WAF entirely. See the cli/v0.1.0 release for install instructions.
    Downloads
  • cli/v0.1.0 ad7ebb312f

    github-actions[bot] released this 2026-06-18 12:43:10 +05:30 | 103 commits to main since this release

    Install

    Windows (winget):

    winget install starkSV.msdl
    

    Linux/macOS:

    # Linux x86_64
    curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/cli/v0.1.0/msdl-linux-amd64 -o msdl
    chmod +x msdl && sudo mv msdl /usr/local/bin/
    
    # macOS Apple Silicon
    curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/cli/v0.1.0/msdl-darwin-arm64 -o msdl
    chmod +x msdl && sudo mv msdl /usr/local/bin/
    
    # macOS Intel
    curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/cli/v0.1.0/msdl-darwin-amd64 -o msdl
    chmod +x msdl && sudo mv msdl /usr/local/bin/
    

    Windows (manual): Download msdl-windows-amd64.exe, rename to msdl.exe, place in a directory on your PATH.

    Usage

    msdl                                              # fully interactive
    msdl "windows 11 25h2"                            # filter products, pick language
    msdl --id 3262 --lang "English (United States)"  # direct, no prompts
    msdl --eval server-2025                          # evaluation ISOs
    msdl --list                                       # list all products
    
    Downloads
  • v1.2.0 56549b7201

    starkSV released this 2026-05-22 22:09:23 +05:30 | 116 commits to main since this release

    What's new

    • Expiry countdown — shows time remaining on download links; Refresh button appears when under 6 hours left
    • Refresh links — force-fetches fresh signed URLs from Microsoft, bypassing cache
    • CLI command tabs — wget / curl / aria2 tabs replace the old aria2-only tip; selection persists across sessions
    • Recently viewed — homepage row showing your last 4 visited products with expiry status
    • chore — .claude/ added to .gitignore
    Downloads
  • v1.0.0 ddf96a873d

    starkSV released this 2026-05-22 22:06:42 +05:30 | 131 commits to main since this release

    What's new

    • Windows Server 2016–2025 + Windows 11 Enterprise evaluation ISOs via Microsoft's Eval Center — no registration required
    • Cloudflare Worker outbound proxy — Microsoft API calls route through Cloudflare's edge IPs, preventing rate-limit blocks (error 715-123130) under high traffic
    • 38 languages per consumer release, ARM64 + x64 + x86 support
    • SEO improvements across all pages — meta descriptions, JSON-LD, sitemap
    Downloads
  • v1.1.0 ca4a89589b

    starkSV released this 2026-05-22 22:06:42 +05:30 | 124 commits to main since this release

    What's new

    Two-layer in-memory caching

    Reduced Microsoft API calls from thousands/day to ~50–100/day.

    • SKU cache (7-day TTL) — language lists cached per product
    • Link cache (dynamic TTL from signed URL expiry) — download links cached per product + language
    • Eval cache (24h TTL) — eval ISOs warmed at startup
    • Negative cache (60s) — prevents thundering-herd retries during rate-limit blocks
    • Singleflight — collapses concurrent cache misses into a single Microsoft fetch
    • Stale-on-failure — serves expired cache entry if refresh fails

    /metrics endpoint

    • GET /metrics?secret=<secret> — real-time cache hit rates, miss counts, Microsoft fetch totals
    • Auth via METRICS_SECRET env var
    Downloads