Unauthenticated visitors see the app with left/right ad columns (loaded
from ads-left.html and ads-right.html). Logged-in users see no ads and
get a logout link in the top bar.
Login is at /login (not linked). Users are managed in users.txt via
scripts/add_user.py (scrypt-hashed passwords). users.txt is gitignored.
New env vars: USERS_FILE, ADS_DIR.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SvelteKit web frontend for yt-dlp and ffmpeg. Paste a YouTube URL to
download best-quality video, subtitles (original + EN + DE), and thumbnail.
Subtitles are converted to clean Markdown. Optional audio extraction to MP3.
Supports ZIP & Send mode: downloaded files are packed into a ZIP and
delivered to the browser, with optional server-side cleanup after delivery.
An extra directory (ZIP_EXTRA_DIR) can be bundled into every ZIP.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>