cassidyjames / ephemeral

A private-by-default, always-incognito browser for elementary OS
https://cassidyjames.com
GNU General Public License v3.0
154 stars 21 forks source link

Enable spoofing of user agent header #37

Open LynuxDevz opened 5 years ago

LynuxDevz commented 5 years ago

The app is great! I really would like to come back to a more lightweight, private WebKitGTK based browser instead of the resource-heavy firefox, however, one biggest drawbacks for me is the lacking of spoofing the user agent header, as that would make fingerprinting easier.

Artem Anufrij seems to have accomplished spoofing the user agent header in WebKit, potentially enabling the use of WhatsappWeb on Webpin (Issue)

cassidyjames commented 5 years ago

@LynuxDevz would you expect the app to always spoof a specific user agent, or for it to be configurable in some way?

LynuxDevz commented 5 years ago

Sorry for typo and the late response, I do believe the app should play on the safe side and spoof to Chrome in W10, (as now, the most used desktop/browser combination), however, it would be nice as well to customize the UA via dconf.

cassidyjames commented 5 years ago

@LynuxDevz I'm not in favor of spoofing an entirely different platform due to the weirdness that can cause when sites assume you're on Windows and offer different downloads or behave differently—it seems like that would be unpredictable and unexpected behavior from a user's perspective.

cassidyjames commented 5 years ago

I might approach this like I approached search engines; a couple of sane default options and then a "custom" free entry option.

sidevesh commented 4 years ago

@cassidyjames can we implement a custom option with certain set of options to choose from using a dropdown ? That will allow users to check choose whatever works best on a per site basis. This would be really helpful feature because some sites like Instagram disable features unless opened on mobile. In case of Instagram direct messages is possible on mobile but not on desktop. Could help out in implementing this if you are interested :)

cassidyjames commented 4 years ago

The risk I see with remembered per-site settings is that it goes against the ephemeral nature and would require storing data about sites visited. It would certainly be technically possible, but I think I would prefer a global setting that is easily changeable on the fly, like the search engine. Design wise I'll probably just model it directly off the search engine UI and back-end where there is a default setting, a couple of common defaults, and a “Custom…” entry with a dialog.

sidevesh commented 4 years ago

@cassidyjames sorry there, by per site I actually meant per web app created using webpin. In the menu shown when creating a new web app, along with name, color etc we can also allow user to choose the user agent from a drop down (or even a simple load as mobile site option will do).

cassidyjames commented 4 years ago

@SiDevesh this app/repo has nothing to do with WebPin...

sidevesh commented 4 years ago

oops, really sorry, added this by mistake here.

janxkoci commented 4 years ago

Funny conversation :smile: but at the beginning I thought @SiDevesh meant to have kind of "custom presets" that he can use on sites he often visits and needs different UA to use them. That would basically just require the ability to save the custom UAs as another menu option or something like that.

PS: Whatsapp stopped working in Webpin, but it was fixed directly in WebKitGTK using a quirk, see https://github.com/artemanufrij/webpin/issues/9#issuecomment-590094723