hmlendea/gfn-electron

[BUG] spoof-windows is broken

cybik opened this issue · 3 comments

cybik commented

Describe the bug

As titled: spoof-windows is broken. Specifically, if it worked, GeFN would be showing Genshin Impact, one of the rare titles on GeForce NOW which is specifically excluded from the list of games when you use GeFN from Linux.

To Reproduce

  1. Use Client on Linux
  2. Open GeForce NOW
  3. Search for the weeb game
  4. Be sad that it's not there

Screenshots

No response

Operating System

Pop_OS

Desktop Environment

KDE

Display Server

X11

Installation method

Flatpak, Appimage

Version

Latest

Is this a fresh install of the app or an update from a past version?

Fresh

Did this issue appear right away upon installation/updating, or spontaneously?

Yes

Additional context

No response

Update: Although the message below appeared, I found that I was able to load Apex Legends which is a free to play AAA Windows only game, so it seems to be working for that title, so maybe perhaps the OP should try it out. I used gfn-electron 1.10.0-1 from AUR.

I am not certain if this needs to be added, but when attempting to launch gfn --spoof-windows --trace-warnings the following was spit out, but the program launches and does appear, not sure is there a need to check further or if there's something else that is helpful:

$ geforcenow --spoof-windows --trace-warnings Using user agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Process arguments: /opt/geforcenow-electron/geforcenow-electron,--spoof-windows,--trace-warnings (node:27571) UnhandledPromiseRejectionWarning: Error: Could not connect at Socket.onerror (/opt/geforcenow-electron/resources/app/node_modules/discord-rpc/src/transports/ipc.js:32:16) at Object.onceWrapper (node:events:642:26) at Socket.emit (node:events:527:28) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) (Use geforcenow --trace-warnings ...to show where the warning was created) (node:27571) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
$ inxi -G
Graphics:
Device-1: AMD Cezanne driver: amdgpu v: kernel
Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3 driver: X:
loaded: amdgpu unloaded: fbdev,modesetting,vesa gpu: amdgpu
resolution: 1920x1080~60Hz
OpenGL: renderer: AMD RENOIR (LLVM 14.0.6 DRM 3.47 5.19.10-arch1-1) v: 4.6
Mesa 22.1.7
OS:
OS: RebornOS Linux [x86_64]
Kernel: 5.19.10-arch1-1
DE: XFCE/X11

M2rsh commented

Chromium with changed user agent (https://github.com/ray-lothian/UserAgent-Switcher/)
GET /cloudvariables/v3?cvName=BrowserClientCanary&deviceId=70746a7a-e3be-4c97-81a5-6b36c08841f4&userId=undefined&idpId=undefined&clientId=78589530426925203&clientVer=2.0.46.112&clientVariant=Release&deviceOS=Windows&deviceType=Desktop&deviceMake=undefined&deviceModel=undefined&deviceOSVersion=undefined&clientType=Browser&browserType=Chromium&clientParams=%7B%22osName%22:%22WINDOWS%22,%22domain%22:%22play.geforcenow.com%22,%22path%22:%22%2Fmall%2F%22%7D
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36

While on electron
GET /cloudvariables/v3?cvName=BrowserClientCanary&deviceId=5a956349-4caa-42e9-bdea-b072f94dbe9a&userId=g2vofnTjNE6vwA1jH3IFOfF7S48VKBKbi_Napx_Na5U&idpId=PDiAhv2kJTFeQ7WOPqiQ2tRZ7lGhR2X11dXvM4TZSxg&clientId=78589530426925203&clientVer=2.0.46.112&clientVariant=Release&deviceOS=Linux&deviceType=Desktop&deviceMake=undefined&deviceModel=undefined&deviceOSVersion=5.10.0&clientType=Browser&browserType=Chrome&clientParams=%7B%22osName%22:%22LINUX%22,%22domain%22:%22play.geforcenow.com%22,%22path%22:%22%2Fmall%2F%22%7D
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36

It seems like User Agent wasn't spoofed properly I'll try to fix it
For now you can just use Chromium or Chrome with User Agent switcher

Closing, as this should have been fixed as part of #184. If it still persists, feel free to comment and/or reopen this issue.