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.