Академия
Переезд работы между машинами
Урок 12 из 14
Две половины одного профиля
Профиль это настройки плюс сессия, и едут они разными дорогами. Настройки приезжают на другие ваши компьютеры через учётную запись, а сессия не приезжает.
Куки, входы и хранилище сайтов лежат в папке профиля на той машине, чей браузер их записал. Там они и останутся, пока вы не перевезёте их нарочно.
Через учётную запись
Имя, сценарий, группа, метки, заметки, шаблон отпечатка и прокси.
Только вместе с сессией
Куки, входы, хранилище сайтов, ключ двухфакторной авторизации и значения отпечатка, выбранные вами руками.
Не едет вовсе
Движок браузера, файлы расширений и кэши: у каждого компьютера они свои.
Почему отпечаток переживает переезд
Отпечаток нигде не лежит на диске. Он считается заново при каждом запуске из номера самого профиля и того шаблона, с которым профиль сделан.
Поэтому тот же номер на другом компьютере даёт ту же видеокарту, тот же экран и тот же список шрифтов. Номер лежит внутри переноса, и ровно поэтому переезд вообще работает.
Чего площадке не хватает
Там, где профиль приехал без сессии, устройство отвечает ровно так же, как отвечало до переезда. Не хватает другого: памяти самого аккаунта об этом браузере.
Без куки и без сохранённой отметки площадке нечего узнавать, поэтому заход читается как новый вход и приносит те проверки, которые приносит новый вход.
Новый профиль это новая машина
Профиль, заведённый на втором компьютере с нуля, получает новый номер, а новый номер это другая видеокарта и другой экран.
Знакомые входы, влитые в такой профиль, означают, что аккаунт видит свою же сессию с машины, которой он никогда не видел. Это сочетание хуже любой из двух своих половин.
Две дороги для одной сессии
Сессия едет одним зашифрованным файлом, и донести его можно двумя путями. Руками или через папку, которую ваше облако и так синхронизирует.
Оба пути пишут один и тот же файл, поэтому сессия, записанная одной дорогой, открывается другой. Кэши в него не попадают: сайты перезальют их сами.
| Как едет | Что нужно | Когда подходит |
|---|---|---|
| Руками | Файл, пароль и способ донести файл | Один переезд или разогретый профиль напарнику |
| Через папку | Одна папка, видная обеим машинам, и один пароль | Два компьютера, которыми работают по очереди |
Что остаётся на машине
У каждой установки программы свой опознаватель, он лежит на этой машине и в перенос не попадает никогда. Именно поэтому два компьютера и считаются двумя.
Движок остаётся по причине попроще. Каждый компьютер ставит свой, и та версия, которая у него стоит, и есть версия браузера, которую называют ваши профили.
Один профиль на одной машине
Запуск профиля закрепляет его за той машиной, которая его открыла. Второй машине отказывают и называют, кто держит профиль и с какого времени, а забрать его можно только нарочно.
Закрепление держится три минуты и продлевается, пока окно открыто, поэтому машина, потерявшая питание, отпускает профиль сама.
Когда работали оба компьютера
Если с последнего обмена сессия менялась и здесь, и в папке, значит на двух машинах работали параллельно, и любая запись выбросила бы настоящие входы. Не пишется ничего ни в одну сторону.
Вам говорят, с какого компьютера пришла вторая сессия, и выбираете вы. То, что заменяется, сначала отставляется в сторону копией.
Главное правило переезда
Переезжает профиль, а машина нет. Всё остальное в этом уроке следует из одной этой строки.
Закройте профиль, дайте сессии уехать и откройте его на той стороне.
Чего этот урок не утверждает
- Он не отменяет проверок самой площадки. Вход из места, которого ваш аккаунт не видел, всё равно может спросить код, и никакой переезд этого не меняет.
- Он не сливает две сессии. Если один профиль менялся на обоих компьютерах, вы выбираете одну из двух, а сложить их вместе это работа руками.
- Он не перевозит движок браузера. Каждый компьютер ставит свой, а профиль, сделанный более новой версией программы, на старой не открывается.
- Он не хранит ваши сессии нигде за вас. Без файла и без папки не едет ничего, а забытый пароль переноса не открывает ничего.
- Он не превращает два компьютера в один. Профиль открывается на одной машине за раз, а второй машине отказывают.
Где это можно увидеть самому
Каждая строка здесь это стенд, который исполняет настоящий код над настоящей папкой.
- Отпечаток нигде не хранится: он считается из номера самого профиля при каждом запуске
- apps/desktop/test/fingerprint-version.js
- Перенос зашифрован, кэш в него не попадает, а номер профиля едет вместе с ним
- apps/desktop/src/lib/bundle.js · apps/desktop/test/profile-bundle.js
- Закрыли на одной машине, открыли на другой, и те же куки по-прежнему пускают внутрь
- apps/desktop/test/session-sync-folder.js
- У каждой установки свой опознаватель, поэтому два компьютера никогда не считаются одним
- apps/desktop/test/device-identity.js
Вопросы
- Можно просто скопировать папку профиля?
- Пока браузер работает, эти базы пишутся прямо сейчас, и копия, снятая с открытого профиля, приезжает битой. Перенос отказывает, пока профиль открыт, и просит его закрыть.
- Я вошёл на новом компьютере, а профиль разлогинен.
- Настройки приезжают через учётную запись, а сессии нет. Перевезите сессию файлом переноса или через общую папку, и входы приедут вместе с ней.
- Меняется ли отпечаток при переезде?
- Нет, потому что он выводится из номера профиля, а номер едет вместе с ним. Если номер пришлось выдать заново, программа прямо говорит, что отпечаток сменился.
- Ключ двухфакторной авторизации едет через учётную запись?
- Нет. Он остаётся на той машине, где его завели, и едет только внутри зашифрованного переноса, поэтому второй компьютер того же аккаунта сам его не получит.
- Можно работать в одном профиле с двух компьютеров сразу?
- Нет. Профиль держит та машина, которая его открыла, а второй говорят, кто его держит и с какого времени.
- Можно начать с сессии, которая есть только в папке?
- Да. Папка перечитывается целиком, а настройки профиля лежат внутри зашифрованного файла, поэтому его подберёт и компьютер без всякой учётной записи.
Перевезите один профиль и посмотрите на итог
Закройте его, соберите файл переноса, загрузите на другой машине, и программа назовёт профиль и скажет, приехала ли с ним сессия.