Что на самом деле лежит в профиле браузера и как его правильно бэкапить
Профиль браузера - не файл настроек. Это куки для каждого сайта, где вы залогинены, localStorage и IndexedDB для каждого приложения, хранящего состояние на клиенте, сохранённые пароли и всё чаще passkey, у которых нет парольного запасного пути. Отнеситесь к каталогу как к экспорту закладок - и рано или поздно потеряете аккаунт, в который больше не войти.
Что лежит внутри каталога
Каталог данных пользователя Chromium содержит, помимо кучи ненужного кеша: базу SQLite с куками, хранилища leveldb Local Storage и IndexedDB, Login Data (сохранённые пароли, зашифрованные), Web Data (автозаполнение) и состояние восстановления сессии. Cache, GPUCache и кеш кода велики и восстанавливаются сами, поэтому настоящий бэкап должен их исключать, а не копировать.
Passkey - самый новый и самый непрощающий пункт в этом списке. Passkey привязан к аутентификатору, и эти учётные данные живут только там, где были созданы. Для passkey нет сценария «сбросить пароль», как для пароля. Если профиль, в котором он лежал, исчез, исчезла и ваша возможность войти, если только сайт не разрешает зарегистрировать второй аутентификатор, а многие до сих пор не разрешают.
Почему копирование сырой папки между машинами не работает
Ломают это три разные вещи, и ломают молча, а не понятной ошибкой:
Блокировка файлов. Chromium держит свои базы SQLite и хранилища leveldb заблокированными во время работы. Копирование живого профиля или того, который не был закрыт корректно, может захватить базу посреди записи и выдать вам испорченный файл куки или хранилища на другом конце.
Шифрование учётных данных, привязанное к ОС. Сохранённые пароли в Login Data зашифрованы ключом, привязанным к хранилищу учётных данных операционной системы: DPAPI на Windows, Keychain на macOS. Перенесите сырой файл на другую машину - и зашифрованные блобы там нечитаемы. Это сделано намеренно, а не баг, который можно обойти заплаткой.
Абсолютные пути. Часть состояния профиля, особенно состояние расширений, ссылается на собственный путь профиля в файловой системе. Профиль, созданный в C:\Users\alice\profile-01 и положенный в /home/bob/profile-01 на другой ОС, будет содержать записи, указывающие на несуществующий путь.
Что должен содержать переносимый экспорт
Формат, сделанный для переноса между машинами, обязан решить все три задачи: чистый снимок, снятый при закрытом браузере (без борьбы за блокировки), учётные данные, переупакованные так, чтобы не зависеть от хранилища ключей исходной ОС, и пути, относительные к архиву, а не зашитые абсолютными. В него должны входить базы куки и хранилища, сохранённые входы и хранилище passkey и не должны входить Cache и GPUCache, которые лишь раздувают архив, не делая его полезнее.
Экспорт профилей AntiBrow устроен именно так: каждый профиль выгружается в переносимый архив, несущий отпечаток, куки, хранилище и passkey, поэтому открытие на другой машине восстанавливает ту же личность, а не папку нечитаемого состояния. Облачная синхронизация, при которой тот же архив хранится на серверах AntiBrow, а не только локальным файлом, включается по каждому профилю отдельно, а не автоматически.
Частота бэкапов
Профилю, который важен ровно одну сессию, план бэкапов не нужен. Профиль за клиентским аккаунтом, рекламным кабинетом или чем угодно с зарегистрированным passkey - другое дело: сохраняйте его после всего, что меняет состояние входа, - смены пароля, регистрации нового passkey, перепривязки второго фактора, - а не по фиксированному календарю, который может пропустить изменение вовсе. Если вы держите только один архив, держите самый свежий: старый архив с уже сменённым паролем почти бесполезен и при этом может содержать старые учётные данные.
Когда всё это не нужно
Если у аккаунта за профилем нет passkey, ему безразлична преемственность сессии и войти в него заново можно за минуту, полный бэкап профиля - больше процесса, чем заслуживает риск. Добавьте страницу входа в закладки и живите дальше. Строить конвейер экспорта профилей стоит тогда, когда потеря входа стоит дороже часа вашего времени, и не раньше.
Относитесь к архиву как к учётным данным
Файл переносимого профиля - не инертный бэкап. В нём живые куки сессий и, где зарегистрированы, рабочие passkey, а значит, любой, у кого есть этот файл, может действовать от имени залогиненного аккаунта без всякого запроса пароля. Храните его так, как хранили бы SSH-ключ или API-токен: зашифрованным, не пересылая почтой, не оставляя в общей папке.
Проверьте сами
Экспортируйте один профиль, удалите локальную копию и импортируйте архив на второй машине. Если сайт по-прежнему узнаёт passkey и сохранённую сессию без нового входа, экспорт сделал свою работу. Если passkey просит зарегистрироваться заново, что-то в цепочке - захват, хранение или импорт - его потеряло, и это стоит найти до того, как случится с аккаунтом, который не воссоздать.
Попробуйте на бесплатном тарифе.
Неограниченное число локальных профилей, без карты. Проверьте результат детекторами сами.