Add Phase B: cookies, aria2c, proxy/rate-limit, restrict-filenames & archive

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>
This commit is contained in:
2026-06-22 20:53:18 -04:00
parent 26cd7fc7b0
commit 67133f13b5
15 changed files with 683 additions and 196 deletions
+13 -2
View File
@@ -4,12 +4,14 @@ 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:
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
── ffmpeg.exe
└── aria2c.exe (optional)
```
## yt-dlp.exe
@@ -26,5 +28,14 @@ resources/bin/
- Copy `ffmpeg.exe` here. 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.