Skip to content

😎 Browser extension that automatically replaces the User-Agent with a randomized one

License

Notifications You must be signed in to change notification settings

tarampampam/random-user-agent

Repository files navigation

logo

Automatically replaces the User-Agent with a randomized one

chrome Β  firefox Β  edge Β  opera

Random User-Agent is an open-source MIT-licensed browser extension that is designed to replace the original browser User-Agent identifier (is a sort of "fingerprint") with a randomized (based on your preferences).

opera

πŸ”₯ Features list

  • Incredibly lightweight (~150KiB archived)
  • Available in the official stores (Chrome, Firefox, Edge, Opera)
  • Can automatically change the User-Agent after a specified period of time
  • Change User-Agent on browser startup
  • Replaces the User-Agent HTTP header
  • Protection against detection by JavaScript
  • User-Agent randomization can be customized by the user (specifying spoofed browsers and OS, etc.)
  • Exceptions list (blacklist/whitelist) available
  • Allows the use of a remote User-Agents list
  • No initial setup needed - just install and forget about the real user-agent leaking

Note

🐞 If you encounter a bug with the extension but don't have a GitHub account (and prefer not to register for one), feel free to email it to [email protected] along with details about how to reproduce the bug, your operating system, and browser. Thank you!

🧩 Installation

Follow up by one of the links at the top πŸ‘† of this page, or download CRX (link) / XPI (link) file directly from the latest release from the releases page.

πŸ›  Where do I can test the functionality?

Open one of the links below both with and without the extension enabled:

Resource Test
What is my User Agent βœ… 5 Passed / ❌ 1 Failed
whoer βœ… Passed
Browser Leaks βœ… Passed
Device Info βœ… Passed
CreepJS βœ… Passed

πŸ“‘ Remote User-Agent List

Due to size limitations in the extension settings storage, you are unable to keep a large custom User-Agent list directly within the extension. Instead, you can host your list elsewhere and provide a link to it in the extension settings.

For example, you can create your own public repository/account on GitHub Gist, GitLab, or similar platforms, and host your list there.

The extension will send a GET request to the provided URL location. The supported list format is as follows:

// Comments like this will be ignored
 # Comments prefixed with '#' will also be ignored

Mozilla/5.0 (Macintosh; Intel Mac OS X 11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4619.141 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4593.122 Safari/537.36

// Additional user-agents can be listed here

Note

πŸ“œ How to translate (localize) this extension?

...or fix translation mistakes. The translation process described here

πŸ‘€ FAQ

Most questions can be answered by reading the issues. If the issues don't answer your question, open up a new discussion. If you find a bug or have a feature request, please file a new issue.

Could this extension actually be making users more uniquely fingerprintable, not less?

Faking your user agent might make you more fingerprintable, not less. There are ways other than User-Agent sniffing to determine what browser you're using, so malicious sites could learn what browser you're really using through other means and then combine that with your randomly changing User-Agent to pretty effectively track you. For background, see this GitHub issue.

Why do hotkeys on some sites no longer work?

This may occur because your User-Agent simulates MacOS - in this case, some websites attempt to handle ⌘ cmd key instead of ctrl. To fix this issue, simply disable the MacOS User-Agent in the extension generator settings.

Are keyboard shortcuts supported?

Yes, keyboard shortcuts are supported. The default shortcut for user-agent renewal is Ctrl+Shift+U. You can change it in your browser settings: chrome://extensions/shortcuts (in Google Chrome).

🦾 Contributors

I want to express my heartfelt gratitude to everyone who has contributed to this project:

contributors

πŸ›‘ Privacy Policy

Important

TL;DR: Random User-Agent has never collected and will never collect any personal data or browsing history.

You can find the full privacy policy text here.

πŸš€ How to publish a release

[!NOTE] This note is for me, so I don't forget anything...

  1. Make the required changes in this repository and test them locally
  2. Publish a new release using the releases page
  3. Open the "Chrome Web Store Developer Dashboard", send a draft to review
  4. Download the main.crx file from the dashboard, rename it to random-user-agent.crx, and upload it to the release on GitHub
  5. Open the "Mozilla add-on developer hub", download the random_user_agent_X.X.X-blabla.xpi file from the dashboard (after receiving Approved status for the version), rename it to random-user-agent.xpi, and upload it to the release on GitHub
  6. Don't forget to update the Edge and Opera stores
  7. Open a bottle of beer; you've earned it!