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

Решения

Кошельки и web3

У вас несколько кошельков, и вы хотите держать их в разных браузерах, чтобы один сайт не видел сразу все. Эта страница о том, что программа для этого делает: свой профиль каждому кошельку, расширение, сохраняющее опознаватель магазина, и движок, на котором оно работает.
MetaMask, Phantom
Карточки кошельков в программе
до 50
Включено на профиль
ARMANOS Browser 153.0.7978.0
Где кошелёк работает по-настоящему
только Manifest V3
Стандарт
2
Профилей на бесплатном тарифе

Свой профиль каждому кошельку

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

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

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

Опознаватель магазина решает всё

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

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

  • Сначала сверяется подпись

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

  • Авторский ключ важнее магазинного

    В магазинном архиве две подписи, и настоящий опознаватель даёт авторская.

  • Свой ключ расширения остаётся нетронутым

    Переписать его значило бы сменить опознаватель тому, что уже работает.

  • Manifest V3 или ничего

    Описание старого поколения отвергается и при установке, и при запуске.

Экран «Расширения» с выбором профиля над карточками: на каждой версия, имя папки и состояние файлов.
Карточки кошельков лежат в том же каталоге, что и остальные. Переключатель действует только на профиль, выбранный наверху.

Какой движок нужен кошельку

Движка под программой два. ARMANOS Browser это наша сборка Chromium, а встроенный движок берёт своё, когда этой сборки нет или она не поднялась.

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

Встроенный движок, Chromium 130
правило блокировки не сработало, запрос дошёл до сервера
ARMANOS Browser 153.0.7978.0
тот же запрос заблокирован
Расширение оформления на встроенном движке
ни одного стиля не вставлено, страница не изменилась

Замерено на обоих движках одним расширением с одним правилом и отдельно расширением оформления из магазина. На ARMANOS Browser профиль запускается с включёнными вами расширениями и больше ни с чем.

Что доезжает до второго компьютера

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

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

  • Выбор «включено или нет» едет

    Расширение, включённое на работе, включено и дома в том же профиле.

  • Неудачная отправка видна

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

  • Одна версия на все профили

    Файлы лежат в одной папке, поэтому профили отличаются только включённостью.

Второй шаг рядом с профилем

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

Файл с ключом может прочитать только ваша учётная запись на этом компьютере. Сам ключ не зашифрован, и место этому здесь, а не в неожиданности потом.

Где площадка говорит про один аккаунт

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

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

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

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

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

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

Оба кошелька лежат в каталоге, и каждая карточка действительно ставится
packages/shared/src/index.js · apps/desktop/test/catalog-installable.js
Опознаватель магазина переживает установку
apps/desktop/src/main/main.js · apps/desktop/test/ext-keeps-store-id.js
Переключатель принадлежит профилю, а неудачная отправка видна
apps/desktop/src/manager/store.js · apps/desktop/test/ext-choice-travels.js
Предупреждение про встроенный движок измерено на обоих движках
apps/desktop/src/manager/store.js · apps/desktop/test/extension-limits-honest.js
Файл с ключом двухфакторной авторизации открыт только хозяину
apps/desktop/src/lib/secureFile.js · apps/desktop/test/secrets-on-disk.js
Отчёт о проблеме прячет поле с именем вроде сид-фразы
apps/desktop/src/lib/problemReport.js · apps/desktop/test/problem-report.js

Вопросы

Кошелёк будет работать без ARMANOS Browser?
Расширение из магазина на встроенном движке загружается и почти ничего там не делает. Замерено блокировщиком и расширением оформления: первый не заблокировал ничего, второе не вставило ни одного стиля, и программа говорит, какой движок запустится.
Отдельный профиль делает два кошелька несвязанными?
Сам по себе нет. Он убирает причины, которые живут в браузере, а путь пополнения, повторно взятая почта или один телефон связывают аккаунты в другом месте.
Вы видите мою сид-фразу?
Нет. Она лежит в собственном хранилище расширения внутри профиля, а в отчёте о проблеме, отправленном из программы, поле с именем вроде сид-фразы заменяется до отправки.
Могут два профиля держать разные версии одного кошелька?
Нет. Файлы лежат в одной папке, общей для всех профилей компьютера, поэтому версия у всех одна и отличается только переключатель.

Дайте каждому кошельку свой профиль

Бесплатный тариф даёт два профиля и не спрашивает карту. Положите по кошельку в каждый и откройте один и тот же сайт в обоих.