67133f13b5
Implements the remaining Phase B (Access & networking) items from ROADMAP.md: cookie sources (browser cookie-store import, or a built-in sign-in window that exports a Netscape cookie file via a persisted Electron session partition), the aria2c external downloader, proxy/rate-limit, restrict-filenames, and a download-archive to skip repeats. Wires download.ts to the buildArgs() module added in the previous commit (it wasn't hooked up yet) and renames its options param NetworkOptions -> AccessOptions to reflect the wider scope now that cookies and filename/archive flags joined proxy/rate-limit/aria2c. Co-Authored-By: Claude Sonnet 4.6 <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 required Windows executables here before running npm run dev or
building; aria2c.exe is optional:
resources/bin/
├── yt-dlp.exe
├── ffmpeg.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
- 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.
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, copyaria2c.exefrom 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.