From a05677ab7f4970ef3ec5ec00b8ad817036253a72 Mon Sep 17 00:00:00 2001 From: Hinton Date: Wed, 25 Nov 2020 14:29:53 +0100 Subject: [PATCH] Update manifest generation to work with the electron embeeded proxy --- package.json | 4 ++++ resources/native-messaging.bat | 7 +++++++ src/main/nativeMessaging.main.ts | 20 +++++--------------- 3 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 resources/native-messaging.bat diff --git a/package.json b/package.json index 7d26b73c..6014cb12 100644 --- a/package.json +++ b/package.json @@ -127,6 +127,10 @@ "filter": [ "**/*" ] + }, + { + "from": "resources/native-messaging.bat", + "to": "native-messaging.bat" } ] }, diff --git a/resources/native-messaging.bat b/resources/native-messaging.bat new file mode 100644 index 00000000..45519250 --- /dev/null +++ b/resources/native-messaging.bat @@ -0,0 +1,7 @@ +@echo off +:: Helper script for starting the Native Messaging Proxy on Windows. + +cd ../ +set ELECTRON_RUN_AS_NODE=1 +set ELECTRON_NO_ATTACH_CONSOLE=1 +Bitwarden.exe resources/app.asar %* diff --git a/src/main/nativeMessaging.main.ts b/src/main/nativeMessaging.main.ts index 3f4452e1..cc9b350c 100644 --- a/src/main/nativeMessaging.main.ts +++ b/src/main/nativeMessaging.main.ts @@ -63,7 +63,7 @@ export class NativeMessagingMain { } const firefoxJson = {...baseJson, ...{ 'allowed_extensions': ['{446900e4-71c2-419f-a6a7-df9c091e268b}']}} - const chromeJson = {...baseJson, ...{ 'allowed_origins': ['chrome-extension://ijeheppnniijonkinoakkofcdhdfojda/']}} + const chromeJson = {...baseJson, ...{ 'allowed_origins': ['chrome-extension://nngceckbapebfimnlniiiahkandclblb/']}} switch (process.platform) { case 'win32': @@ -134,24 +134,14 @@ export class NativeMessagingMain { } private binaryPath() { - const isPackaged = process.mainModule.filename.indexOf('app.asar') !== -1; - - if (isPackaged) { - const dir = path.join(this.appPath, '..'); - if (process.platform === 'win32') { - return path.join(dir, 'proxy.exe'); - } - - return path.join(dir, 'proxy'); - } - + const dir = path.join(this.appPath, '..'); if (process.platform === 'win32') { - return path.join(this.appPath, 'proxies', 'app-win.exe'); + return path.join(dir, 'native-messaging.bat'); } else if (process.platform === 'darwin') { - return path.join(this.appPath, 'proxies', 'app-macos.exe'); + return path.join(dir, '..', 'MacOS', 'Bitwarden'); } - return path.join(this.appPath, 'proxies', 'app-linux.exe'); + return path.join(dir, 'proxy'); } private async createWindowsRegistry(check: string, location: string, jsonFile: string) {