Куки
Куки из профиля и обратно
- Десять
- Полей читает загрузка
- 3
- Написаний срока принимается
- Один
- Профилей в файле
- О принятом и отвергнутом
- О чём говорит загрузка
Что лежит в файле
Выгрузка пишет один обычный файл JSON: список записей, по одной на куку, с именем профиля в названии.
В каждой записи едут восемь перечисленных ниже вещей, решающих, куда кука вернётся и сколько там проживёт, и всё прочее, что дал движок. Загрузка читает ещё два поля: целый адрес, который берут вместо собранного из домена, и признак сеансовой куки.
Загрузка читает и голый список, и объект со списком куки внутри, а срок берёт под любым из трёх имён, какими его обычно пишут.
Запись, помеченная как сеансовая, остаётся вовсе без даты, даже когда дата в файле есть.
Имя и значение
Сам ключ сессии и имя, по которому его читает сайт.
Домен и путь
Какому сайту кука вернётся и в какую его часть.
Secure и HttpOnly
Поедет ли она только по закрытой связи и видят ли её сценарии страницы.
SameSite и срок
Поедет ли она с запросом, начатым на другом сайте, и когда умрёт.
Выгрузка берёт всё хранилище
Выгрузка читает всё, что есть у профиля, а не куки той страницы, что сейчас перед вами. Число в сообщении это число записей, ушедших в файл.
Где лежит хранилище, решает движок, выбранный в настройке. От него же зависит, нужен ли открытый профиль.
По умолчанию файл называется по имени профиля, причём всё, кроме букв, цифр, точки, дефиса и подчёркивания, заменяется, а куда его положить, выбираете вы.
| Движок в настройке | Где хранилище | Чтобы прочитать или записать |
|---|---|---|
| ARMANOS Browser | Внутри работающего браузера | Профиль должен работать в этой сборке |
| Встроенный движок | В папке профиля на диске | Работает и с закрытым |
Вам скажут, а не отдадут пустой файл
В файле лежат живые входы
Кто открыл этот файл, тот вошёл в эти аккаунты, и программа говорит об этом до окна сохранения, а не после.
Файл держат права доступа, а не пароль. На macOS и Linux он пишется только для вашей учётной записи, и эти права уезжают вместе с копией.
На Windows файл защищают не права. Там он получает права той папки, куда вы его положили.
Сперва идёт предупреждение, и окно сохранения открывается, только если вы продолжили: промахом мыши такой файл не пишется.
Удалите его после переезда
Непринятое тоже считается
Браузер отвергает куку по множеству обычных причин, а одно голое число принятого читается как полностью переехавшая сессия.
Поэтому в сообщении стоят оба числа, и человеку, которого сайт снова просит войти, есть куда посмотреть.
Три причины ниже это отказы самой программы, и только последняя приходит от браузера, хотя сообщение на экране считает их одним числом и все приписывает браузеру.
| Что было в файле | Что с этим происходит | Как считается |
|---|---|---|
| Ни домена, ни адреса | Куку некуда возвращать | Отвергнута |
| Нет имени | Запись без имени это не кука | Отвергнута |
| Непонятный браузеру срок | Дату отбрасывают, а кука всё равно входит | И принята, и отвергнута |
| Правило самого браузера | Secure на открытом адресе или несовпавший домен | Отвергнута |
Куки не везут машину
Сессия это половина того, что держит аккаунт залогиненным. Вторая половина это устройство, с которого сайт эту сессию видел.
Номер профиля это семя, из которого выводится его отпечаток, и ни один файл куки этот номер не везёт.
Файл куки подходит там, где переехать должны одни входы, а сам профиль остаётся на месте.
Файл куки
Хранилище одного профиля и больше ничего.
Файл переноса
Профиль вместе с сессией и своим номером, закрытый вашим паролем.
Общая папка
Тот же архив, который везёт ваша собственная папка в облаке.
Куки внутри сценария
Шаг сценария работает с куками того профиля, в котором идёт, по одной куке за раз.
Чтение привязано к сайту, на котором стоит шаг, пока во вкладке открыта веб-страница. На пустой или внутренней странице шаг откатывается к домену, вписанному в него.
Прочитать
Одну названную куку текущего сайта в переменную.
Записать
Одну куку для текущего сайта или для названного домена.
Удалить
Одну названную куку.
Очистить
Все куки текущего сайта, и шаг возвращает, сколько их ушло.
Чего это не делает
- Чужой формат здесь не переводится. Читается обычная запись куки, поэтому файл, устроенный иначе, придётся сперва переложить.
- Не говорится, какое правило отвергло какую куку. Число на экране есть, а подробностей за ним нет.
- За раз переезжает один профиль: ни загрузки сразу на выделенные, ни хода для неё в местном API.
- Сам по себе переезд куки входа не выполняет. Сайт взвешивает ещё устройство и адрес и может спросить сессию заново.
Как проверить
Каждое утверждение выше лежит в одном файле, и почти у каждого есть стенд, который можно запустить.
- Выгрузка берёт всё хранилище, а не страницу перед вами
- apps/desktop/src/lib/forkPage.js · apps/desktop/test/cookie-transfer.js
- SameSite и срок переживают переезд в обе стороны
- apps/desktop/test/cookie-transfer.js
- Загрузка считает отвергнутое рядом с принятым
- apps/desktop/src/main/main.js
- Файл с куками пишется только для вашей учётной записи
- apps/desktop/src/lib/secureFile.js · apps/desktop/test/secrets-on-disk.js
- Сценарий читает куку только для сайта своего шага
- apps/desktop/src/main/main.js · apps/desktop/test/rules-and-runs.js
Вопросы
- Можно принести файл из другой программы?
- Если это обычный список записей куки, да. Мы читаем поля, которые есть у куки, а не собственную базу одного продукта.
- Почему меня просят сперва открыть профиль?
- Когда в настройке стоит ARMANOS Browser, хранилище живёт внутри работающего браузера, и у профиля, который в ней не запущен, читать нечего. Сказать об этом честнее, чем записать пустой файл и назвать это выгрузкой.
- Сходятся ли два числа в сообщении?
- Не всегда. Кука, чью дату прочитать не удалось, входит без неё и считается на обеих сторонах: потерянный срок стоит того, чтобы сказать.
- Зашифрован ли выгруженный файл?
- Нет, и программа говорит это до записи. На macOS и Linux его держат права доступа, а на Windows он получает права той папки, которую вы выбрали.
- Останется ли аккаунт залогиненным после переезда?
- Часто, но не всегда. Сайт взвешивает ещё машину и адрес, поэтому сессия, приехавшая без своего отпечатка, выглядит новым устройством.
Заберите одну сессию с собой
Поставьте ARMANOS, откройте профиль и запишите его хранилище в файл, который повезёте сами.