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] Add platform-based user-agent --- index.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index dfb6d288..f2a78627 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;