براؤزر ایکسٹینشن
Chrome، Edge، Brave، اور Firefox کے لیے MV3 ایکسٹینشن۔ یہ آپ کے self-hosted سرور کے خلاف unlock کر سکتی ہے (standalone) یا unlocked desktop app کے ذریعے fill کر سکتی ہے (native messaging)۔
Host نام: com.openselfhosting.openkey
یہ کیا کرتی ہے
- Standalone vault — email + master password سے unlock؛ سرور سے ciphertext سنک
- Native bridge — جب desktop OpenKey app unlocked ہو، native messaging سے fill اور save
- Autofill — logins اور payment cards کے لیے overlays، context menu، keyboard shortcut
- Save / update — صفحے سے نئے logins vault میں capture
- Passkeys — WebAuthn
create/getintercept؛ ES256 credentials محفوظ (ایکسٹینشن unlocked) - Cards، crypto & secrets — vault کے reserved حصے browse اور fill/copy
- Attachments — login کے decrypted attachments فہرست اور ڈاؤن لوڈ (standalone)
- Shares & orgs — shares اور org invites فہرست/قبول/منسوخ (standalone)
Keyboard shortcut
| عمل | Windows / Linux | macOS |
|---|---|---|
| OpenKey سے login fill | Ctrl+Shift+L | ⌘⇧L |
اگر دوسری ایکسٹینشن نے command پہلے لے لی ہو تو براؤزرز extension keyboard shortcuts میں confirm یا remap مانگ سکتے ہیں۔
انسٹال (unpacked)
Store listings ابھی شائع نہ ہوں۔ مقامی طور پر build اور load کریں:
cd openkey_extension
npm install
npm run build- Chrome / Edge / Brave:
chrome://extensions→ Developer mode → Load unpacked →dist/منتخب کریں - Firefox:
about:debugging→ This Firefox → Load Temporary Add-on →dist/manifest.jsonچنیں
Popup یا Options page سے extension ID کاپی کریں — Chromium براؤزرز میں desktop bridge جوڑنے کے لیے چاہیے۔
Permissions
ایکسٹینشن <all_urls> host / content-script matches استعمال کرتی ہے تاکہ autofill، login capture، passkey interception آپ کے ملنے والے سائٹس پر کام کریں (مقررہ allowlist کھلی ویب نہیں ڈھانپ سکتی)۔ Ciphertext sync اور unlock آپ کے device یا self-hosted سرور پر رہتے ہیں؛ OpenKey صفحے کا HTML vendor cloud میں نہیں بھیجتا۔ جب الگ extension vault unlock کے بغیر fill چاہیں تو Use desktop app ترجیح دیں۔
Unlock modes
Self-hosted server
- Popup یا Options میں Self-hosted server URL سیٹ کریں۔
- Create account (register) یا Unlock (prelogin + login — app جیسا email اور master password)۔
- Ciphertext
POST /syncسے سنک ہوتا ہے۔ Master password client نہیں چھوڑتا۔
Desktop app bridge
- OpenKey desktop app unlock کریں۔
- Autofill فعال / ایکسٹینشن جوڑیں (نیچے platform steps)۔
- ایکسٹینشن میں Use desktop app چنیں۔
Fill اور save unlocked app سے جاتے ہیں — ان flows کے لیے الگ extension vault unlock نہیں۔
اختیاری: air-gapped bootstrap کے لیے app میں Settings → Browser extension → Copy offline vault link۔
Native messaging جوڑیں
Windows
Settings → Security کھولنے سے openkey_native_host.exe یہاں رجسٹر ہوتا ہے:
HKCU\Software\...\NativeMessagingHosts\com.openselfhosting.openkey
Chromium کے لیے unpacked extension ID یہاں لکھیں:
%LOCALAPPDATA%\OpenKey\chrome_extension_id.txt
پھر Autofill دوبارہ کھولیں تاکہ host manifest دوبارہ بنے۔ Firefox خود [email protected] استعمال کرتا ہے۔
Vault unlocked رکھیں (loopback TCP)۔
macOS
Unlock پر OpenKey openkey_native_host.py انسٹال کرتا ہے اور Chrome / Chromium / Edge / Brave / Firefox NativeMessagingHosts folders میں manifests لکھتا ہے۔
- Unpacked extension load کریں اور ID کاپی کریں۔
- App: Settings → Browser extension → ID paste → Connect extension۔
- Vault unlocked رکھیں → ایکسٹینشن: Use desktop app۔
PATH پر Python 3 درکار۔
Linux
Settings → Security host manifests ~/.config/google-chrome/، Chromium، Edge، اور ~/.mozilla/native-messaging-hosts/ میں لکھتا ہے۔
Chromium extension ID فائل:
~/.local/share/OpenKey/chrome_extension_id.txt
پھر Autofill دوبارہ۔ Firefox [email protected] استعمال کرتا ہے۔
Bridge socket: $XDG_RUNTIME_DIR/openkey-native.sock (vault unlocked رکھیں)۔
Capture شدہ logins محفوظ کریں
Login submit (یا login button / Enter) کے بعد in-page banner Save یا Update پیش کرتا ہے:
- Native bridge — unlocked desktop app پر
createEntry/updateEntry - Standalone — مقامی encrypt اور sync سے ciphertext push
وہی host + username + password نظرانداز؛ بدلا ہوا password update مانگتا ہے۔
Passkeys
ایکسٹینشن unlocked ہونے پر OpenKey سائٹس پر WebAuthn handle کر سکتا ہے۔ In-page dialog تصدیق؛ platform authenticator پر واپس Use browser چنیں۔
Unlock کے بعد smoke test: webauthn.io یا openkey_extension میں npx tsx src/passkey/smoke.test.ts۔
متعلقہ
- ڈاؤن لوڈ اور انسٹال
- ایپ کا استعمال — Autofill اور Browser extension settings
- سرور سیٹ اپ
- سیکیورٹی — extension trust boundary