One of my pet peeves about Firefox is its lack of native ability to be centrally managed.
- Create the appropriate preference file. For the Mac version of Firefox it is Firefox.app/Contents/Resources/defaults/pref/macprefs.js
- Add the following lines to the preference file:
//Added for Centralized Firefox Management
pref("general.config.obscure_value", 0); // takes out ROT-13 encoding on config file
pref("general.config.filename", "firefox.cfg"); //points to the config file that you create
- Create the file “firefox.cfg” in the Resources folder of the Firefox install. For Mac clients this is Firefox.app/Contents/MacOS/Resources/
- In the firefox.cfg file enter the following (replace the URL (https://www.example.com/autoconf.js) with the URL for your web server):
//setting prefs to read from web server
try {
lockPref("autoadmin.global_config_url","https://www.example.com/autoconf.js"); // points to config file on web server
lockPref("autoadmin.append_emailaddr",false); //doesn't append the username of the user. Change to true if you want per user prefs.
} catch(e) {
displayError("lockedPref", e);
}
- On your web server create a the file called autoconf.js
- In the autoconf.js file enter the preferences that you want to manage:
// Auto Config prefs for Firefox
try {
// locked prefs
lockPref("browser.startup.homepage", "https://www.example.com/");
lockPref("browser.startup.homepage override.mstone", "ignore");
lockPref("browser.startup.page", 1);
lockPref("browser.formfill.enable", false);
lockPref("signon.prefillForms", false);
lockPref("signon.rememberSignons", false);
lockPref("app.update.enabled", false);
lockPref("extensions.update.enabled", false);
lockPref("browser.search.update", false);
} catch(e) {
displayError("lockedPref", e);
}
If can’t find the preference name that you want to manage go to “about:config” in any Firefox browser window/tab.
Recap:
What you have done was add a preference to Firefox telling it to get its configuration settings from Firefox.cfg and in Firefox.cfg you redirected it to download preferences from a file hosted on a web server. When you update the “autoconf.js” file on the web server the preferences are reflected on the users next launch of Firefox.
Update:
Updated the article for the latest version of Firefox.