SimpleBrowserDotNet/SimpleBrowser

Use a standard user agent string by default

kevingy opened this issue · 1 comments

The current SimpleBrowser user agent string is:

SimpleBrowser (https://github.com/SimpleBrowserDotNet/SimpleBrowser)

While functional, a more standard format should be used. For example,
Chrome:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36

Firefox:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0

IE:

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

Edge:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362

Opera:

Opera/9.80 (Macintosh; Intel Mac OS X 10.14.1) Presto/2.12.388 Version/12.16

While I typically prefer the way Chrome does things, perhaps SimpleBrowser's default user agent should be more like Opera:

SimpleBrowser/0.6 (Windows NT 10.0; Win64; x64)

SimpleBrowser is not built on Mozilla. I see no reason to continue to perpetuate Microsoft's historically bad behavior by continuing to start a user agent with Mozilla. The only reason to keep it would be to continue to spoof Mozilla. IIS does browser sniffing, using the user agent in part.

Without a UI, SimpleBrowser doesn't have a layout engine.

Helpful links:
https://www.whatismybrowser.com/detect/what-is-my-user-agent
https://developers.whatismybrowser.com/useragents/parse/

Chrome is already taking steps to remove the user agent string in it's entirety. The proposed solution is using User Agent Client Hints, as described here:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-2JIRNMWJ7s/yHe4tQNLCgAJ
While this issue is only to standardize the default user agent string, when this issue is completed, a new issue should be created to investigate implementing UA-CH.