Mit AutoConfig-Dateien können Sie Einstellungen festlegen und sperren, die nicht durch Firefox-Gruppenrichtlinien (Policies) unter Windows oder der Datei policies.json für Mac und Linux abgedeckt sind. Diese Methode kann verwendet werden, um die Benutzereinstellungen automatisch zu ändern oder zu verhindern, dass der Endnutzer bestimmte Einstellungen ändert, indem er sie blockiert.
Inhaltsverzeichnis
AutoConfig einrichten
Um AutoConfig zu nutzen, müssen sie zwei Dateien erstellen, eine im Hauptverzeichnis und eine weitere in einem Unterverzeichnis. Unter Windows werden die Dateien im selben Verzeichnis angelegt, in dem auch Firefox installiert ist. Unter macOS basieren die Pfade auf dem Verzeichnis Contents/Resources der Firefox.app.
Die erste Datei, die Sie erstellen müssen, heißt autoconfig.js und muss im Unterverzeichnis defaults/pref
angelegt werden. Sie sollte folgende zwei Zeilen enthalten:
pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0);
Die erste Zeile definiert den Namen der AutoConfig-Datei. Den Dateinamen können Sie ändern und frei wählen, aber der Speicherort kann nicht geändert werden.
Die zweite Zeile zeigt an, dass die AutoConfig-Datei nicht verschleiert werden soll, sondern im Klartext vorliegt. Standardmäßig erwartet Firefox, dass die Datei um 13 Bytes verschoben ist, damit deren Inhalt verschleiert ist.
Die zweite Datei, die Sie erstellen müssen, heißt firefox.cfg und wird auf der obersten Ebene des Firefox-Verzeichnisses angelegt. Sie sollte immer mit einer Kommentarzeile beginnen, z. B.:
// IMPORTANT: Start your code on the 2nd line
Obwohl die Dateierweiterung einer AutoConfig-Datei normalerweise cfg
lautet, ist die AutoConfig-Datei selbst eine JavaScript-Datei. Auf diese Weise können Sie zusätzlichen JavaScript-Code in die Datei schreiben, um in verschiedenen Situationen verschiedene Logikfunktionen hinzuzufügen.
Funktionen von AutoConfig
Folgende Funktionen sind in einer AutoConfig-Datei verfügbar:
pref(prefName, value) – bestimmt den Benutzerwert einer Einstellung. Diese Funktion legt die Präferenz explizit als Benutzerpräferenz fest. Das heißt, wenn der Benutzer den Wert geändert hat, wird er bei jedem Browserstart zurückgesetzt.
defaultPref(prefName, value) – bestimmt den Standardwert einer Voreinstellung. Dies ist der Wert, den eine Einstellung hat, wenn der Benutzer keinen Wert festgelegt oder die Einstellung zurückgesetzt hat. Dies kann vom Benutzer dauerhaft geändert werden.
lockPref(prefName, value) – bestimmt den Standardwert einer Voreinstellung und sperrt ihn. Dies ist die meistverwendete Funktion. Durch das Sperren einer Voreinstellung wird verhindert, dass ein Benutzer diese ändert, und in den meisten Fällen wird die Benutzeroberfläche in den Voreinstellungen deaktiviert, sodass für den Benutzer offensichtlich ist, dass die Voreinstellung deaktiviert wurde.
unlockPref(prefName) – entsperrt eine Einstellung. Diese Funktion würde z. B. in dem Fall verwendet, in dem eine Einstellung für alle Benutzer gesperrt, aber für bestimmte Benutzer freigegeben werden sollte.
getPref(prefName) – ruft den Wert einer Einstellung ab. Wenn die Einstellung nicht vorhanden ist, wird ein Fehler angezeigt. Diese Funktion sollte deshalb nur bei Einstellungen verwendet werden, die immer vorhandenen sind.
clearPref(prefName) – entfernt den Benutzerwert einer Einstellung und setzt ihn auf den Standardwert zurück.
displayError(funcname, message) – zeigt einen Fehler in einem bestimmten Format an (dies ist sehr praktisch zum Debuggen).
Netscape.cfg/AutoConfig failed. Please contact your system administrator. Error: [funcname] failed: [message]
getenv(name) – ermöglicht das Abfragen von Umgebungsvariablen. Auf diese Weise können Dinge wie Benutzernamen und andere Systeminformationen abgerufen werden.
Deaktivieren von Elementen der Benutzeroberfläche
In den Fällen, in denen keine Einstellungen in den Voreinstellungen deaktiviert werden, gibt es einige „disable_button"-Einstellungen, bei denen die Schaltflächen deaktiviert werden, wenn sie gesperrt sind. Wenn Sie z. B. in Ihrer AutoConfig-Datei die Einstellung lockPref ("pref.privacy.disable-button.view-passwords", wahr);}
sperren, wird dadurch die Schaltfläche deaktiviert. Andere Einstellungen, die Schaltflächen sperren, sind:
- 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
Zentrale Verwaltung
Die AutoConfig-Datei kann zentral verwaltet werden. Geben Sie dazu den Speicherort einer sekundären AutoConfig-Datei in der primären AutoConfig-Datei an:
pref("autoadmin.global_config_url","https://yourdomain.com/autoconfigfile.js");
Die URL kann ein beliebiges von Firefox unterstütztes Protokoll sein. Dazu gehört die Verwendung des file:
-Protokolls, das auf eine Datei in einem Netzlaufwerk verweist. Das Format der Remote-AutoConfig-Datei stimmt mit der AutoConfig-Datei des Clients überein – mit dem Unterschied, dass die erste Zeile nicht ignoriert wird.
Es gibt noch andere Einstellungen, die Aspekte von AutoConfig steuern. Die Einstellung autoadmin.refresh_interval führt dazu, dass sich die AutoConfig in einem bestimmten (in wenigen Minuten angegebenen) Intervall aktualisiert. Auch zur Offline-Handhabung sind Einstellungen verfügbar, einschließlich autoadmin.offline_failover und autoadmin.failover_to_cached.
Bei jedem Abrufen einer Remote-AutoConfig-Datei wird eine Sicherungskopie dieser Datei im Profilverzeichnis des Benutzers mit dem Namen failover.jsc
erstellt. Wenn die Einstellung autoadmin.failover_to_cached auf false gesetzt ist, liest Firefox die zwischengespeicherte Datei, markiert den Browser als offline und sperrt die Einstellung, sodass der Benutzer nicht online gehen kann. Wenn die Einstellung auf true gesetzt ist, wird einfach die zwischengespeicherte Datei verwendet und dann fortgesetzt. Die Einstellung autoadmin.offline_failover steuert, ob die zwischengespeicherte Datei verwendet wird, wenn der Benutzer gerade offline ist. Ist sie auf true gesetzt ist, wird die zwischengespeicherte Datei benutzt.
Benutzerspezifische Einstellungen
Wenn Sie benutzerspezifische Informationen in Ihrer Konfiguration wünschen, sollte diese Einstellung festgelegt sein:
pref("autoadmin.append_emailaddr", true);
Dies fügt der Anfrage ein Fragezeichen (?) und eine E-Mail-Adresse hinzu.
Da Firefox keine E-Mail-Adressen verwendet, muss die Einstellung mail.identity.useremail festgelegt sein. Andernfalls zeigt Firefox eine Eingabeaufforderung an, in der Sie nach der E-Mail-Adresse gefragt werden. Da es sich bei der AutoConfig-Datei um eine JavaScript-Datei handelt, kann diese Einstellung vor der Installation von autoadmin.global_config_url gesetzt werden, z. B.:
var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","https://yourdomain.com/autoconfigfile.js");