Firefox mit AutoConfig anpassen

Versionsdaten
  • Versions-ID: 170856
  • Erstellt:
  • Autor: Artist
  • Kommentar: Überarbeitung (Auszeichnungen eingefügt, um den Artikel mehr zu strukturieren)
  • Überprüft: Ja
  • Überprüft:
  • Überprüft von: Artist
  • Freigegeben? Ja
  • Ist das die aktuelle Version? Nein
  • Bereit zum Übersetzen: Nein
Quelltext der Version
Vorschau der Änderung

Mit AutoConfig-Dateien können Sie Einstellungen festlegen und sperren, die nicht durch Firefox-Gruppenrichtlinien (Policies) abgedeckt sind.

Um AutoConfig zu nutzen, erstellen Sie zuerst zwei Dateien in den Firefox-Verzeichnissen. Unter Windows werden sie im selben Verzeichnis angelegt, in dem auch Firefox installiert ist. Für macOS müssen die Dateien im Verzeichnis Contents/Resources der Firefox.app angelegt werden.

Die erste Datei, die Sie erstellen müssen, heißt autoconfig.js und wird im Unterverzeichnis defaults/pref abgelegt. Sie muss 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 frei wählen, aber der Speicherort kann nicht geändert werden.

Die zweite Zeile zeigt an, dass die AutoConfig-Datei im Klartext vorliegt. Sonst würde Firefox standardmäßig erwarten, 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 im Hauptverzeichnis angelegt. Sie sollte immer mit einer Kommentarzeile beginnen:

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

Obwohl die Dateierweiterung einer AutoConfig-Datei normalerweise cfg ist, ist die AutoConfig-Datei selbst eine JavaScript-Datei. Das bedeutet, dass Sie JavaScript in die Datei schreiben können, um in verschiedenen Situationen andere Logikfunktionen zu verwenden.

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 hat.

lockPref(prefName, value) – bestimmt den Standardwert einer Voreinstellung und sperrt ihn. Diese Funktion ist den meisten Anwendern bekannt, wenn es um AutoConfig-Dateien geht. 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.

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. die Einstellung pref.privacy.disable_button.view_passwords sperren, wird dadurch die Schaltfläche Passwörter anzeigen deaktiviert. Die anderen 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

unlockPref(prefName) – schaltet eine Einstellung frei. Sie haben z. B. eine Einstellung für alle Nutzer gesperrt und entsperren diese damit für einen bestimmten Nutzer.

getPref(prefName) – ruft den Wert einer Einstellung ab. Wenn die Einstellung nicht vorhanden ist, wird ein Fehler angezeigt. Sie sollten dies deshalb nur bei Einstellungen anwenden, von denen Sie wissen, dass sie existieren.

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.

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

Dies ist praktisch zum Debuggen.

getenv(name) – ermöglicht das Abfragen von Umgebungsvariablen. Auf diese Weise können Dinge wie Benutzernamen und andere Systeminformationen abgerufen werden.

Wenn die AutoConfig-Datei zentral verwaltet werden soll, kann der Speicherort einer sekundären AutoConfig-Datei in der primären AutoConfig-Datei angeben werden:

pref("autoadmin.global_config_url","http://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.

Wenn Sie benutzerspezifische Informationen in Ihrer Konfiguration wünschen, können Sie eine andere Einstellung festlegen:

pref("autoadmin.append_emailaddr", true);

Dies fügt der Anfrage ein Fragezeichen (?) und eine E-Mail-Adresse hinzu.

Sie fragen sich vielleicht, woher diese E-Mail-Adresse stammt. Da Firefox keine E-Mail-Adressen verwendet, müssen Sie diese festlegen. Andernfalls zeigt Firefox eine Eingabeaufforderung an, in der Sie nach der E-Mail-Adresse gefragt werden. Die Einstellung heißt mail.identity.useremail und ist eine Zeichenfolgeeinstellung. Da es sich bei der AutoConfig-Datei um eine JS-Datei handelt, können Sie diese Voreinstellung festlegen, bevor Sie autoadmin.global_config_url festlegen, z. B.:

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

Einige andere Einstellungen steuern Aspekte von AutoConfig, z. B bewirkt autoadmin.refresh_interval die Aktualisierung von AutoConfig in einem in Minuten angegebenen Intervall.

Auch zur Offline-Handhabung sind Einstellungen verfügbar, einschließlich autoadmin.offline_failover und autoadmin.failover_to_cached. So funktionieren Sie:

Bei jedem Abrufen einer Remote-AutoConfig-Datei wird eine Sicherungskopie dieser Datei im Profilverzeichnis des Nutzers 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 Nutzer 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.