Jump to content

Spoofing Firefox 53 (and newer versions) on Windows 2000 and XP

Recommended Posts

The preference name is just general.useragent.override, not "general.useragent.overridepreference." I don't know where you got that. You are correct that it is a string.

The format of a Firefox user agent string is Mozilla/5.0 (Windows NT %OSVersion%; [WOW64;] rv:%BrowserVersion%) Gecko/20100101 Firefox/%BrowserVersion%. Note that everything has to be exact, including the spacing. That's tripped me up before.

Type everything in bold exactly as above. Replace %OSVersion% with:

  • 5.1 to report XP
  • 6.0 to report Vista
  • 6.1 to report Windows 7
  • 6.2 to report Windows 8
  • 6.3 to report Windows 8.1
  • 10.0 to report Windows 10

You can include the WOW64; to report a 64-bit Windows version (usually not necessary).

Replace %BrowserVersion% with the version of Firefox you want to report. Note that versions 57.0 and above will break Instagram, as reported in that thread. However, anything below 60.0 will cause WhatIsMyBrowser.com to report an "obsolete" browser.

The only way to fix both issues is with "site-specific " user agent overrides, so that you can send different user agent strings to Instagram.com and WhatIsMyBrowser.com. Please read @VistaLover's post above for the instructions on enabling those.

Link to comment
Share on other sites

i tried and did what you said

this is what i have

general.useragent.overide       Mozilla/5.0 (Windows NT 6.1;rv:53.0) Gecko/20100101 Firefox/53.0   ( is this format right )

but whatismybrowser still reports as 52

when I first did it, it worked ok, but doesnt seem to want to after a firefox reset

i even tried doing Mozilla/5.0 (Windows NT 6.1; rv:66.0) Gecko/20100101 Firefox/66.0       still does same whatismybrowser reports as 52

is there a space between ; and rv


even going to exteme general.useragent.overide;Mozilla/5.0 (Windows NT 6.1;rv:67.0) Gecko/20100101 Firefox/67.0

shows above

Edited by DrWho3000
Link to comment
Share on other sites

56 minutes ago, DrWho3000 said:

is this format right

If you head over to about:support, you'll be able to see the global user-agent string of your Firefox browser: 


I can't tell whether it's a typo on your part, but override has 2 "r"s ! So, in order to spoof as Fx 53.0 on Win7, the name of the about:config "string" pref should read:


and its value:

Mozilla/5.0 (Windows NT 6.1; rv:53.0) Gecko/20100101 Firefox/53.0

Setting that pref and restarting the browser, you'll be able to see the modified global UA string in about:support.

Global UA means the same one is sent in the headers of all web requests; SSUAO (Site-Specific-User-Agent-Override) means a different to the global one is being sent when a web request is being made to the domain specified in the pref's name...

If you followed my guide and enabled SSUAOs in FxESR 52.9.1, then to spoof as Fx 66.0 on Win7 to


you need create a "string" about:config pref with name


and value:

Mozilla/5.0 (Windows NT 6.1; rv:66.0) Gecko/20100101 Firefox/66.0

For good measure, restart the browser after setting the above SSUAO (normally, it should work right-away...).

I hope it's more clear now... :)

Edited by VistaLover
Link to comment
Share on other sites

53 minutes ago, DrWho3000 said:

when I first did it, it worked OK, but doesn't seem to want to after a Firefox reset

A Firefox reset wipes out everything you did!

Mozilla is way too happy to "suggest" a Firefox reset if you're having problems. But it resets everything; wiping out all your prefs and all  your add-ons!

Never do a Firefox reset except as a last resort if Firefox is completely broken and you need to start from scratch!

Link to comment
Share on other sites

that's briliant, I didn't spot mistake in override corrected and it works

looks like I will have to forgo instagram (no great loss)


tried followig your guide for SSUAOs

Create the following text file

pref("general.config.obscure_value", 0); pref("general.config.filename", "config.js");

