• Stars
    star
    567
  • Rank 78,285 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ˜Ž Browser extension that automatically replaces the User-Agent with a randomized one

logo

Automatically replaces the User-Agent with a randomized one.


Chrome Web Store ย  Firefox Add-ons ย  Edge Addons ย  Opera Addons

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). The extension is incredibly lightweight, using very few resources.


promo-tile

๐Ÿ”ฅ Features list

  • Incredibly lightweight (~100KiB 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 User-Agent HTTP header
  • Protect against detection by JavaScript
  • User-Agent randomization can be customized by the user (what browsers and OS are spoofed, etc.)
  • Exceptions list (blacklist/whitelist) available with option of wildcards
  • Allows using the remote User-Agents list
  • Doesn't need initial setup - just install and forget about the real user-agent leaking

๐Ÿ“ท Screenshots

Popup General settings Generator settings Blacklist settings
popup general generator blacklist

๐Ÿงฉ 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 with and without the extension enabled:

Resource Test
What is my User Agent โœ… 3 Passed / โŒ 3 Failed
Browser Information (BrowserSPY) โœ… Passed
whoer โœ… Passed
Browser Leaks โœ… Passed
Device Info โœ… Passed
CreepJS โŒ Failed

๐Ÿ“ก Remote User-Agents list

Because the extension settings storage has size limitations - you don't have the option of keeping a large custom User-Agents list. Instead, you can place your list somewhere and link to it in the extension settings.

For example, you can create your own public repository/account on GitHub / GitLab / PasteBin / etc. and host your list on it.

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

// will be ignored
 # will be ignored too

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

// ...

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

...or fix translation mistakes. The translation process described here (related issue).

๐Ÿ‘€ Questions

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

This extension may 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.

Hotkeys on some sites no longer work, why?

This may occur because your User-Agent simulates MacOS - in this case, some websites make an attempt to handle โŒ˜ cmd key instead of the ctrl. For fixing this issue just disable MacOS User-Agent in the extension generator settings.

Are keyboard shortcuts supported?

Sure - user-agent renewal (Ctrl+Shift+U by default). You can change it in your browser settings: chrome://extensions/shortcuts (in Google Chrome).

How to install it on Firefox Mobile?

Following this guide you need to specify a collection ID to install the addon:

image image

Enter 14112060 / rua. After you tap "OK", the application will close and restart.

๐Ÿ–ฅ๏ธ Run Locally

After cloning the project, open the terminal and navigate to the project root directory (since I am a Linux adept, for the following commands installed docker and make are required):

$ make install # install all node dependencies

$ make watch # watch for source changes

$ make shell # start shell into a container with node

$ make build # build the extension

After make watch command you can:

  1. Open chrome and navigate to extensions page using this URL: chrome://extensions
  2. Make sure "Developer mode" is enabled
  3. Click "Load unpacked extension" button, browse the ./dist directory and select it
  4. Write something awesome (don't forget to make a PR after that)

๐Ÿฆพ Contributors

I want to say a big thank you to everyone who contributed to this project:

contributors

And a special thanks to @neroux - dude, you're awesome

๐Ÿ›ก Privacy Policy

Random User-Agent had never collected and will never collect any personal data, browsing history etc.

Full privacy policy text can be found here.

๐Ÿš€ How to publish a release

This note is for me, so as not to forget anything...

  1. Make required changes in this repository, test it locally
  2. Update changelog file and "publish" new release using repo releases page
  3. When the CI process is done - download the file random-user-agent.zip to my computer
  4. Open "Chrome Web Store Developer Dashboard" and click the "Upload new package" button, next, next... Publish
  5. Download the main.crx file from the dashboard, rename it to the random-user-agent.crx and upload to the release on GitHub
  6. Open "Mozilla add-on developer hub", "Select a file...", next, next, download the extension sources archive, upload it to hub, next, Publish
  7. Download the random_user_agent_X.X.X-blabla.xpi file from the dashboard (after getting Approved status for the version), rename it to the random-user-agent.xpi and upload to the release on GitHub
  8. Don't forget to update fkn edge and opera stores
  9. Open a bottle of beer, I've earned

More Repositories

1

error-pages

๐Ÿšง Pretty server's error pages in the docker image & git repository (for traefik, k8s, nginx and so on)
Go
823
star
2

domains

๐ŸŒ DNS configuration for some of my domains
JavaScript
777
star
3

mikrotik-hosts-parser

โœ‚ Mikrotik hosts parser
Go
249
star
4

laravel-roadrunner-in-docker

๐Ÿš€ An example of Laravel app that runs in a docker container with RoadRunner
PHP
176
star
5

webhook-tester

๐Ÿ”ญ The powerful tool to test webhooks and not only
Go
171
star
6

3proxy-docker

๐Ÿ“ฒ Docker image with 3proxy - Tiny free proxy server
Dockerfile
120
star
7

nod32-update-mirror

๐Ÿ”ถ [WIP] ESET Nod32 Updates Mirror
Shell
107
star
8

tinifier

๐Ÿผ CLI client for images compressing using tinypng.com API
Go
76
star
9

node-docker

๐Ÿณ Docker image, based on node, with git, bash, and openssh
Dockerfile
51
star
10

indocker-app

๐Ÿ’ฅ Domain names with valid SSL for your local docker containers
Go
33
star
11

curl-docker

๐Ÿฆพ curl (static binary file) in a scratch docker image
Dockerfile
22
star
12

mustpl

๐Ÿงฐ Logic-less CLI templating tool
C
21
star
13

hydra-docker

๐Ÿ™ Dockerized hydra application
Dockerfile
6
star
14

rssbot-docker

๐Ÿค– Docker image with lightweight Telegram RSS notification bot
Dockerfile
5
star
15

colors

๐Ÿฆœ One more Go library for using colors in the terminal console
Go
4
star
16

go-filecache

โšก File-based cache with entries expiration, checksum validation and others
Go
3
star
17

tarampampam

โœจ I found a secret โœจ
HTML
2
star
18

http-proxy-daemon

๐Ÿ’Ž Http Proxy Daemon
Go
2
star
19

arduino-deps-installer

๐ŸŽฏ Arduino sketch dependencies installer
Go
1
star
20

urfave-cli-docs

๐Ÿ“š CLI usage docs generator (markdown)
Go
1
star
21

arduino-elscooter-lighting

๐Ÿ”ฉ My electric scooter lighting firmware
C++
1
star