Lockena Browser Extension
Браузерное расширение для zero-knowledge менеджера паролей Lockena.
Назначение
Расширение предоставляет быстрый и безопасный доступ к вашим сохраненным паролям непосредственно из браузера, обеспечивая автозаполнение и управление записями без необходимости держать открытой основную веб-версию.
Возможности
- Безопасность: AES-256 (GCM) защита ваших паролей. Вся криптография выполняется локально.
- Синхронизация: Доступ к паролям синхронизируется с вашим аккаунтом Lockena.
- Единая авторизация: Вход осуществляется через основной веб-сайт.
- Фоновая работа: Обновление токенов (refresh) и поддержание актуального состояния зашифрованного хранилища (
encryptedVaultItems) вchrome.storage.local.
Архитектура и Аутентификация
Расширение использует общую с веб-клиентом и мини-аппом архитектуру Zero-Knowledge:
- Вход: Пользователь нажимает "Войти" и перенаправляется на сайт Lockena (
/signin). - Сессия: После успешного входа токены передаются в расширение и сохраняются локально.
- Ключи: Мастер-пароль запрашивается для разблокировки хранилища и передается в background worker в виде события
UNLOCK_MASTER_KEY. Он никогда не сохраняется на диске. - Хранилище: В
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 и т.д.)
Шаги для разработки
- Перейдите в директорию расширения:
cd /Lockena/lockena-extension
- Установите зависимости:
npm install
- Соберите проект:
npm run build
- Откройте браузер (например, Chrome) и перейдите на страницу расширений
chrome://extensions/. - Включите Режим разработчика (Developer mode) в правом верхнем углу.
- Нажмите Загрузить распакованное расширение (Load unpacked) и выберите папку
dist, созданную на шаге 3 внутриlockena-extension.