rename it to "config-prefs.js" (make sure no hidden .txt extension is present) and place it inside


(a file named "channel-prefs.js" should already be there by default)

but I can't find in any of the firefox folders a file config-prefs.js or config.js

where is the firefix install folder


Link to comment
Share on other sites

DrWho3000 said:

but I can't find in any of the firefox folders a file config-prefs.js or config.js

No, you shall create those manually, brandnew.

1) c:/programs/firefox/browser/defaults/preferences/config-prefs.js
content: the 2 prefs above

2) can't remember where, guess either in folder firefox or folder browser...
Link to comment
Share on other sites

28 minutes ago, DrWho3000 said:

where is the firefix install folder

It depends on where you installed Mozilla Firefox on your system; the "installation" could have been a "proper" one via the provided installer; if you accepted default settings and the OS resides in the C drive, it should be in

"C:\Program Files\Mozilla Firefox\"

The above is for a 32-bit OS (well, actually it also covers 64-bit Firefox in a 64-bit OS, but that is out of scope here...)  %ProgramFiles% env var should be used for non-default OS installations... 
If you changed the default location during installation, only you know where that is...

Second scenario is for people that don't use an installer, but a zip package; I should include in this case people running so-called "portable" installations (in PAF or WinPenPack formats); in all these cases, Firefox installation directory is where the main executable, firefox.exe, resides!

(The following is from a previous FirefoxESR 24.8.1 "proper" installation on my Vista laptop:



Link to comment
Share on other sites

To create a SSUAO, just create a new string pref with the name:

general.useragent.override.<site name>

... and then make the value the user agent string you want to send to that site.

For example:

general.useragent.override.instagram.com = Mozilla/5.0 (Windows NT 6.1; rv:52.9) Gecko/20100101 Firefox/52.9

This will send FF version 52.9 (on Win 7) to instagram.com, even if your default user agent is something different, such as FF version 60.9. Now you can fool whatismybrowser.com into thinking your browser is the latest, without breaking instagram.com!

Link to comment
Share on other sites

On 3/24/2019 at 1:28 AM, Sampei.Nihira said:

In the image below my string for the single website in NM28.

To make the website work I masked XP for W.10 and inserted a version number of Firefox that doesn't force me to make frequent changes.

It works !!:



how do you set the Status to default instead of user set in Firefox

I;ve noticed if you have this

general.useragent.override   Mozilla/5.0 (Windows NT 6.1; WOW64; rv:66.0) Gecko/20100101 Firefox/66.0

it breaks this https://accounts.firefox.com/settings

you can't get to it same as instagram but setting back to Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

you can get to your firefox settings account

.if I set browser to 53 then do this
general.useragent.override.whatismybrowser;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:66.0) Gecko/20100101 Firefox/66.0

it still reports as out of date

what am i doing wrong


Edited by DrWho3000
Link to comment
Share on other sites

I'm still not sure where to do the ssauo's is it in the about: config

or in one of the config files i created and put in the relevant folders


if  i have this set to general.useragent.override;Mozilla/5.0 (Windows NT 6.1; rv:67.0) Gecko/20100101 Firefox/67.0

i can get to alot of sites but some if not a few get broken you cant reach unless its a lower version, i encountered this earlier regardless of browser version or OS verssion stated.

if I do general.useragent.override;Mozilla/5.0 (Windows NT 6.1; rv:53.0) Gecko/20100101 Firefox/53.0  i can get to most but odd one no go

but if i if I do general.useragent.override;Mozilla/5.0 (Windows NT 6.1; rv:53.0) Gecko/20100101 Firefox/53.0

in the main one then a new string as

general.useragent.override.whatismybrowser;Mozilla/5.0 (Windows NT 6.1; rv66.0) Gecko/20100101 Firefox/66.0   still reportss as out of date

then as another string so there is 2

i have a few general.useragent.override set to 67,

can't figure this out

i'm sure i followed guide properly doing the 2 txt files and put in right folders

this what shows


Edited by DrWho3000
Link to comment
Share on other sites

