GithubHelp home page GithubHelp logo

Comments (23)

hmlendea avatar hmlendea commented on August 17, 2024 10

Closing this as OS spoofing is getting removed (See #209), and also Genshin Impact is only available on GFN on Windows.

from gfn-electron.

Doc-4 avatar Doc-4 commented on August 17, 2024 10

It is a website after all, and the web is open and platform agnostic. Until they say it goes against their terms to get a decent settings menu and access to all games by obfuscating your OS, I see no reason to accept their odd preferential treatment of windows. I respect your decision even if I don't agree, thank you for your work up until this point.

from gfn-electron.

Flameish avatar Flameish commented on August 17, 2024 3

I mentioned it here for others because it's a place you'll find if you're looking for a workaround, as I haven't found one yet.

from gfn-electron.

kvakl-brodakl avatar kvakl-brodakl commented on August 17, 2024 2

Same. Used appimage.
I suspect that the problem may be with navigator.userAgentData (which allows to get real userAgent platform, even if you spoof it with Windows one).
I encountered this problem few month ago when trying to play on gfn through Chrome. I used --disable-features=UserAgentClientHint flag when running Chrome which seemed to solve the problem (it just disables userAgentData which in turn forces geforce to check spoofed user agent, believing that you are on windows).
Maybe you can add support to such flag for gfn-electron and it may solve the problem.
Would be great if you do )

from gfn-electron.

orion715 avatar orion715 commented on August 17, 2024

I am seeing this too, i no longer have the higher resolution options I had yesterday.

from gfn-electron.

OishiMula avatar OishiMula commented on August 17, 2024

Same here! Literally two days ago and no longer showing.

from gfn-electron.

Doc-4 avatar Doc-4 commented on August 17, 2024

Here to say the same, spoof option seems to fail.

from gfn-electron.

NettoHikari avatar NettoHikari commented on August 17, 2024

Good hint, thank you.

I used --disable-features=UserAgentClientHint flag when running Chrome which seemed to solve the problem (it just disables userAgentData which in turn forces geforce to check spoofed user agent, believing that you are on windows).

Does this still work, though? I just ran the Chrome flatpak (flatpak run com.google.Chrome --disable-features=UserAgentClientHint) and GFN still seems to know that I'm not on Windows.

from gfn-electron.

Doc-4 avatar Doc-4 commented on August 17, 2024

I believe that argument is something for chrome, not necessarily GFN. Unless GFN has all these flags built in it will probably require a fix in a new release. I don't know much about UA hints or I'd try to troubleshoot it myself

from gfn-electron.

kvakl-brodakl avatar kvakl-brodakl commented on August 17, 2024

Does this still work, though? I just ran the Chrome flatpak (flatpak run com.google.Chrome --disable-features=UserAgentClientHint) and GFN still seems to know that I'm not on Windows.

Did you install user agent switcher extension with windows user agent?
I use this one: https://chrome.google.com/webstore/detail/user-agent-switcher/kchfmpdcejfkipopnolndinkeoipnoia
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36

from gfn-electron.

kvakl-brodakl avatar kvakl-brodakl commented on August 17, 2024

I believe that argument is something for chrome, not necessarily GFN. Unless GFN has all these flags built in it will probably require a fix in a new release. I don't know much about UA hints or I'd try to troubleshoot it myself

I'm not sure on which logic gfn-electron works. I noticed in logs that it uses UserAgent, so I thought that maybe it can also pass this flag. (It doesn't work now, I tried passing this flag to gfn-electron and it just ignores it I think)

from gfn-electron.

Galcian79 avatar Galcian79 commented on August 17, 2024

Does this still work, though? I just ran the Chrome flatpak (flatpak run com.google.Chrome --disable-features=UserAgentClientHint) and GFN still seems to know that I'm not on Windows.

Did you install user agent switcher extension with windows user agent? I use this one: https://chrome.google.com/webstore/detail/user-agent-switcher/kchfmpdcejfkipopnolndinkeoipnoia Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36

I just did that on Chrome. It still detects it as non Windows.

from gfn-electron.

Galcian79 avatar Galcian79 commented on August 17, 2024

BTW, just out of curiosity, this is a very interesting discussion on the subject:
https://security.stackexchange.com/questions/47467/can-a-website-determine-what-os-or-webbrowser-a-visitor-is-using-if-the-useragen

from gfn-electron.

kvakl-brodakl avatar kvakl-brodakl commented on August 17, 2024

I just did that on Chrome. It still detects it as non Windows.

Strange, it works for me... Also I turned off cache for geforce now in developer tools > network (there is a checkbox)... Maybe you can try this...
Also what I want to note - even if it works fine in chrome, if I open incognito mode (still with user agent, with flag and turn off the cache) - geforce still is able to detect me as non windows and block some games...

