Импорт и экспорт cookies
Как перенести cookies из файла в профиль и выгрузить их обратно: какие файлы подходят, что Lumen проверяет до импорта и когда cookies попадают в профиль.
На этой странице
Какие файлы подходят
Lumen читает экспорт cookies в JSON и в формате Netscape cookies.txt.
| Формат | Откуда |
|---|---|
| JSON | расширения EditThisCookie и Cookie-Editor |
| JSON | Puppeteer и протокол DevTools, Playwright (и его storageState), Selenium |
| JSON | строки баз cookies Chrome и Firefox, выгруженные в JSON; JSON Lines |
Netscape cookies.txt | curl, wget, yt-dlp, расширения для cookies |
Формат определяется по содержимому, а не по имени файла. Текст, который начинается с [ или {, - это JSON; иначе Lumen ищет строки cookies.txt, а затем JSON внутри текста. UTF-8 и UTF-16 читаются с меткой BOM и без неё, UTF-32 - с меткой.
Файл - не больше 32 МБ. Саму базу cookies браузера (файл SQLite), бинарные cookies Safari, архив, PDF или веб-страницу Lumen не читает: отчёт скажет, что это за файл.
Как импортировать
- В окне профилей откройте меню профиля ⋯ (или щёлкните строку правой кнопкой) и выберите Импорт cookies…
- Нажмите Выбрать файл… Lumen прочитает и проверит файл, ничего не меняя в профиле.
- Посмотрите отчёт и нажмите Импортировать cookies: N, где N - сколько cookies можно перенести. Если переносить нечего, кнопки нет.
То же есть в редакторе профиля: на вкладке Данные вставьте экспорт в поле Cookies или перетащите туда файл. Cookies импортируются при сохранении профиля.
Повреждённый файл не мешает импорту. Всё, что удалось прочитать, импортируется: испорченная строка или запись стоит только себе, а байты, которые не являются текстом, - только тому cookie, в котором стоят.
Что покажет проверка
Отчёт сообщает «Можно импортировать N из M записей» и как прочитан файл («Формат: JSON, прочитан как UTF-8»). Под заголовком «Не импортировано: N» - каждая пропущенная запись: где она («Строка N» или «Запись N (строка M)»), имя cookie и причина. Cookie проверяется так, как его проверил бы браузер.
| Причина в отчёте | Что это значит |
|---|---|
| Истёк … | нужен свежий экспорт |
| Зашифрованное значение из базы Chrome… | прочитать его может только Chrome: экспортируйте cookies расширением |
| Разделённый (CHIPS) cookie… | WebKit не может поместить его в его раздел |
| Нет домена; Недопустимый домен «…» | сюда же - домен кириллицей (пример.рф): Lumen не переводит его в вид xn--… |
| Для всего «…» - публичного суффикса… | cookie на весь .com или .co.uk браузеры не принимают |
| Cookie «__Host-» должен быть Secure, только для хоста, с путём / | правила префикса; cookie «__Secure-» должен быть Secure |
| Имя и значение вместе длиннее 4096 байт | слишком большой cookie |
| Повреждённые байты (не текст) в этом cookie | так же выглядит значение в кодировке Windows-1251 |
| Полей: N вместо 7 (через табуляцию) | строка cookies.txt разбита; восемь полей - табуляция в значении |
| Обрезано…; Некорректный JSON | запись JSON оборвана или испорчена |
Если тот же cookie (имя, домен, путь) встречается дважды, импортируется последний, а ранний остаётся в списке серым - «Заменён тем же cookie дальше в файле». Это не ошибка.
Запущенный и остановленный профиль
- Запущенный профиль получает cookies сразу. Lumen перечитывает его хранилище cookies и перечисляет по имени и домену те, что WebKit не сохранил. Импорт заменяет такой же cookie профиля, даже HttpOnly.
- Остановленный профиль получит их при следующем запуске, до загрузки первой страницы. До тех пор cookies ждут в хранилище, зашифрованные ключом профиля; следующий импорт добавляется к ним.
- Профиль, который запускается или шифруется, ответит: «Профиль запускается или шифруется; повторите через несколько секунд.»
Сеансовые cookies - без срока действия - живут до остановки профиля, как до выхода из Safari: остановка их удаляет. У временного профиля до остановки живут все импортированные cookies.
Экспорт cookies
- В меню профиля ⋯ выберите Экспорт cookies…
- В поле Формат выберите cookies.txt (Netscape: curl, yt-dlp, расширения) (выбран по умолчанию), JSON (EditThisCookie, Cookie-Editor) или JSON (Playwright, Puppeteer) - массив cookies из
storageStatePlaywright. - Нажмите Экспортировать… и выберите, куда сохранить файл.
В файл попадают все cookies профиля, включая сеансовые, кроме разделённых (CHIPS). В cookies.txt нет SameSite и не попадает cookie с табуляцией или переводом строки в поле; сколько cookies в файле, скажет строка «Сохранено cookies: N». Файл можно импортировать в другой профиль Lumen.
Остановленный профиль для экспорта запускается без окна, затем останавливается и снова шифруется. Сеансовых cookies у него уже нет: их удалила прошлая остановка.
Окно экспорта предупреждает: «Файл не зашифрован. Тот, у кого он окажется, войдёт как этот профиль везде, где cookies - это вход.»
Где хранятся cookies
- Пока профиль остановлен, его данные сайтов вместе с хранилищем cookies лежат в зашифрованном архиве под ключом, который открывает мастер-пароль, - см. Хранилище и мастер-пароль.
- Пока профиль работает, WebKit держит cookies в своих файлах на диске незашифрованными. При остановке Lumen просит WebKit дописать последние cookies, затем шифрует данные и удаляет открытые файлы.
- Cookies, импортированные в остановленный профиль, ждут в отдельном зашифрованном файле; запуск переносит их в профиль и удаляет файл.
- Файл экспорта не шифруется.
Нашли ошибку или чего-то не хватает? Напишите нам.