docs: note AUR publishing is blocked; add Homebrew install everywhere

Arch Linux disabled new AUR account registrations on 2026-06-15 after
a malware campaign compromised 1,500+ AUR packages. There's no
announced reopening date, so aur/msdl-bin/README.md now says so
clearly instead of implying publishing is just a pending step.

Adds the Homebrew tap install command (brew tap starkSV/msdl && brew
install msdl) to every place winget is already documented: README.md,
the release workflow's notes, the web CLI page, and the per-product
CliHandoff card. Also adds the missing linux-arm64 row to the manual
download tables.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Shekhar Vaidya 2026-07-13 13:39:30 +05:30
parent c14c18e955
commit eddf7802bb
5 changed files with 60 additions and 5 deletions

View file

@ -67,7 +67,13 @@ jobs:
**Windows (direct download):** Download `msdl-windows-amd64.exe` below, rename to `msdl.exe`, place in a folder on your PATH. **Windows (direct download):** Download `msdl-windows-amd64.exe` below, rename to `msdl.exe`, place in a folder on your PATH.
**Linux/macOS:** **macOS/Linux (Homebrew):**
```bash
brew tap starkSV/msdl
brew install msdl
```
**Linux/macOS (direct download):**
```bash ```bash
# Linux x86_64 # Linux x86_64
curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/${{ github.ref_name }}/msdl-linux-amd64 -o msdl curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/${{ github.ref_name }}/msdl-linux-amd64 -o msdl

View file