from gfn-electron.

Galcian79 avatar Galcian79 commented on August 17, 2024

I just did that on Chrome. It still detects it as non Windows.

Strange, it works for me... Also I turned off cache for geforce now in developer tools > network (there is a checkbox)... Maybe you can try this... Also what I want to note - even if it works fine in chrome, if I open incognito mode (still with user agent, with flag and turn off the cache) - geforce still is able to detect me as non windows and block some games...

It doesn't change anything. It is strange indeed, because whatismybrowser.com detects WINDOWS NT 10.0

from gfn-electron.

Galcian79 avatar Galcian79 commented on August 17, 2024

Supposing the issue is not on my side alone, i wonder if they could write a Java exploit to blindly parse uname -r on every accessing client.

from gfn-electron.

Flameish avatar Flameish commented on August 17, 2024

You can install the windows version of chrome via wine which seems to be working (my mouse input is really laggy through but playing via a controller works fine). The option to pick 1440p is showing at least, which is more than the Linux Chrome version is showing.

Screenshot from 2023-09-23 12-33-29

from gfn-electron.

Doc-4 avatar Doc-4 commented on August 17, 2024

Respectfully, the point of raising the issue is to get it fixed, most of us know there are workarounds. The point of this client is to not have that overhead. I hope the dev comments soon, I use this to play genshin on steam deck currently, and it's been broken for a few weeks now

from gfn-electron.

Mageti avatar Mageti commented on August 17, 2024

I do not know if that can help, but when I opened the devtools, I saw that the header "Sec-Ch-Ua-Platform" changed after a particular request.
It starts with requests having the spoofed header with "Windows", as intended.
Then 1 or 2 requests are made to https://www.nvidia.com/auth/hints/, without the spoofed header.
And after that every other requests are made with the value "Linux" in this header.
Capture before hints
Capture of the hints
Capture after hints

ATM, I am not sure what this hints script does, but it succeed in finding it runs on a linux, and then it totally bypass the parameters done in electron, overriding them with its own finding.

EDIT : just to add the precision that I had it run after rm -rf ~/.config/GeForce\ NOW/, and I get the same thing everytime

from gfn-electron.

Galcian79 avatar Galcian79 commented on August 17, 2024

I do not know if that can help, but when I opened the devtools, I saw that the header "Sec-Ch-Ua-Platform" changed after a particular request. It starts with requests having the spoofed header with "Windows", as intended. Then 1 or 2 requests are made to https://www.nvidia.com/auth/hints/, without the spoofed header. And after that every other requests are made with the value "Linux" in this header. Capture before hints Capture of the hints Capture after hints

ATM, I am not sure what this hints script does, but it succeed in finding it runs on a linux, and then it totally bypass the parameters done in electron, overriding them with its own finding.

EDIT : just to add the precision that I had it run after rm -rf ~/.config/GeForce\ NOW/, and I get the same thing everytime

Are you sure you disabled User Agent Client Hints before taking the test?

from gfn-electron.

Mageti avatar Mageti commented on August 17, 2024

Here is the command line I used : geforcenow --spoof-windows --disable-rpc.
It's here :

app.commandLine.appendSwitch('disable-features', 'UserAgentClientHint');

And in the file /opt/geforcenow-electron/resources/app/scripts/main.js, I added these lines at line 28, to be sure :

app.commandLine.appendSwitch(                                                                                                                                                                                                                 
  'disable-features',                                                                                                                                                                                                                         
  'UserAgentClientHint'                                                                                                                                                                                                                       
);                                                                                                                                                                                                                                            

As well as I added the second details.requestHeaders here between lines 71 and 85, even if I am pretty sure it does nothing :

  if (process.argv.includes('--spoof-windows')) {                                                                                                                                                                                             
    session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {                                                                                                                                                            
      details.requestHeaders['sec-ch-ua-platform'] = 'Windows';                                                                                                                                                                               
      details.requestHeaders['Sec-Ch-Ua-Platform'] = 'Windows';                                                                                                                                                                               
      callback({ cancel: false, requestHeaders: details.requestHeaders });                                                                                                                                                                    
    })                                                                                                                                                                                                                                        
  }

from gfn-electron.

Mageti avatar Mageti commented on August 17, 2024

Could it be related to this bug ?
electron/electron#30201 (comment)

from gfn-electron.

MarcBittner avatar MarcBittner commented on August 17, 2024

Closing this as OS spoofing is getting removed (See #209), and also Genshin Impact is only available on GFN on Windows.

This is a useful feature that exposes existing functionality. Removing it is lame and I find the reasoning unconvincing.

from gfn-electron.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.