Блог
Второй компьютер и те же аккаунты: что уезжает с профилем
Команда ARMANOS7 мин
Почему аккаунты просят войти заново
Ваши куки, сохранённые входы и хранилища сайтов пишет браузер, и пишет он их в папку профиля на том компьютере, где вы работали. Второй компьютер этой папки не видит и завести её заново может только с нуля, то есть с нового входа на каждую площадку.
Через аккаунт до второй машины доезжают только настройки: имя, группа, сценарий использования, шаблон отпечатка, прокси и теги. Профиль там открывается тот же, но пустой изнутри, поэтому площадка встречает вас как незнакомца.
- 1
Настройки едут сами
Запись профиля лежит в аккаунте и появляется на каждой машине, куда вы вошли.
- 2
Сессия ждёт отправки
Куки и входы остаются на первой машине, пока вы не отправите их сами.
- 3
Отпечаток не теряется
Номер профиля едет с записью, поэтому отпечаток на второй машине прежний.
Что едет через аккаунт и что остаётся
Через аккаунт ездит запись профиля: имя, группа, сценарий использования, шаблон отпечатка, прокси, теги и заметки. Этого хватает, чтобы список профилей на второй машине выглядел ровно так же, как на первой.
Всё остальное живёт на диске той машины, чей браузер это записал, и само никуда не переезжает, пока вы его не отправите. Таблица ниже делит надвое одно и то же окно профиля.
| Что | Едет ли через аккаунт |
|---|---|
| Имя, группа, сценарий использования, теги, заметки | Да, список на второй машине выглядит так же |
| Шаблон отпечатка и поколение генератора | Да, поэтому отпечаток остаётся прежним |
| Прокси профиля | Да, профиль выходит тем же адресом |
| Закреплённая версия браузера | Нет, её сервер не хранит вовсе |
| Куки, сохранённые входы, хранилища сайтов | Нет, они на диске первой машины |
| Ключ одноразовых кодов и правки отпечатка руками | Нет, места под них на сервере нет |
Почему куки не лежат на сервере
Ваши куки, пара входа и ключ одноразовых кодов на сервер не уезжают: места под них в записи профиля нет вовсе. Запрос, в котором такое поле всё же оказалось, сервер отклоняет целиком, а не откидывает лишнее.
Для вас это значит две вещи сразу. Выдать ваши живые сессии по чужому запросу неоткуда, и перевезти их на вторую машину можете только вы сами, одной из двух дорог ниже.
Две дороги для сессии
Дорог ровно две, и выбираете между ними вы. Первая это файл, пункт «Перенести вместе с сессией» в меню профиля: закрытый профиль уходит в один архив под паролем, и дальше вы несёте его флешкой, почтой или чем угодно.
Вторая это «Сессия в папке». На экране «Движок», в блоке «Сессия на двух компьютерах, через папку», вы показываете программе любой каталог, который уже синхронизирует ваше облако, и сессия закрытого профиля уезжает туда сама, без вашего участия.
| Дорога | Когда берут её |
|---|---|
| Файл под паролем | Разовый переезд или передача профиля напарнику |
| Сессия в папке | Вы каждый день пересаживаетесь между двумя машинами |
Что лежит внутри файла переноса
Внутри архива едет всё, из-за чего аккаунт остаётся залогиненным, и номер профиля, из которого выводится отпечаток. Поэтому на второй машине это та же машина, а не похожая на неё.
Файл закрыт паролем от 8 знаков, scrypt и AES-256-GCM, а неверный пароль даёт честный отказ, а не битый профиль. Предел размера 400 МБ, и упираетесь вы в него редко: кэш внутрь не кладётся.
- 1
Едет сессия
Куки, входы и хранилища сайтов обоих движков лежат в одном архиве.
- 2
Едет номер
Номер профиля и поколение генератора едут вместе, поэтому отпечаток тот же.
- 3
Не едут кэш и компоненты
19 каталогов кэша и 5 служебных файлов остаются дома: сайты нальют их заново. Остаются и компоненты, которые движок скачивает сам, вроде озвучки текста: на другой машине он скачает их заново.
Копия профиля это не переезд
Копия и архив выглядят одинаково, а везут разное. Копия это заготовка под новый аккаунт: свой отпечаток, свой ключ одноразовых кодов и свой вход, иначе два аккаунта выдали бы себя за одну машину.
Общих полей у дорог переноса десять, и архив добавляет к ним ещё пять. Эти пять и есть разница между тем же аккаунтом на второй машине и новым аккаунтом рядом с ним.
| Что именно | Архив | Копия |
|---|---|---|
| Имя, сценарий использования, шаблон, теги, заметки, адрес открытия | Да | Да |
| Запуск без окна, версия браузера, смена адреса и её срок | Да | Да |
| Поколение отпечатка и правки руками | Да | Нет |
| Ключ одноразовых кодов и сохранённый вход | Да | Нет |
| Страна выхода прокси | Да | Да |
Папка везёт сессию сама
Открытый прямо сейчас профиль туда не уезжает ни при каких условиях. Его базы пишет работающий браузер, и снятая на ходу копия приехала бы на вторую машину битой, с половиной записанных куки.
Если с прошлого обмена менялись обе стороны, не трогается ни одна из них. Значит на двух машинах работали параллельно, и какую сессию оставить, решаете вы, а не программа.
- 1
Уезжает закрытое
Сессия отправляется после того, как вы закрыли профиль, а не во время работы.
- 2
Приезжает перед стартом
Свежая сессия приходит из папки до того, как профиль откроется у вас.
- 3
Выбор остаётся вам
Менялись обе стороны. Тогда при выгрузке прежняя пара откладывается копией рядом, и последние три такие копии сохраняются.
Как программа решает про изменения
Перед обменом программа отвечает на два вопроса: менялась ли сессия здесь и менялась ли она там. Ответов на пару вопросов четыре: отправить, забрать, ничего не делать и столкновение.
«Менялось здесь» это сравнение метки сессии с той же меткой, запомненной в момент прошлого обмена, и обе метки сняты на одной машине. Сравниваются они на неравенство, а не на «позже»: если часы на машине перевели назад, «позже» перестало бы замечать изменения совсем.
«Менялось там» не сравнивает время файлов двух машин, потому что часы у них разные. Сравнивается метка в папке с той меткой, которую программа в прошлый раз оттуда взяла или туда положила.
Облако кладёт копию рядом
Когда две машины пишут в общую папку одновременно, облако не спрашивает, а кладёт вторую копию рядом с первой: «имя 2», «имя (2)», «conflicted copy», «копия» или имя машины через дефис заглавными. Программа знает эти четыре почерка и ищет такие файлы рядом со своим.
Найденная копия это сигнал о столкновении, и программа называет её вам по имени. Сам файл профиля в этот список не попадает никогда, иначе обычная работа выглядела бы столкновением.
Где лежит пароль от файлов синхронизации
Одним паролем закрыты все сессии в общей папке, и он дороже любого пароля от отдельного профиля. На Windows его закрывает сама система ключом вашей учётной записи Windows. На macOS он закрыт ключом, который лежит внутри самой программы, а на Linux записан как набран, поэтому на обеих системах это не защищает от того, кто может читать вашу папку пользователя.
Закрытый пароль, который не открылся, сохраняет закрытый вид, пока вы не впишете новый, чтобы одна неудачная попытка открыть не стёрла единственную копию.
Недописанные куски обмена, оставшиеся после обрыва, программа подметает сама через час. Раньше часа их не трогают, потому что запись могла ещё идти с другой машины.
Сколько машин даёт ваш тариф
Обмен идёт между вашими машинами, и число мест под них стоит в тарифе. Машина занимает место при первом входе и освобождает его тогда, когда вы её отвязываете в кабинете.
Места идут за действующей оплатой, а не за номером, выданным когда-то. После понижения тарифа лишняя машина место теряет и повторным входом его себе не вернёт.
| Тариф | Мест под машины |
|---|---|
| Free | 1 |
| Professional | 2 |
| Business | 5 |
| Enterprise | 20 |
Как проверить переезд за минуту
Откройте профиль на второй машине и зайдите на площадку, которая помнит вас дольше всех. Вход без пароля и без подтверждения означает, что сессия доехала целиком.
Площадка просит подтверждение, значит проверьте две вещи: закрывали ли вы профиль на первой машине перед отправкой и одинаков ли пароль от файлов синхронизации на обеих.
Чего это не утверждает
- Это не утверждает, что переехавший аккаунт в безопасности. Переехала сессия, а поведение и платёжные данные остались теми же.
- Обмен через папку ничего за вас не хранит. Нет папки или не запущено облачное приложение, значит нет и обмена.
- Две сессии в одну никто не сведёт. Вы оставляете одну, а вторую переносите руками.
- Открытый профиль не уезжает ни в одну сторону. Свою работу вы увидите на второй машине только после закрытия окна.
Где это можно увидеть самому
Каждое число выше выходит из кода, который можно открыть и запустить.
- Куки и входы лежат на этой машине, на сервер едут настройки
- apps/desktop/src/lib/sessionSync.js
- Полный круг через общую папку: закрыли здесь, вошли там с теми же куки
- apps/desktop/test/session-sync-folder.js
- Куки и пару входа сервер отвергает целиком
- apps/server/test/куки-и-входы-сервер-не-примет.js
- Вход через аккаунт не стирает то, что знает только эта машина
- apps/desktop/test/sync-preserves-local.js
- Удалённый на другой машине профиль не оставляет здесь следов
- apps/desktop/test/sync-remote-delete.js
- Десять полей и пять сверх них: перечень у трёх дорог один
- apps/desktop/src/lib/перенос-профиля.js · apps/desktop/test/перенос-не-теряет-полей.js
- Профиль открывается на одной машине за раз, на живом сервере
- apps/server/test/profile-lock.js
- Мест под машины по тарифам, и место идёт за оплатой
- packages/shared/src/index.js · apps/server/test/team-money-seats.js
Вопросы
- Почему одни аккаунты остались, а другие просят вход?
- Вошедшими остаются те, в которые вы входили с этой машины. Записанное на первой машине лежит там до переезда сессии.
- Можно просто скопировать папку профиля руками?
- Не стоит. Браузер пишет свои базы, пока окно открыто, и скопированная на ходу папка приезжает битой.
- Что будет, если я забуду пароль от файла переноса или от файлов синхронизации?
- Открыть уже уехавшие файлы будет нечем. Копии вашего пароля у нас нет, иначе ваши живые сессии открывались бы чужой рукой.
- Сколько весит файл с сессией?
- Меньше самой папки профиля: наружу не идут 19 каталогов кэша, 5 служебных файлов и компоненты, которые движок скачивает сам. Предел размера 400 МБ.
- Отпечаток на второй машине останется тем же?
- Останется. Вместе с профилем едут его номер и поколение генератора, а отпечаток собирается из них заново при каждом запуске.
- Можно работать с одного профиля на двух машинах сразу?
- Нет, и это вас бережёт. Две живые сессии одного аккаунта из разных мест это та картина, после которой аккаунт проверяют.
Рядом с этим
Переезд работы между машинами
Порядок на обеих сторонах и цена дороги.
Профиль переезжает вместе с сессией
Что кладётся в один файл и чем он закрыт.
Перевезти профиль на другой компьютер
Шаги по порядку и что делать при отказе.
Бесплатная проверка отпечатка
12 значений, прочитанных в вашем браузере, и ни одного запроса наружу.
Посмотрите, что отвечает ваш браузер
Проверка читает 12 значений прямо в вашем браузере и никуда их не отправляет.