diff --git a/Session-File.md b/Session-File.md new file mode 100644 index 0000000..e7b67b8 --- /dev/null +++ b/Session-File.md @@ -0,0 +1,57 @@ +# Session File + +## Ожидаемый формат + +Проект ожидает Netscape cookie file. + +Каждая cookie-строка должна содержать 7 tab-separated columns. + +Типичный источник: + +- экспорт cookies из авторизованной YouTube-сессии в браузере + +## Что проверяет проект + +До начала скачивания библиотека проверяет: + +- что файл существует +- что формат соответствует Netscape cookie format +- что файл содержит cookies для YouTube или Google +- что в файле достаточно актуальных auth-cookie + +Ключевые cookie-имена: + +- `SID` +- `HSID` +- `SSID` +- `APISID` +- `SAPISID` +- `__Secure-1PSID` +- `__Secure-3PSID` +- `LOGIN_INFO` + +## Результат валидации + +`validate_session_file` возвращает `SessionValidation`, где есть: + +- существует ли файл +- валидна ли структура +- выглядят ли auth-cookie актуальными +- можно ли использовать файл для скачивания +- текстовое сообщение с причиной или результатом проверки + +## Типовые причины отказа + +- неверный путь к файлу +- сломанный Netscape format +- нет cookies для YouTube или Google +- cookies просрочены или неполные + +В этих случаях библиотека выбрасывает `InvalidSessionError` ещё до запуска yt-dlp. + +## Практические рекомендации + +- переэкспортируйте cookies после переавторизации +- храните cookie-файл приватно +- не коммитьте cookies в git +- при auth-проблемах в YouTube сначала обновляйте экспорт cookies