@ -58,16 +58,28 @@ msdl --list
### Install ### Install
Download the latest binary from [GitHub Releases](https://github.com/starkSV/windows-iso-downloader/releases/latest) and rename it: **Windows (winget):**
```
winget install starkSV.msdl
```
**macOS / Linux (Homebrew):**
```bash
brew tap starkSV/msdl
brew install msdl
```
**Direct download:** Grab the latest binary from [GitHub Releases](https://github.com/starkSV/windows-iso-downloader/releases/latest) and rename it:
| Platform | File | Rename to | | Platform | File | Rename to |
|---|---|---| |---|---|---|
| Windows | `msdl-windows-amd64.exe` | `msdl.exe` | | Windows | `msdl-windows-amd64.exe` | `msdl.exe` |
| macOS (Apple Silicon) | `msdl-darwin-arm64` | `msdl` | | macOS (Apple Silicon) | `msdl-darwin-arm64` | `msdl` |
| macOS (Intel) | `msdl-darwin-amd64` | `msdl` | | macOS (Intel) | `msdl-darwin-amd64` | `msdl` |
| Linux | `msdl-linux-amd64` | `msdl` | | Linux (x86_64) | `msdl-linux-amd64` | `msdl` |
| Linux (ARM64, incl. Termux on Android) | `msdl-linux-arm64` | `msdl` |
winget support is in progress: `winget install starkSV.msdl` (pending package review). An AUR package (`msdl-bin`) is prepared but not yet published — Arch Linux disabled new AUR registrations after a [malware incident](https://itsfoss.com/news/arch-linux-aur-malware-flood/); see [`aur/msdl-bin`](./aur/msdl-bin) for status.
### Crowdsourced cache ### Crowdsourced cache

View file

@ -1,5 +1,13 @@
# msdl-bin (AUR) # msdl-bin (AUR)
> **⚠️ Publishing blocked as of 2026-07-13:** Arch Linux disabled new AUR account
> registrations on 2026-06-15 after a malware campaign compromised 1,500+ AUR
> packages across several waves. There's no announced reopening date. This
> package is ready to publish (`PKGBUILD` + `.SRCINFO` below) the moment
> registration reopens — check the [aur-general mailing list](https://lists.archlinux.org/mailman3/lists/aur-general.lists.archlinux.org/)
> or [aur.archlinux.org](https://aur.archlinux.org/register/) periodically.
> Until then, macOS/Linux users should use the [Homebrew tap](https://github.com/starkSV/homebrew-msdl) instead.
`PKGBUILD` and `.SRCINFO` for the [msdl-bin](https://aur.archlinux.org/packages/msdl-bin) AUR package, tracked here so version bumps have the same history/review as the winget manifests. `PKGBUILD` and `.SRCINFO` for the [msdl-bin](https://aur.archlinux.org/packages/msdl-bin) AUR package, tracked here so version bumps have the same history/review as the winget manifests.
`.SRCINFO` is generated with the real `makepkg` tool (via an ephemeral `archlinux` Docker container — no VM or native Arch install needed) whenever `PKGBUILD` changes: `.SRCINFO` is generated with the real `makepkg` tool (via an ephemeral `archlinux` Docker container — no VM or native Arch install needed) whenever `PKGBUILD` changes:

View file

@ -15,6 +15,7 @@ const RELEASES_URL = 'https://minxl.ink/msdl-github-release'
function InstallSteps() { function InstallSteps() {
const [copied, setCopied] = useState(false) const [copied, setCopied] = useState(false)
const [brewCopied, setBrewCopied] = useState(false)
function handleCopy() { function handleCopy() {
navigator.clipboard.writeText('winget install starkSV.msdl') navigator.clipboard.writeText('winget install starkSV.msdl')
@ -22,6 +23,12 @@ function InstallSteps() {
setTimeout(() => setCopied(false), 2000) setTimeout(() => setCopied(false), 2000)
} }
function handleBrewCopy() {
navigator.clipboard.writeText('brew tap starkSV/msdl && brew install msdl')
setBrewCopied(true)
setTimeout(() => setBrewCopied(false), 2000)
}
return ( return (
<div className="space-y-2"> <div className="space-y-2">
<p className="text-[10px] font-mono font-semibold uppercase tracking-widest text-zinc-600">1. Install</p> <p className="text-[10px] font-mono font-semibold uppercase tracking-widest text-zinc-600">1. Install</p>
@ -37,6 +44,18 @@ function InstallSteps() {
</button> </button>
</div> </div>
</div> </div>
<div className="rounded-lg border border-emerald-500/20 bg-emerald-500/5 p-3 space-y-2">
<div className="flex items-center justify-between">
<span className="text-[10px] font-mono font-semibold tracking-widest uppercase text-emerald-500">macOS / Linux · Homebrew</span>
<span className="text-[10px] px-1.5 py-0.5 rounded border border-emerald-500/20 text-emerald-600 font-mono">recommended</span>
</div>
<div className="flex items-center justify-between gap-2 rounded bg-black/30 px-3 py-2">
<code className="text-[12px] font-mono text-zinc-300">brew tap starkSV/msdl && brew install msdl</code>
<button onClick={handleBrewCopy} className="flex-shrink-0 text-zinc-500 hover:text-white transition-colors">
{brewCopied ? <Check size={12} className="text-green-400" /> : <Copy size={12} />}
</button>
</div>
</div>
<a <a
href={RELEASES_URL} href={RELEASES_URL}
target="_blank" target="_blank"

View file

@ -107,6 +107,15 @@ export default function CliPage() {
<CodeBlock code="winget install starkSV.msdl" /> <CodeBlock code="winget install starkSV.msdl" />
</div> </div>
{/* Homebrew — macOS/Linux primary */}
<div className="rounded-xl border border-emerald-500/20 bg-emerald-500/5 p-4 space-y-2.5">
<div className="flex items-center justify-between">
<span className="text-[11px] font-mono font-semibold tracking-widest uppercase text-emerald-500">macOS / Linux · Homebrew</span>
<span className="text-[10px] px-1.5 py-0.5 rounded border border-emerald-500/20 text-emerald-600 font-mono">recommended</span>
</div>
<CodeBlock code="brew tap starkSV/msdl && brew install msdl" />
</div>
{/* Manual / other platforms */} {/* Manual / other platforms */}
<div className="rounded-xl border border-white/7 bg-[#111113] p-4 space-y-3"> <div className="rounded-xl border border-white/7 bg-[#111113] p-4 space-y-3">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
@ -128,7 +137,8 @@ export default function CliPage() {
{ os: 'Windows (manual)', file: 'msdl-windows-amd64.exe', rename: 'msdl.exe' }, { os: 'Windows (manual)', file: 'msdl-windows-amd64.exe', rename: 'msdl.exe' },
{ os: 'macOS (Apple Silicon)', file: 'msdl-darwin-arm64', rename: 'msdl' }, { os: 'macOS (Apple Silicon)', file: 'msdl-darwin-arm64', rename: 'msdl' },
{ os: 'macOS (Intel)', file: 'msdl-darwin-amd64', rename: 'msdl' }, { os: 'macOS (Intel)', file: 'msdl-darwin-amd64', rename: 'msdl' },
{ os: 'Linux', file: 'msdl-linux-amd64', rename: 'msdl' }, { os: 'Linux (x86_64)', file: 'msdl-linux-amd64', rename: 'msdl' },
{ os: 'Linux (ARM64 / Termux)', file: 'msdl-linux-arm64', rename: 'msdl' },
].map(p => ( ].map(p => (
<div key={p.os} className="px-3 py-2.5 rounded-lg bg-white/3 border border-white/5 space-y-1"> <div key={p.os} className="px-3 py-2.5 rounded-lg bg-white/3 border border-white/5 space-y-1">
<p className="text-zinc-500">{p.os}</p> <p className="text-zinc-500">{p.os}</p>