From f98318e737a01f2dac764730bc34b4a88639d349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Szyma=C5=84ski?= Date: Thu, 19 Aug 2021 16:49:34 +0200 Subject: [PATCH 1/2] Add platform-based user-agent --- index.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index dfb6d28862..f2a7862709 100644 --- a/index.js +++ b/index.js @@ -207,8 +207,23 @@ app.once("browser-window-created", (event, win) => { // Force user-agent "Firefox Windows" for Google OAuth to work // From https://github.com/firebase/firebase-js-sdk/issues/2478#issuecomment-571356751 // Only set on accounts.google.com, otherwise querySelectors in preload scripts fail (?) - const userAgent = - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0"; + // Uses custom user agent to Google alert with a correct device type (https://github.com/th-ch/youtube-music/issues/327) + // User agents are from https://developers.whatismybrowser.com/useragents/explore/ + const userAgents = { + mac: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0", + windows: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", + linux: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36", + } + + const userAgent = "" + + if (process.platform == darwin) { + userAgent = userAgents.mac; + } else if (process.platform == win32) { + userAgent = userAgents.windows; + } else { + userAgent = userAgents.linux; + } win.webContents.session.webRequest.onBeforeSendHeaders((details, cb) => { details.requestHeaders["User-Agent"] = userAgent; From 9df5d921c719f4e0feeced97b18fa6f6e2a6941a Mon Sep 17 00:00:00 2001 From: konhi Date: Fri, 20 Aug 2021 12:33:46 +0200 Subject: [PATCH 2/2] Chrome -> Firefox, simplified using electron-is suggestions by @Araxeus --- index.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/index.js b/index.js index f2a7862709..c54d255511 100644 --- a/index.js +++ b/index.js @@ -211,19 +211,14 @@ app.once("browser-window-created", (event, win) => { // User agents are from https://developers.whatismybrowser.com/useragents/explore/ const userAgents = { mac: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0", - windows: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", - linux: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36", - } - - const userAgent = "" - - if (process.platform == darwin) { - userAgent = userAgents.mac; - } else if (process.platform == win32) { - userAgent = userAgents.windows; - } else { - userAgent = userAgents.linux; + windows: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0", + linux: "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0", } + + const userAgent = + is.macOS() ? userAgents.mac : + is.windows() ? userAgents.windows : + userAgents.linux; win.webContents.session.webRequest.onBeforeSendHeaders((details, cb) => { details.requestHeaders["User-Agent"] = userAgent;