From 5db3c8b86768a94ed0bc8fc8fe8927bdf637b190 Mon Sep 17 00:00:00 2001 From: josc146 Date: Mon, 30 Oct 2023 23:47:22 +0800 Subject: [PATCH] fix safari background (https://github.com/josStorer/chatGPTBox/issues/512#issuecomment-1774597619) --- safari/project.pre.patch | 2 +- src/background/index.mjs | 84 +++++++++++++++++++++------------------- 2 files changed, 45 insertions(+), 41 deletions(-) diff --git a/safari/project.pre.patch b/safari/project.pre.patch index c7db30fbd..590217bc6 100644 --- a/safari/project.pre.patch +++ b/safari/project.pre.patch @@ -12,7 +12,7 @@ "background.js" ], - "persistent": true -+ "persistent": false ++ "persistent": true }, "browser_action": { "default_popup": "popup.html?popup=true" diff --git a/src/background/index.mjs b/src/background/index.mjs index e0fb90b7a..0282b4b17 100644 --- a/src/background/index.mjs +++ b/src/background/index.mjs @@ -229,49 +229,53 @@ Browser.runtime.onMessage.addListener(async (message, sender) => { } }) -Browser.webRequest.onBeforeRequest.addListener( - (details) => { - if ( - details.url.includes('/public_key') && - !details.url.includes(defaultConfig.chatgptArkoseReqParams) - ) { - let formData = new URLSearchParams() - for (const k in details.requestBody.formData) { - formData.append(k, details.requestBody.formData[k]) +try { + Browser.webRequest.onBeforeRequest.addListener( + (details) => { + if ( + details.url.includes('/public_key') && + !details.url.includes(defaultConfig.chatgptArkoseReqParams) + ) { + let formData = new URLSearchParams() + for (const k in details.requestBody.formData) { + formData.append(k, details.requestBody.formData[k]) + } + setUserConfig({ + chatgptArkoseReqUrl: details.url, + chatgptArkoseReqForm: formData.toString(), + }).then(() => { + console.log('Arkose req url and form saved') + }) } - setUserConfig({ - chatgptArkoseReqUrl: details.url, - chatgptArkoseReqForm: formData.toString(), - }).then(() => { - console.log('Arkose req url and form saved') - }) - } - }, - { - urls: ['https://*.openai.com/*'], - types: ['xmlhttprequest'], - }, - ['requestBody'], -) + }, + { + urls: ['https://*.openai.com/*'], + types: ['xmlhttprequest'], + }, + ['requestBody'], + ) -Browser.webRequest.onBeforeSendHeaders.addListener( - (details) => { - const headers = details.requestHeaders - for (let i = 0; i < headers.length; i++) { - if (headers[i].name === 'Origin') { - headers[i].value = 'https://www.bing.com' - } else if (headers[i].name === 'Referer') { - headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx' + Browser.webRequest.onBeforeSendHeaders.addListener( + (details) => { + const headers = details.requestHeaders + for (let i = 0; i < headers.length; i++) { + if (headers[i].name === 'Origin') { + headers[i].value = 'https://www.bing.com' + } else if (headers[i].name === 'Referer') { + headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx' + } } - } - return { requestHeaders: headers } - }, - { - urls: ['wss://sydney.bing.com/*', 'https://www.bing.com/*'], - types: ['xmlhttprequest', 'websocket'], - }, - ['requestHeaders'], -) + return { requestHeaders: headers } + }, + { + urls: ['wss://sydney.bing.com/*', 'https://www.bing.com/*'], + types: ['xmlhttprequest', 'websocket'], + }, + ['requestHeaders'], + ) +} catch (error) { + console.log(error) +} registerPortListener(async (session, port, config) => await executeApi(session, port, config)) registerCommands()