1a2270c95e
Electron + React (Fluent UI) desktop frontend for yt-dlp: - Download queue with live progress, concurrency cap, cancel/retry - Format/quality picker via yt-dlp probe; audio extraction to MP3 - Settings + history persistence (electron-store / JSON) - Clipboard link auto-detect; persisted light/dark theme - NSIS + portable packaging (binaries bundled at build time, not in git) UI: "Studio" sidebar layout with a toffee-brown theme (light + neutral dark). Dropdowns use a native <select> and tooltips a CSS-only Hint, to avoid a dev-machine GPU overlay flicker/blank issue. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bundled binaries
AeroFetch spawns these from the main process and bundles them via
electron-builder extraResources (they ship outside the asar archive). They are
not committed to git (see .gitignore).
Drop the two Windows executables here before running npm run dev or building:
resources/bin/
├── yt-dlp.exe
└── ffmpeg.exe
yt-dlp.exe
- Download: https://github.com/yt-dlp/yt-dlp/releases/latest
- Grab
yt-dlp.exe. - Unlicense / public domain.
ffmpeg.exe
- Use an LGPL build to keep licensing simple, e.g.
https://github.com/BtbN/FFmpeg-Builds/releases (pick a
*-lgpl-sharedor*-lgplwin64 build) or https://www.gyan.dev/ffmpeg/builds/. - Copy
ffmpeg.exehere. Ship the LGPL license text alongside the installer before release.
Branding stays generic: AeroFetch is a "yt-dlp frontend." Keep upstream license texts with any distributed build.