From cc0a51416dfb853dc9b2f26d228388b70ac39e63 Mon Sep 17 00:00:00 2001 From: John Foerch Date: Sun, 15 Dec 2013 21:23:48 -0500 Subject: [PATCH] user_agent_firefox: util to assist with firefox user agent spoofing --- modules/user-agent.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/user-agent.js b/modules/user-agent.js index c542cbd..734f7a1 100644 --- a/modules/user-agent.js +++ b/modules/user-agent.js @@ -26,3 +26,28 @@ function set_user_agent (str) { } else session_pref(p, str); } + + +/** + * user_agent_firefox returns a Firefox-like user agent string. It is + * alas, not perfect in all configurations, but should suffice for most + * ua-spoofing purposes. + */ +function user_agent_firefox () { + var appinfo = Cc['@mozilla.org/xre/app-info;1'] + .getService(Ci.nsIXULAppInfo); + var platform = { Darwin: "Macintosh", + Linux: "X11", + WINNT: "Windows NT" + }[get_os()] || get_os(); + var geckoversion = appinfo.platformVersion; + var dot = geckoversion.indexOf("."); + var ldot = geckoversion.indexOf(".", dot + 1); + if (ldot > dot) + geckoversion = geckoversion.substring(0, ldot); + var geckotrail = appinfo.platformBuildID.substr(0, 8); + var firefoxversion = geckoversion; + return "Mozilla/5.0 "+ + "("+platform+"; rv:"+geckoversion+") "+ + "Gecko/"+geckotrail+" Firefox/"+firefoxversion; +} -- 2.11.4.GIT