Add curl-cffi dependency and update README for browser impersonation support. Enhanced configuration options for yt-dlp to include impersonation settings, improving compatibility with anti-bot measures. Updated logging in main.py to reflect new impersonation settings.

This commit is contained in:
Leonid Pershin
2026-06-21 10:58:14 +03:00
parent eae4def0bf
commit ea906bbf0e
6 changed files with 155 additions and 2 deletions
+8 -2
View File
@@ -15,7 +15,7 @@
## Стек
- Бэкенд: Python 3.12, FastAPI, Uvicorn, httpx, yt-dlp, aiosqlite, sse-starlette
- Бэкенд: Python 3.12, FastAPI, Uvicorn, httpx, yt-dlp (+ curl_cffi для импперсонации), aiosqlite, sse-starlette
- Фронтенд: SvelteKit (SPA), TypeScript, Tailwind CSS v4, lucide-svelte
- Менеджер зависимостей: `uv`
@@ -133,9 +133,15 @@ cd frontend && npm run dev
| `PVDL_PORT` | `8000` | Порт сервера |
| `PVDL_COOKIES_FROM_BROWSER` | — | Cookies для yt-dlp из браузера: `chrome`, `firefox`, `edge`… (можно `chrome:Профиль`) |
| `PVDL_COOKIES_FILE` | — | Cookies для yt-dlp из файла (формат Netscape `cookies.txt`) |
| `PVDL_IMPERSONATE` | `chrome` | Импперсонация браузера для yt-dlp (`chrome`, `edge`, `safari`…); пусто — выключить |
> Cookies нужны для сайтов, которые блокируют анонимные запросы (возрастной гейт,
> логин, гео) и отдают ошибки вроде `HTTP 410 Gone`. Достаточно одного из вариантов.
> логин, гео). Достаточно одного из вариантов.
>
> Сайты с анти-ботом по TLS-отпечатку (например PornHub, иначе `HTTP 410 Gone` или
> обрыв соединения при скачивании видео) требуют импперсонации браузера. Она включена
> по умолчанию (`PVDL_IMPERSONATE=chrome`) через `curl_cffi` и применяется ко всем
> запросам yt-dlp. Выключить — `PVDL_IMPERSONATE=` (пусто).
## Тесты