AutoConfig-bestanden kunnen worden gebruikt voor het instellen en vergrendelen van voorkeuren die niet door Groepsbeleid in windows of het bestand policies.json voor Mac en Linux worden gedekt. Deze methode kan worden gebruikt om automatisch gebruikersvoorkeuren te wijzigen of voorkomen dat de eindgebruiker specifieke voorkeuren aanpast door ze te vergrendelen.
Inhoudsopgave
AutoConfig instellen
Om AutoConfig te gebruiken, dient u twee bestanden aan te maken, een op het hoogste niveau en een in een submap. In Windows zijn paden gebaseerd op de map waarin Firefox is geïnstalleerd. In macOS zijn paden gebaseerd op de map Contents/Resources van de Firefox.app.
Het eerste aan te maken bestand heet autoconfig.js en moet in de map defaults/pref
worden 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. De naam van het bestand kan worden aangepast, maar de locatie van het bestand kan niet worden gewijzigd.
De tweede regel geeft aan dat het AutoConfig-bestand niet mag worden verborgen. Standaard verwacht Firefox dat het bestand met 13 bytes is verschoven om het te kunnen verdoezelen.
Het tweede aan te maken bestand heet firefox.cfg en wordt in het bovenste niveau van de Firefox-map geplaatst. Het dient altijd te beginnen met een commentaarregel, zoals:
// 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. Hierdoor kan aanvullend JavaScript binnen het bestand worden geschreven om daarmee verschillende logica in verschillende situaties toe te voegen.
Functies van AutoConfig
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 of de gebruiker de vrookeur herinitialiseert. Deze kan blijvend worden gewijzigd door de gebruiker.
lockPref(prefName, value) – stelt de standaardwaarde van een voorkeur in en vergrendelt deze. Dit is de meest gebruikte functie. 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.
unlockPref(prefName) – ontgrendelt een voorkeur. Dit wordt bijvoorbeeld gebruikt als een voorkeur vergrendeld moet zijn voor alle gebruikers. maar niet vergrendeld voor specifieke gebruikers.
getPref(prefName) – haalt de waarde van een voorkeur op. Als de voorkeur niet bestaat, wordt een foutmelding getoond. Deze functie moet alleen maar worden gebruikt voor voorkeuren die altijd bestaan.
clearPref(prefName) – verwijdert de gebruikerswaarde van een voorkeur, waarbij deze wordt teruggezet naar de standaardwaarde.
displayError(funcname, message) – toont een fout in een specifieke opmaak, wat handig is voor foutopsporing.
Netscape.cfg/AutoConfig mislukt. Neem contact op met uw systeembeheerder. Fout: [funcname] mislukt: [message]
getenv(name) – vraagt omgevingsvariabelen op. Hierdoor is toegang tot zaken als gebruikersnamen en andere systeemgegevens mogelijk.
UI-elementen uitschakelen
In gevallen waarin UI-elementen niet automatisch worden uitgeschakeld in de voorkeuren, zijn er enkele ‘disable_button’-voorkeuren die, als ze zijn vergrendeld, knoppen uitschakelen. Als u bijvoorbeeld
lockPref("pref.privacy.disable_button.view_passwords",true);
opneemt in uw AutoConfig-bestand, zal dit de knop uitschakelen. 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
Gecentraliseerd beheer
Het AutoConfig-bestand kan centraal worden beheerd. Om dit te doen, is de locatie van een secundair AutoConfig-bestand in het primaire AutoConfig-bestand:
pref("autoadmin.global_config_url","https://uwdomein.com/autoconfigfile.js");
De URL kan een willekeurig door Firefox ondersteund protocol zijn, waaronder 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.
Er zijn andere voorkeuren die aspecten van AutoConfig bepalen. De voorkeur autoadmin.refresh_interval
zorgt ervoor dat de AutoConfig met een opgegeven interval in minuten wordt ververst. Er zijn ook voorkeuren in relatie tot hoe er met de offline-modus wordt omgegaan, waaronder autoadmin.offline_failover
en autoadmin.failover_to_cached
.
Telkens wanneer een AutoConfig-bestand extern wordt opgehaald, wordt een reservekopie 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 offline is. Als deze is ingesteld op true
, wordt het gebufferde bestand gebruikt.
Gebruikersspecifieke voorkeuren
Als gebruikersspecifieke gegevens moeten worden opgenomen in het AutoConfig-bestand, moet de volgende voorkeur worden ingesteld:
pref("autoadmin.append_emailaddr", true);
Dit voegt een vraagteken (?) en een e-mailadres aan het verzoek toe.
Omdat Firefox geen e-mailadressen gebruikt, dient de voorkeur mail.identity.useremail
te worden ingesteld. Als deze niet is ingesteld, toont Firefox een prompt waarin wordt gevraagd om het e-mailadres. Omdat het AutoConfig-bestand een Javascript-bestand is, kan deze voorkeur worden ingesteld voordat autoadmin.global_config_url
wordt ingesteld. Bijvoorbeeld:
var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","https://yourdomain.com/autoconfigfile.js");