you need to add the full domain to the override pref name, incl. ".com" or whatever a domain ends with, not just the first part. Subdomains in the beginning can be omitted though, e.g. "www."
As others have written many times above, in clear examples.

There are several possibilities where they can be defined (just like any other pref too):

1) A bunch of predefined site-UAs in original browser builds come inside omni.ja.
If unzipped can be discovered hiding in a giant melting pot file with almost 2000 default prefs. File name goanna.js, or greprefs.js, all.js etc, depending on the browser version.
Update (thanks Mathwiz in next post): ...or in newer browsers in file (browser installation folder)\browser\omni.ja\defaults\preferences\(browsername)-branding.js - or not at all in omni.ja anymore.
Those default prefs can also be viewed and customized on about:config, unless overruled by 2) to 4)
Omni.js is by far the most user-hostile place :( But at least it has the lowest priority. The prob is that just about no user is aware where those mysterious default site-UAs are coming from, and especially how to get rid of them when later becoming outdated. Would be much easier on users if fork-builders would define all their predefined site-UAs instead in a separate file, in place 2:

2) The best possibility to define user friendly default prefs:
written in any file in folder ...firefox.../browser/defaults/preferences/.....js
That place makes them "default" values too, and has priority over 1)
In very old browsers the path is ...firefox.../defaults/pref/....js
For easy maintenance users can simply create a new file there themselves, e.g. called myuseragents.js

3) the normal way for users: define personally customized site-UAs in the profile folder.
By manually adding them in about:config, or by using an extension.
Adding or changing them in about:config will automatically store the new values in file prefs.js in the profile folder.
(except if now matching the default value again, then the browser will delete them from the profile, but that's another story)

4) very unusual but possible: users can store any prefs that are important to them in the profile in user.js. That will make them "startup prefs". Those can be changed during a session in about:config, but at next browser start the value from user.js will be imported again.

5) If an Addon is used for managing useragents, most of those seem to store settings instead in their own ways, in files in the profile, overruling Mozilla's pref system. (Tip for K-Meleon users: my macro useragents2018 manages only the 'normal' mozilla prefs, like the old traditional KM macro too, and leaves the handling itself to the engine)

Dave-H said:

I'm not sure if this option is present on all settings, but if you right click on the entry there will probably be an option to reset it to the default.

That depends. Have examined exactly this prob last year, and find it a huge prob that predefined ones are tossed nearly inaccessible for users inside omni.ja :(
Yes, right-clicking in about:config and resetting a pref to default will delete all custom values.
If a site UA has no default value at all, it will be deleted as expected, and afterwards the general override UA can kick in again.
Catch: but if a site-UA does have a default value, defined in 1) or 2), resetting it in about:config will only reset it to that value again. The trick is: do not reset, but instead set it to a completely empty string. Now the general UA seems to work again.
Edited by siria
Link to comment
Share on other sites

Thanks, @siria; that's a good start. But let me flesh things out a bit: for FF/PM/NM/Basilisk/Serpent, the preconfigured SSUAOs are found in <browser installation folder>\browser\omni.ja\defaults\preferences\<browser>-branding.js. The precise path is important because these browsers include two omni.ja archives, each of which contain too many paths to manually search.

The branding file for FF 52.9 contains no SSUAOs, of course, since SSUAOs are disabled by default in FF 52.9.

Oddly, the branding file for Serpent 55 is named firefox-branding.js, not basilisk-branding.js. I guess MCP dropped the Moebius branch before they got around to renaming the files. ;)  As with FF 52.9, Serpent 55 comes with no preconfigured SSUAOs.

Link to comment
Share on other sites

Thanks Mathwiz, have updated above.
Am not quite up-to-date with newest builds, usually just focussing on KM-Goanna, with KG76 having the PM27 engine inside. Now downloaded NM28 too and unzipped it. So they have hidden those site-prefs yet deeper inside, sigh. And other newer browsers don't contain them at all anymore? Good to know.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...