Files
2026-05-27 23:15:17 +03:00
..
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00
2026-05-27 23:15:17 +03:00

Lockena Browser Extension

Браузерное расширение для zero-knowledge менеджера паролей Lockena.


Назначение

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


Возможности

  • Безопасность: AES-256 (GCM) защита ваших паролей. Вся криптография выполняется локально.
  • Синхронизация: Доступ к паролям синхронизируется с вашим аккаунтом Lockena.
  • Единая авторизация: Вход осуществляется через основной веб-сайт.
  • Фоновая работа: Обновление токенов (refresh) и поддержание актуального состояния зашифрованного хранилища (encryptedVaultItems) в chrome.storage.local.

Архитектура и Аутентификация

Расширение использует общую с веб-клиентом и мини-аппом архитектуру Zero-Knowledge:

  1. Вход: Пользователь нажимает "Войти" и перенаправляется на сайт Lockena (/signin).
  2. Сессия: После успешного входа токены передаются в расширение и сохраняются локально.
  3. Ключи: Мастер-пароль запрашивается для разблокировки хранилища и передается в background worker в виде события UNLOCK_MASTER_KEY. Он никогда не сохраняется на диске.
  4. Хранилище: В chrome.storage.local хранятся только зашифрованные записи (encryptedVaultItems).

Стек

  • React + TypeScript
  • Chrome Extensions API (Manifest V3)
  • Vite для сборки
  • Tailwind CSS + Lucide React для UI
  • Axios для взаимодействия с API

Локальный запуск

Предварительные требования

  • Node.js 20+
  • npm или pnpm
  • Браузер на базе Chromium (Google Chrome, Edge, Brave и т.д.)

Шаги для разработки

  1. Перейдите в директорию расширения:
cd /Lockena/lockena-extension
  1. Установите зависимости:
npm install
  1. Соберите проект:
npm run build
  1. Откройте браузер (например, Chrome) и перейдите на страницу расширений chrome://extensions/.
  2. Включите Режим разработчика (Developer mode) в правом верхнем углу.
  3. Нажмите Загрузить распакованное расширение (Load unpacked) и выберите папку dist, созданную на шаге 3 внутри lockena-extension.