Initial implementation: self-hosted yt-dlp PWA
SvelteKit 5 + adapter-node PWA with: - JWT auth (HS256, OIDC-ready interface) with auto-seeded admin - Web Share Target (POST /share) for fire-and-forget URL sharing - yt-dlp queue with p-limit concurrency (MAX_CONCURRENT=2) - SSE progress streaming from yt-dlp --newline output - Web Push notifications (VAPID) on complete/fail - Per-extractor cookies store (AES-256-GCM encrypted at rest) - 14-day retention cleanup with orphan sweep - Local Playwright cookie generator script (scripts/generate-cookies.ts) - Docker single-container (Alpine + ffmpeg + yt-dlp via pip) - NPM proxy-network deployment (npm_network external) - Drizzle ORM + better-sqlite3 (WAL mode) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Generated
+7344
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user