Rolling auto-caption cues repeat the previous line as plain text and
carry the new text in lines with inline word-timing tags. Keep only the
tagged lines in such cues (JS module and Python CLI); skip writing
Markdown files whose content is identical to one already written.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>