# Bundled binaries AeroFetch spawns these from the **main process** and bundles them via electron-builder `extraResources` (they ship outside the asar archive). The `.exe` binaries are committed to the repo so a fresh clone builds and runs without a manual download step. Drop the three required Windows executables here before running `npm run dev` or building; `aria2c.exe` is optional: ``` resources/bin/ ├── yt-dlp.exe ├── ffmpeg.exe ├── ffprobe.exe └── aria2c.exe (optional) ``` ## yt-dlp.exe - Download: https://github.com/yt-dlp/yt-dlp/releases/latest - Grab `yt-dlp.exe`. - Unlicense / public domain. ## ffmpeg.exe + ffprobe.exe - Use an **LGPL** build to keep licensing simple, e.g. https://github.com/BtbN/FFmpeg-Builds/releases (pick a `*-lgpl-shared` or `*-lgpl` win64 build) or https://www.gyan.dev/ffmpeg/builds/. - Copy **both** `ffmpeg.exe` and `ffprobe.exe` here — they ship together in the same archive's `bin/` folder, and their versions must match. yt-dlp needs `ffprobe.exe` to read media durations; without it, duration-dependent post-processing fails with "ffprobe not found" (`--sponsorblock-remove`, `--force-keyframes-at-cuts`, and `--split-chapters` all error out). - Ship the LGPL license text alongside the installer before release. ## aria2c.exe (optional) - Powers the "Use aria2c downloader" toggle in Settings → Network for faster multi-connection downloads. If it's missing, that toggle silently falls back to yt-dlp's built-in downloader — nothing breaks. - Download: https://github.com/aria2/aria2/releases (grab the `aria2-*-win-64bit-build1.zip`, copy `aria2c.exe` from it here). - GPL-2.0 — ship its license text alongside the installer before release if bundled. > Branding stays generic: AeroFetch is a "yt-dlp frontend." Keep upstream > license texts with any distributed build.