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

Без связи

Профили лежат на вашем диске

Куки, сохранённые входы и весь каталог браузера лежат на вашем компьютере, а не в облаке, которым распоряжаемся мы. Пока сервер недоступен, программа работает сутки, а правка, сделанная за эти сутки, ждёт на этом же диске, а не теряется и не затирается, когда связь вернётся.
В каталоге профиля на этом компьютере
Где лежат куки и входы
24 часа от последнего ответа
Работа при недоступном сервере
Каждые 5 минут
Как часто программа спрашивает, пока вы в аккаунте
Два профиля, без срока и без карты
Совсем без аккаунта

Что лежит на вашем компьютере

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

Этот каталог вы можете открыть сами: ~/Library/Application Support/@armanos/desktop на macOS, %APPDATA%\@armanos\desktop на Windows, ~/.config/@armanos/desktop на Linux.

  • Остаётся здесь

    Куки и данные сайтов, пара логина и пароля профиля, его ключ одноразовых кодов, история, загрузки и любое значение отпечатка, выставленное рукой.

  • Отражается, пока вы в аккаунте

    Только настройки: имя, папка, сценарий, шаблон, прокси, метки, заметка и то, какие расширения включены.

  • Выводится, а не хранится

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

Сутки без сервера

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

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

Что вы делаетеВ эти суткиПосле того как они вышли
Открыть профильОткрывается как обычноКнопка гаснет и называет причину
Создать или изменить профильСохраняется здесь, уедет позжеЖдёт одного ответа
Сценарии и прогревИдут как обычноПрогон кончается, не открыв окна
Подошедший срок расписанияСрабатываетПропускается с сообщением и не копится
Проверить проксиИдёт через сам проксиТак же, и никогда через нас
Уже открытые браузерыРаботаютРаботают, пока вы их не закроете

Переведённые назад часы кончают срок раньше

Перевод часов машины назад оставляет последнюю проверку в будущем, а проверка с датой в будущем считается за отсутствие проверки. Срок от этого кончается, а не продлевается.

Правка без связи ждёт по полям

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

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

  • Отметка ставится до запроса

    Сверка, идущая в тот же миг, не накроет то, что вы только что набрали.

  • Ждущие поля уезжают сами

    Они уходят при следующем запуске программы и вместе с вашей следующей правкой этого профиля.

  • Отказ это не молчание

    О правке, которую аккаунт не принял, говорят на экране, и профиль считается разошедшимся с аккаунтом, пока она не уедет.

Профиль без связи не меняет личности

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

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

Два аккаунта на одном компьютере

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

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

Без входа это рабочее состояние

Без аккаунта программа открывается и работает на бесплатной норме в два профиля, без срока и без карты. Никакие сутки здесь не считаются, потому что спрашивать некого.

Отдаёте вы ровно то, что даёт аккаунт: настройки, отражённые на вторую машину, замок, не пускающий двоих в один профиль, и папки, открытые команде.

Кто ещё может прочесть эти файлы

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

На macOS и Linux эти права и есть защита. На Windows правами распоряжаются списки доступа, до которых программа не дотягивается, и защищает там ваша учётная запись: в вашу папку профиля другой пользователь без прав администратора не войдёт.

Чего это не делает

  • Это не бессрочная лицензия. Сутки идут от последнего ответа сервера, и когда после этих суток запрос до сервера вовсе не доходит, ничего нового не открывается, пока не пройдёт проверка.
  • Профилю, заведённому без связи, место в аккаунте не обещано. Норму считает сервер, и при возврате связи он может отказать: тогда профиль остаётся здесь, и об этом говорят на экране.
  • Права «только для владельца» настоящие на macOS и Linux. На Windows они не меняют ничего, и защищает там ваша учётная запись, а не файл.
  • Местное это не резервная копия. Умерший диск уносит профили с собой, если их сессии не уехали в вашу собственную папку.

Как проверить

У каждого утверждения выше есть файл и стенд, который можно запустить.

Сутки идут от последнего ответа, а переведённые назад часы их укорачивают
apps/desktop/src/lib/license.js · apps/desktop/test/session-restore.js
Вход в аккаунт не стирает местное, а профиль сохраняет свой номер
apps/desktop/src/main/main.js · apps/desktop/test/sync-preserves-local.js
Правка, не дошедшая до аккаунта, сохраняется и уезжает снова
apps/desktop/src/lib/profiles.js · apps/desktop/test/отметка-не-отправлено-по-полям.js
Второй аккаунт уводит записи и оставляет данные
apps/desktop/src/lib/accountSwitch.js · apps/desktop/test/смена-аккаунта-не-стирает-сессии.js
Файл с тайной пишется только для своего владельца
apps/desktop/src/lib/secureFile.js · apps/desktop/test/secrets-on-disk.js

Вопросы

Можно работать с выдернутым проводом?
Сутки от последнего ответа аккаунта: профили открываются, сценарии идут, правки сохраняются здесь. После этого программа ждёт одной проверки.
Перезапуск программы сбрасывает этот срок?
Нет. Состояние записывается и читается обратно при следующем запуске, поэтому программа откроется такой, какой вы её оставили.
Что будет, если перевести часы машины назад?
Последняя проверка окажется в будущем, а это считается за отсутствие проверки. Срок кончится раньше, а не позже.
Доходят ли мои куки до вашего сервера?
Нет. Отражаются только настройки профиля, а в этой записи нет места ни для куки, ни для пары логина и пароля, ни для ключа одноразовых кодов.
Вошёл другим аккаунтом, и профили пропали.
Их записи в корзине, потому что они принадлежат аккаунту, из которого вы вышли. Куки и входы на диске не тронуты, а вход прежним аккаунтом вернёт их.

Проверьте это с выдернутым проводом

Поставьте ARMANOS и выдерните провод.