Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rotating User Agent #273

Closed
arch-btw opened this issue Mar 29, 2020 · 7 comments
Closed

Rotating User Agent #273

arch-btw opened this issue Mar 29, 2020 · 7 comments

Comments

@arch-btw
Copy link
Contributor

I would like to propose a rotating user agent in ElectronMail to (partially) mitigate potential accounts association in worst case scenarios.

@vladimiry
Copy link
Owner

vladimiry commented Mar 29, 2020

Referencing related issue. So currently the app strips out the electron/app specifics from the user agent to make it look like a regular Chrome browser.

@arch-btw
Copy link
Contributor Author

Thank you @vladimiry

How about something like this?

Screenshot_20200329_071435 (1)

We could have them rotate through a list of random user agents on every logon.

A list of user agents can be found here: https://developers.whatismybrowser.com/useragents/explore/

@vladimiry
Copy link
Owner

vladimiry commented Apr 11, 2020

Here is how to enable to option for the specific email account:
rotate-user-agent-option

Here is the default user agents list:

userAgents: [
/* eslint-disable max-len */
"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 YaBrowser/18.3.1.1232 Yowser/2.5 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 OPR/56.0.3051.52",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 Edg/80.0.361.69",
"Mozilla/5.0 (X11; CrOS x86_64 12739.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4102.3 Safari/537.36",
"Mozilla/5.0 CK={} (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
/* eslint-enable max-len */
],

The list is saved in the config.json file which is located in the setting folder, so the list can be manually modified if needed. It's recommended to use Chrome-based user agents since if proton-web-client detects some browser capabilities based on the user-agent instead of using a feature-detection approach then some things might get broken since Electron comes with Chromium browser built-in.

@vladimiry
Copy link
Owner

The work-in-progress build with enabled feature is uploaded here.

@arch-btw
Copy link
Contributor Author

@vladimiry you are so great !!!!!!! Thank you!

@User486375
Copy link

@arch-btw How exactly do you see this feature benefiting the avoidance of account association in its default state? As opposed to just blending in with the latest Chrome version for example.

vladimiry added a commit that referenced this issue Apr 28, 2021
* the list won't be updated if user has changed the default value
* ref: #273
vladimiry added a commit that referenced this issue Apr 28, 2021
* the list won't be updated if user has changed the default value
* ref: #273
vladimiry added a commit that referenced this issue Apr 29, 2021
* the list won't be updated if user has changed the default value
* ref: #273
vladimiry added a commit that referenced this issue Nov 16, 2021
 * The list won't be updated if user has changed the default value.
 * Refs: #273.
@vladimiry
Copy link
Owner

vladimiry commented Apr 21, 2022

Since v4.15.0 the user agent rotation feature gets replaced with an optional per account "user agent" string value. The change reduces the code complexity and overall feature understanding.

user-agent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants