Firefox aanpassen via AutoConfig

AutoConfig-bestanden kunnen worden gebruikt voor het instellen en vergrendelen van voorkeuren die niet door beleidsregels van Firefox worden gedekt.

Om AutoConfig te gebruiken, plaatst u twee bestanden in de Firefox-mappen. In Windows is dit dezelfde map als waarin Firefox is geïnstalleerd. Op macOS is dit de map Contents/Resources van de Firefox.app.

Het eerste bestand dat u dient aan te maken heet autoconfig.js en wordt in de map defaults/pref geplaatst. Het dient de volgende twee regels te bevatten:

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

De eerste regel specificeert de naam van het AutoConfig-bestand. U kunt elke gewenste naam opgeven, maar de locatie van het bestand kan niet worden gewijzigd.

De tweede regel geeft aan dat u niet wilt dat het AutoConfig-bestand wordt verborgen. Standaard verwacht Firefox dat het bestand met 13 bytes is verschoven om het te kunnen verdoezelen.

Het tweede bestand dat u dient aan te maken heet firefox.cfg en wordt bovenaan geplaatst.

Het dient altijd met een commentaarregel te beginnen:

// IMPORTANT: Start your code on the 2nd line

Hoewel de extensie van een AutoConfig-bestand doorgaans cfg is, is het AutoConfig-bestand zelf een JavaScript-bestand. Dit betekent dat uw JavaScript binnen het bestand kunt schrijven om daarmee over verschillende logica in verschillende situaties te beschikken.

De volgende functies zijn binnen een AutoConfig-bestand beschikbaar:

pref(prefName, value) – stelt de gebruikerswaarde van een voorkeur in. Deze functie stelt de voorkeur expliciet in als een gebruikersvoorkeur. Dat betekent dat als de gebruiker de waarde heeft gewijzigd, deze telkens wanneer de browser wordt gestart wordt teruggezet.

defaultPref(prefName, value) – stelt de standaardwaarde van een voorkeur in. Dit is de waarde die een voorkeur heeft wanneer de gebruiker geen waarde heeft ingesteld.

lockPref(prefName, value) – stelt de standaardwaarde van een voorkeur in en vergrendelt deze. Dit is de functie die bij mensen het meest bekend is als het op AutoConfig-bestanden aankomt. Het vergrendelen van een voorkeur voorkomt dat een gebruiker deze wijzigt, en schakelt in de meeste gevallen de UI in de voorkeuren uit, zodat het voor de gebruiker waarschijnlijk is dat de voorkeur is uitgeschakeld. In gevallen waarin u geen uitgeschakelde dingen in voorkeuren ziet, zijn er enkele ‘disable_button’-voorkeuren die bij vergrendeling knoppen uitschakelen. Als u bijvoorbeeld de volgende voorkeur uitschakelt:

pref.privacy.disable_button.view_passwords

… zal dit de knop ‘Wachtwoorden bekijken’ uitschakelen. De andere voorkeuren die knoppen vergendelen zijn:

pref.general.disable_button.default_browser pref.browser.homepage.disable_button.current_page pref.browser.homepage.disable_button.bookmark_page pref.browser.homepage.disable_button.restore_default security.disable_button.openCertManager security.disable_button.openDeviceManager app.update.disable_button.showUpdateHistory pref.privacy.disable_button.cookie_exceptions pref.privacy.disable_button.view_cookies pref.privacy.disable_button.view_passwords pref.privacy.disable_button.view_passwords_exceptions pref.downloads.disable_button.edit_actions.

unlockPref(prefName) – ontgrendelt een voorkeur. Als voorbeeld: er kunnen gevallen zijn waarbij u een voorkeur voor iedereen vergrendelt en deze voor een bepaalde gebruiker ontgrendelt.

getPref(prefName) – haalt de waarde van een voorkeur op. Als de voorkeur niet bestaat, geeft dit een fout weer. U dient dit alleen te gebruiken bij voorkeuren waarvan u weet dat deze bestaan.

clearPref(prefName) – verwijdert de gebruikerswaarde van een voorkeur, waarbij deze naar de standaardwaarde ervan wordt teruggezet.

displayError(funcname, message) – geeft een fout weer in een bepaalde notatie.

   Netscape.cfg/AutoConfig failed. Please contact your system administrator.
   Error: [funcname] failed: [message]

Dit is handig voor debugging.

getenv(name) – hiermee kunt u omgevingsvariabelen opvragen. Hierdoor kunt u bijvoorbeeld gebruikersnamen en andere systeeminformatie verkrijgen.

Als u uw AutoConfig-bestand centraal wilt beheren, kunt u de locatie van een tweede AutoConfig-bestand opgeven in het eerste AutoConfig-bestand:

pref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");

De URL kan een willekeurig door Firefox ondersteund protocol zijn. Hieronder valt ook het opgeven van het file:-protocol om naar een bestand op een netwerkstation te verwijzen. De indeling van het externe AutoConfig-bestand is hetzelfde als het AutoConfig-bestand op de client, behalve dat de eerste regel niet wordt genegeerd.

Als u gebruikersspecifieke informatie in uw configuratie wilt hanteren, kunt u een andere voorkeur instellen:

pref("autoadmin.append_emailaddr", true);

Hiermee wordt een vraagteken (?) en een e-mailadres aan de aanvraag toegevoegd.

Misschien vraagt u zich af waar dat e-mailadres vandaan komt. Omdat Firefox geen e-mailadressen gebruikt, dient u dit in te stellen. Als u dat niet doet, geeft Firefox een prompt weer die om het e-mailadres vraagt. De voorkeur heet mail.identity.useremail en is een stringvoorkeur. Omdat het AutoConfig-bestand een JS-bestand is, kunt u deze voorkeur instellen voordat u autoadmin.global_config_url instelt. Wellicht kunt u iets als dit doen:

var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");

Er zijn enkele andere voorkeuren die aspecten van AutoConfig bepalen. autoadmin.refresh_interval zorgt ervoor dat de AutoConfig met een bepaald interval wordt vernieuwd, opgegeven in minuten. Er zijn ook enkele voorkeuren met betrekking tot hoe offlinegedrag wordt behandeld, waaronder autoadmin.offline_failover en autoadmin.failover_to_cached. Deze werken als volgt.

Telkens wanneer een AutoConfig-bestand extern wordt opgehaald, wordt een back-upkopie van dat bestand in de profielmap van de gebruiker aangemaakt met de naam failover.jsc. Als de voorkeur autoadmin.failover_to_cached is ingesteld op false, leest Firefox het gebufferde bestand, markeert het de browser als offline en vergrendelt het de voorkeur, zodat de gebruiker niet online kan gaan. Als de voorkeur is ingesteld op true, wordt eenvoudig het gebufferde bestand gebruikt en vervolgens doorgegaan. De voorkeur autoadmin.offline_failover bepaalt of het gebufferde bestand wel of niet wordt gebruikt wanneer de gebruiker eenvoudig offline is. Als deze is ingesteld op true, wordt het gebufferde bestand gebruikt.

Was dit artikel nuttig?

Een moment geduld…

Deze aardige mensen hebben geholpen bij het schrijven van dit artikel:

Illustration of hands

Vrijwilliger worden

Laat uw expertise groeien en deel deze met anderen. Beantwoord vragen en verbeter onze kennisbank.

Meer info