Soubory automatické konfigurace lze použít pro nastavení a uzamčení předvoleb, které nepokrývají zásady skupiny v případě Windows nebo soubor policies.json v případě Macu a Linuxu. Tuto metodu lze použít k automatické změně uživatelských nastavení nebo k zabránění koncovému uživateli v úpravách konkrétních předvoleb jejich uzamčením.
Obsah
Nastavení automatické konfigurace
Při použití automatické konfigurace je třeba vytvořit dva soubory, jeden v adresáři nejvyšší úrovně a druhý v podadresáři. Ve Windows se cesty odvíjejí od adresáře, ve kterém je nainstalován Firefox. V systému macOS se cesty odvíjejí od adresáře Contents/Resources archivu Firefox.app.
První soubor, který je potřeba vytvořit, má název autoconfig.js a musí být umístěn v adresáři defaults/pref. Měl by obsahovat tyto dva řádky:
pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
První řádek stanovuje název souboru automatické konfigurace. Dát mu můžete jakýkoli název, ale umístění souboru nelze měnit.
Druhý řádek říká, že by soubor automatické konfigurace neměl být v nesrozumitelné podobě. Ve výchozím nastavení Firefox očekává, že má-li být soubor znečitelněn, bude bytově posunut o 13 bytů.
Druhý soubor, který je potřeba vytvořit, má název firefox.cfg a umisťuje se do nejvyšší úrovně adresáře Firefox. Vždy by měl začínat řádkem komentáře, např.:
// DŮLEŽITÉ: Svůj kód začněte na druhém řádku
Ačkoli má soubor automatické konfigurace obvykle příponu .cfg, je to soubor JavaScriptu. To umožňuje do souboru připisovat další kód JavaScriptu a přidávat tak pro různé situace různou logiku.
Funkce automatické konfigurace
V rámci souboru automatické konfigurace jsou použitelné následující funkce:
pref(název_předvolby, hodnota) – nastavuje dané předvolbě uživatelskou hodnotu. Tato funkce explicitně nastavuje danou předvolbu jako uživatelskou předvolbu. To znamená, že jestliže uživatel tuto hodnotu změnil, dojde při každém spuštění prohlížeče k obnovení její výchozí hodnoty.
defaultPref(název_předvolby, hodnota) – nastavuje dané předvolbě výchozí hodnotu. Jedná se o hodnotu, kterou předvolba má, když jí uživatel žádnou hodnotu nenastavil nebo když uživatel předvolbu obnovil. Uživatel ji může neustále měnit.
lockPref(název_předvolby, hodnota) – nastavuje dané předvolbě výchozí hodnotu a uzamyká ji. Jde o nejčastěji používanou funkci. Uzamčení předvolby nedovoluje uživatelům jí změnit a ve většině případů ji na stránce nastavení znepřístupňuje, aby byl uživatel ihned zpraven, že předvolbu nelze měnit.
unlockPref(název_předvolby) – odemyká danou předvolbu. Jako příklad lze uvést případ, kdy by měla být nějaká předvolba uzamčena pro všechny uživatele, ale pro konkrétní uživatele odemčena.
getPref(název_předvolby) – získává hodnotu dané předvolby. Pokud daná předvolba neexistuje, zobrazí chybu. Tato funkce by vždy měla být používána pouze u předvoleb, které existují.
clearPref(název_předvolby) – odstraňuje uživatelskou hodnotu dané předvolby a obnovuje její výchozí hodnotu.
displayError(název_funkce, zpráva) – zobrauje chybu v konkrétním formátu, čímž se stává užitečným nástrojem pro ladění.
Automatická konfigurace pomocí Netscape.cfg selhala. Kontaktujte prosím svého správce sítě. Chyba: [název_funkce] selhal: [zpráva]
getenv(name) – dotazuje se na proměnné prostředí. To umožňuje přístup k věcem, jako jsou uživatelská jména a jiné systémové informace.
Zakázání prvků uživatelského rozhraní
V případech, kdy nejsou prvky uživatelského rozhraní v předvolbách automaticky zakázány, existuje několik předvoleb „disable_button“, které při svém uzamčení zakazují tlačítka. Například vložení
lockPref("pref.privacy.disable_button.view_passwords",true);
do souboru automatické konfigurace zakáže tlačítko . Mezi další předvolby, které uzamykají tlačítka, patří:
- 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
Centralizovaná správa
Soubor automatické konfigurace lze spravovat centrálně. K tomu je nutné v primárním souboru automatické konfigurace zadat umístění sekundárního souboru automatické konfigurace:
pref("autoadmin.global_config_url","https://vašedoména.com/autoconfigfile.js");
URL může být libovolný protokol, který Firefox podporuje, včetně protokolu file: pro odkázání na soubor na síťové jednotce. Formát vzdáleného souboru automatické konfigurace je stejný jako formát souboru automatické konfigurace v klientovi, pouze s tím rozdílem, že první řádek není ignorován.
Existuje pár dalších předvoleb, které ovládají různé aspekty automatické konfigurace. Předvolba autoadmin.refresh_interval způsobuje, že se soubor automatické konfigurace v daných intervalech (stanovených v minutách) znovunačítá. Také jsou předvolby vztahující se k tomu, jak je zacházeno s režimem offline, jako jsou předvolby autoadmin.offline_failover a autoadmin.failover_to_cached.
Pokaždé, když je soubor automatické konfigurace získán vzdáleně, se ve složce profilu daného uživatele vytvoří záložní kopie tohoto souboru s názvem failover.jsc. Jestliže je předvolba autoadmin.failover_to_cached nastavena na false, Firefox si přečte tuto kopii z mezipaměti a nastaví prohlížeč na stav offline a uzamkne tuto předvolbu, aby uživatel nemohl přejít do stavu online. Je-li tato předvolba nastavena na true, prohlížeč prostě jen použije soubor v mezipaměti a nic víc nedělá. Předvolba autoadmin.offline_failover určuje, jestli se použije soubor v mezipaměti, když je prohlížeč v režimu offline. Je-li nastavena na true, použije se soubor v mezipaměti.
Předvolby vztahující se ke konkrétnímu uživateli
Pokud je do souboru automatické konfigurace potřeba zahrnout informace vztahující se ke konkrétnímu uživateli, je nutné nastavit následující předvolbu:
pref("autoadmin.append_emailaddr", true);
To k požadavku připojí otazník (?) a emailovou adresu.
Jelikož Firefox nepoužívá e-mailové adresy, musíte nastavit předvolbu mail.identity.useremail. Pokud ji nenastavíte, zobrazí Firefox výzvu s dotazem na zadání e-mailové adresy. Protože je soubor automatické konfigurace soubor javascriptu, můžete tuto předvolbu nastavit před nastavením předvolby autoadmin.global_config_url. Například:
var user = getenv("USER");
lockPref("mail.identity.useremail", user);
lockPref("autoadmin.global_config_url","https://vašedoména.com/autoconfigfile.js");