Перейти к содержимому

Куки

Куки из профиля и обратно

Хранилище куки профиля уезжает одним файлом и возвращается в другой профиль. Принятое считается, непринятое считается рядом, а с самим файлом обращаются как с тем, что в нём лежит: живыми входами.
Десять
Полей читает загрузка
3
Написаний срока принимается
Один
Профилей в файле
О принятом и отвергнутом
О чём говорит загрузка

Что лежит в файле

Выгрузка пишет один обычный файл JSON: список записей, по одной на куку, с именем профиля в названии.

В каждой записи едут восемь перечисленных ниже вещей, решающих, куда кука вернётся и сколько там проживёт, и всё прочее, что дал движок. Загрузка читает ещё два поля: целый адрес, который берут вместо собранного из домена, и признак сеансовой куки.

Загрузка читает и голый список, и объект со списком куки внутри, а срок берёт под любым из трёх имён, какими его обычно пишут.

Запись, помеченная как сеансовая, остаётся вовсе без даты, даже когда дата в файле есть.

  • Имя и значение

    Сам ключ сессии и имя, по которому его читает сайт.

  • Домен и путь

    Какому сайту кука вернётся и в какую его часть.

  • Secure и HttpOnly

    Поедет ли она только по закрытой связи и видят ли её сценарии страницы.

  • SameSite и срок

    Поедет ли она с запросом, начатым на другом сайте, и когда умрёт.

Выгрузка берёт всё хранилище

Выгрузка читает всё, что есть у профиля, а не куки той страницы, что сейчас перед вами. Число в сообщении это число записей, ушедших в файл.

Где лежит хранилище, решает движок, выбранный в настройке. От него же зависит, нужен ли открытый профиль.

По умолчанию файл называется по имени профиля, причём всё, кроме букв, цифр, точки, дефиса и подчёркивания, заменяется, а куда его положить, выбираете вы.

Движок в настройкеГде хранилищеЧтобы прочитать или записать
ARMANOS BrowserВнутри работающего браузераПрофиль должен работать в этой сборке
Встроенный движокВ папке профиля на дискеРаботает и с закрытым

Вам скажут, а не отдадут пустой файл

Когда в настройке стоит 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, откройте профиль и запишите его хранилище в файл, который повезёте сами.