Merge pull request #32 from starkSV/feat/aur-package
feat: add AUR msdl-bin package; document Homebrew tap everywhere
This commit is contained in:
commit
151f70d67f
9 changed files with 125 additions and 6 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
aur/msdl-bin/PKGBUILD text eol=lf
|
||||
aur/msdl-bin/.SRCINFO text eol=lf
|
||||
8
.github/workflows/cli-release.yml
vendored
8
.github/workflows/cli-release.yml
vendored
|
|
@ -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.
|
||||
|
||||
**Linux/macOS:**
|
||||
**macOS/Linux (Homebrew):**
|
||||
```bash
|
||||
brew tap starkSV/msdl
|
||||
brew install msdl
|
||||
```
|
||||
|
||||
**Linux/macOS (direct download):**
|
||||
```bash
|
||||
# Linux x86_64
|
||||
curl -L https://github.com/starkSV/windows-iso-downloader/releases/download/${{ github.ref_name }}/msdl-linux-amd64 -o msdl
|
||||
|
|
|
|||
|
|
@ -46,7 +46,9 @@ go test ./...
|
|||
|
||||
## CLI releases
|
||||
|
||||
CLI releases are cut by the maintainer via git tag (`cli/vX.Y.Z`), which triggers the GitHub Actions build for all platforms and the winget package update. Contributors don't need to worry about tagging, versioning, or winget — just get the fix or feature merged to `main`.
|
||||
CLI releases are cut by the maintainer via git tag (`cli/vX.Y.Z`), which triggers the GitHub Actions build for all platforms. Contributors don't need to worry about tagging or versioning — just get the fix or feature merged to `main`.
|
||||
|
||||
Package manager updates (winget, the [Homebrew tap](https://github.com/starkSV/homebrew-msdl), and the [`msdl-bin` AUR package](./aur/msdl-bin)) are submitted manually by the maintainer after each release, not automated in CI.
|
||||
|
||||
## Code style
|
||||
|
||||
|
|
|
|||
18
README.md
18
README.md
|
|
@ -58,16 +58,28 @@ msdl --list
|
|||
|
||||
### 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 |
|
||||
|---|---|---|
|
||||
| Windows | `msdl-windows-amd64.exe` | `msdl.exe` |
|
||||
| macOS (Apple Silicon) | `msdl-darwin-arm64` | `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
|
||||
|
||||
|
|
|
|||
16
aur/msdl-bin/.SRCINFO
Normal file
16
aur/msdl-bin/.SRCINFO
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
pkgbase = msdl-bin
|
||||
pkgdesc = Download Windows ISO files directly from Microsoft's servers
|
||||
pkgver = 0.3.5
|
||||
pkgrel = 1
|
||||
url = https://msdl.tech-latest.com
|
||||
arch = x86_64
|
||||
arch = aarch64
|
||||
license = MIT
|
||||
provides = msdl
|
||||
conflicts = msdl
|
||||
source_x86_64 = msdl-bin-0.3.5-x86_64::https://github.com/starkSV/windows-iso-downloader/releases/download/cli%2Fv0.3.5/msdl-linux-amd64
|
||||
sha256sums_x86_64 = dfb0648acd6caa79d597839bb9803c979446a2d77f90447273ee5003d8857c9d
|
||||
source_aarch64 = msdl-bin-0.3.5-aarch64::https://github.com/starkSV/windows-iso-downloader/releases/download/cli%2Fv0.3.5/msdl-linux-arm64
|
||||
sha256sums_aarch64 = 933beb694b3e59fc84cdccfb5cb3dfe48db3274046df88390cf8ee32070f4088
|
||||
|
||||
pkgname = msdl-bin
|
||||
20
aur/msdl-bin/PKGBUILD
Normal file
20
aur/msdl-bin/PKGBUILD
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Maintainer: starkSV <shekharvaidya2@gmail.com>
|
||||
pkgname=msdl-bin
|
||||
pkgver=0.3.5
|
||||
pkgrel=1
|
||||
pkgdesc="Download Windows ISO files directly from Microsoft's servers"
|
||||
arch=('x86_64' 'aarch64')
|
||||
url="https://msdl.tech-latest.com"
|
||||
license=('MIT')
|
||||
provides=('msdl')
|
||||
conflicts=('msdl')
|
||||
|
||||
source_x86_64=("$pkgname-$pkgver-x86_64::https://github.com/starkSV/windows-iso-downloader/releases/download/cli%2Fv${pkgver}/msdl-linux-amd64")
|
||||
sha256sums_x86_64=('dfb0648acd6caa79d597839bb9803c979446a2d77f90447273ee5003d8857c9d')
|
||||
|
||||
source_aarch64=("$pkgname-$pkgver-aarch64::https://github.com/starkSV/windows-iso-downloader/releases/download/cli%2Fv${pkgver}/msdl-linux-arm64")
|
||||
sha256sums_aarch64=('933beb694b3e59fc84cdccfb5cb3dfe48db3274046df88390cf8ee32070f4088')
|
||||
|
||||
package() {
|
||||
install -Dm755 "$srcdir/$pkgname-$pkgver-$CARCH" "$pkgdir/usr/bin/msdl"
|
||||
}
|
||||
32
aur/msdl-bin/README.md
Normal file
32
aur/msdl-bin/README.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# 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.
|
||||
|
||||
`.SRCINFO` is generated with the real `makepkg` tool (via an ephemeral `archlinux` Docker container — no VM or native Arch install needed) whenever `PKGBUILD` changes:
|
||||
|
||||
```bash
|
||||
docker run --rm -v "$(pwd)":/pkg -w /pkg archlinux:latest bash -c "
|
||||
useradd -m builder && chown -R builder:builder /pkg &&
|
||||
pacman -Sy --noconfirm --needed base-devel &&
|
||||
su builder -c 'makepkg --printsrcinfo' > .SRCINFO
|
||||
"
|
||||
```
|
||||
|
||||
Publishing (requires an AUR account with an SSH key registered at aur.archlinux.org — this step can't be automated on someone else's behalf):
|
||||
|
||||
```bash
|
||||
git clone ssh://aur@aur.archlinux.org/msdl-bin.git
|
||||
cp PKGBUILD .SRCINFO msdl-bin/
|
||||
cd msdl-bin
|
||||
git add PKGBUILD .SRCINFO
|
||||
git commit -m "Update to <version>"
|
||||
git push
|
||||
```
|
||||
|
|
@ -15,6 +15,7 @@ const RELEASES_URL = 'https://minxl.ink/msdl-github-release'
|
|||
|
||||
function InstallSteps() {
|
||||
const [copied, setCopied] = useState(false)
|
||||
const [brewCopied, setBrewCopied] = useState(false)
|
||||
|
||||
function handleCopy() {
|
||||
navigator.clipboard.writeText('winget install starkSV.msdl')
|
||||
|
|
@ -22,6 +23,12 @@ function InstallSteps() {
|
|||
setTimeout(() => setCopied(false), 2000)
|
||||
}
|
||||
|
||||
function handleBrewCopy() {
|
||||
navigator.clipboard.writeText('brew tap starkSV/msdl && brew install msdl')
|
||||
setBrewCopied(true)
|
||||
setTimeout(() => setBrewCopied(false), 2000)
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-2">
|
||||
<p className="text-[10px] font-mono font-semibold uppercase tracking-widest text-zinc-600">1. Install</p>
|
||||
|
|
@ -37,6 +44,18 @@ function InstallSteps() {
|
|||
</button>
|
||||
</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
|
||||
href={RELEASES_URL}
|
||||
target="_blank"
|
||||
|
|
|
|||
|
|
@ -107,6 +107,15 @@ export default function CliPage() {
|
|||
<CodeBlock code="winget install starkSV.msdl" />
|
||||
</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 */}
|
||||
<div className="rounded-xl border border-white/7 bg-[#111113] p-4 space-y-3">
|
||||
<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: 'macOS (Apple Silicon)', file: 'msdl-darwin-arm64', 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 => (
|
||||
<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>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue