media-rip/backend/app
xpltd f3d1f29ca1 Fix YouTube 403: cookie injection, configurable extractor_args, better errors
- Wire up get_cookie_path_for_session() in download opts — session
  cookies.txt is now passed to yt-dlp as cookiefile when present
- Add YtdlpConfig with extractor_args field, configurable via
  config.yaml or MEDIARIP__YTDLP__EXTRACTOR_ARGS env var
  (e.g. {"youtube": {"player_client": ["web_safari"]}})
- Inject extractor_args into all three yt-dlp call sites:
  _enqueue_single, _extract_info, _extract_url_info
- Enhance 403 error messages with actionable guidance directing
  users to upload cookies.txt
2026-03-21 22:13:25 -05:00
..
core Fix YouTube 403: cookie injection, configurable extractor_args, better errors 2026-03-21 22:13:25 -05:00
middleware Fix ruff lint errors: unused imports, E402 import ordering 2026-03-19 07:27:38 -05:00
models Fix playlist support, session persistence, audio detection, progress errors 2026-03-19 02:53:45 -05:00
routers Fix SSE keepalive: yield explicit ping event, enforce test timeout 2026-03-21 20:57:50 -05:00
services Fix YouTube 403: cookie injection, configurable extractor_args, better errors 2026-03-21 22:13:25 -05:00
__init__.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
dependencies.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
main.py First-run admin setup wizard, password persistence, forced setup gate 2026-03-21 20:01:13 -05:00