Расширение браузера
MV3-расширение для Chrome, Edge, Brave и Firefox. Может разблокироваться через ваш self-hosted сервер (автономный режим) или заполнять через разблокированное десктопное приложение (native messaging).
Имя хоста: com.openselfhosting.openkey
Что делает
- Автономный сейф — разблокировка email + мастер-пароль; синхронизация шифротекста с сервера
- Нативный мост — когда десктопное OpenKey разблокировано, заполнение и сохранение через native messaging
- Автозаполнение — оверлеи, контекстное меню и горячая клавиша для логинов и платёжных карт
- Сохранить / обновить — захват новых логинов со страницы в сейф
- Passkeys — перехват WebAuthn
create/get; хранение ES256-учётных данных (расширение разблокировано) - Карты, крипто и секреты — просмотр и заполнение/копирование зарезервированных областей сейфа
- Вложения — список и скачивание расшифрованных вложений логина (автономный режим)
- Шары и орги — список/принятие/отзыв шаров и приглашений в орги (автономный режим)
Сочетание клавиш
| Действие | Windows / Linux | macOS |
|---|---|---|
| Заполнить логин OpenKey | Ctrl+Shift+L | ⌘⇧L |
Браузеры могут потребовать подтвердить или переназначить команду в горячих клавишах расширения, если другая расширение уже заняла её.
Установка (распакованная)
Листинги в магазинах могут быть ещё не опубликованы. Соберите и загрузите локально:
cd openkey_extension
npm install
npm run build- Chrome / Edge / Brave:
chrome://extensions→ Режим разработчика → Load unpacked → выберитеdist/ - Firefox:
about:debugging→ This Firefox → Load Temporary Add-on → выберитеdist/manifest.json
Скопируйте ID расширения из popup или страницы Options — он нужен для подключения десктопного моста в Chromium-браузерах.
Разрешения
Расширение использует совпадения host / content-script <all_urls>, чтобы автозаполнение, захват логинов и перехват passkeys работали на посещаемых сайтах (фиксированный allowlist не покрывает открытый веб). Синхронизация шифротекста и разблокировка остаются на устройстве или на вашем self-hosted сервере; OpenKey не выносит HTML страницы в облако вендора. Предпочитайте Использовать десктопное приложение, если хотите заполнять без отдельной разблокировки сейфа расширения.
Режимы разблокировки
Self-hosted сервер
- Укажите URL self-hosted сервера в popup или Options.
- Создать аккаунт (регистрация) или Разблокировать (prelogin + login с тем же email и мастер-паролем, что в приложении).
- Шифротекст синхронизируется через
POST /sync. Мастер-пароль никогда не покидает клиент.
Мост десктопного приложения
- Разблокируйте десктопное OpenKey.
- Включите Автозаполнение / подключите расширение (шаги по платформам ниже).
- В расширении выберите Использовать десктопное приложение.
Заполнение и сохранение идут через разблокированное приложение — отдельная разблокировка сейфа расширения для этих потоков не нужна.
Опционально: Настройки → Расширение браузера → Копировать офлайн-ссылку сейфа в приложении для air-gapped bootstrap.
Подключить native messaging
Windows
Открытие Настройки → Автозаполнение регистрирует openkey_native_host.exe в:
HKCU\Software\...\NativeMessagingHosts\com.openselfhosting.openkey
Для Chromium запишите ID распакованного расширения в:
%LOCALAPPDATA%\OpenKey\chrome_extension_id.txt
затем снова откройте Автозаполнение, чтобы манифест хоста пересоздался. Firefox автоматически использует [email protected].
Держите сейф разблокированным (loopback TCP).
macOS
При разблокировке OpenKey устанавливает openkey_native_host.py и пишет манифесты в папки NativeMessagingHosts Chrome / Chromium / Edge / Brave / Firefox.
- Загрузите распакованное расширение и скопируйте его ID.
- Приложение: Настройки → Расширение браузера → вставьте ID → Подключить расширение.
- Держите сейф разблокированным → расширение: Использовать десктопное приложение.
Требуется Python 3 в PATH.
Linux
Настройки → Автозаполнение пишет манифесты хоста в ~/.config/google-chrome/, Chromium, Edge и ~/.mozilla/native-messaging-hosts/.
Файл ID расширения Chromium:
~/.local/share/OpenKey/chrome_extension_id.txt
затем снова нажмите Автозаполнение. Firefox использует [email protected].
Сокет моста: $XDG_RUNTIME_DIR/openkey-native.sock (держите сейф разблокированным).
Сохранить захваченные логины
После отправки логина (или кнопки входа / Enter) баннер на странице предлагает Сохранить или Обновить:
- Нативный мост —
createEntry/updateEntryв разблокированном десктопном приложении - Автономный — шифрует локально и отправляет шифротекст через sync
Тот же host + username + password игнорируется; изменённый пароль запрашивает обновление.
Passkeys
При разблокированном расширении OpenKey может обрабатывать WebAuthn на сайтах. Диалог на странице подтверждает; выберите Использовать браузер, чтобы вернуться к платформенному аутентификатору.
Быстрый тест после разблокировки: webauthn.io или npx tsx src/passkey/smoke.test.ts в openkey_extension.
См. также
- Загрузка и установка
- Использование приложения — настройки Автозаполнения и Расширения браузера
- Настройка сервера
- Безопасность — граница доверия расширения