Compare Revisions
Personalizowanie programu Firefox za pomocą plików AutoConfig
Revision 166797:
Revision 166797 by vesper on
Revision 289634:
Revision 289634 by teo951 on
Keywords:
Search results summary:
Dowiedz się, jak korzystać z plików AutoConfig by zdefiniować i blokować zmiany ustawień, które nie są objęte
Dowiedz się, jak korzystać z plików AutoConfig by zdefiniować i blokować zmiany ustawień, które nie są objęte
Content:
Pliki AutoConfig mogą być wykorzystane do ustawiania i blokowania ustawień, które nie są objęte ogólnymi zasadami programu Firefox.
Aby korzystać z plików AutoConfig, należy umieścić dwa pliki w folderze programu Firefox. W systemie Windows będzie to ten sam folder, w którym Firefox został zainstalowany. W systemie macOS, będzie to folder ''Contents/Resources'' aplikacji Firefox.app.
Pierwszy plik nosi nazwę autoconfig.js i jest umieszczony w domyślnym folderze defaults/pref. Powinien zawierać następujący tekst:
pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
Pierwsza linia określa nazwę pliku AutoConfig. Możesz ustawić dowolną nazwę, ale miejsce jego zapisu nie może ulec zmianie.
Druga linia określa jawność pliku AutoConfig. Domyślnie, Firefox obsługuje pliki przesunięte o 13 bajtów, które są z tego powodu zaciemnione.
Drugi plik nosi nazwę firefox.cfg i jest umieszczony na najwyższym poziomie folderu.
Powinien zawsze zaczynać się od poniższej linii komentarza:
// IMPORTANT: Start your code on the 2nd line
Chociaż rozszerzenie pliku AutoConfig to zazwyczaj .cfg, sam plik zawiera treść w formacie JavaScript. Oznacza to, że możesz w jego obrębie używać JavaScript by tworzyć konfiguracje dla różnych warunków, zależnie od potrzeb.
W obrębie pliku AutoConfig dostępne są następujące funkcje:
pref(nazwa, wartość) – ustawia wartość użytkownika dla określonej preferencji. Funkcja ta jawnie ustawia preferencję jako zmienioną przez użytkownika. Oznacza to, że jeśli użytkownik zmienił jej wartość, będzie ona ustawiana do wartości domyślnej przy każdym uruchomieniu przeglądarki.
defaultPref(nazwa, wartość) – ustawia wartość domyślną określonej preferencji, która obowiązuje jeśli użytkownik nie ustawił żadnej własnej wartości.
lockPref(nazwa, wartość) – ustawia domyślną wartość określoną preferencji i blokuje jej zmiany. Ta funkcja jest najbardziej znana dla osób korzystających z plików AutoConfig. Zablokowanie preferencji uniemożliwia użytkownikowi przeglądarki zmianę jej wartości, a także (w większości przypadków) oznacza wyłączanie elementów interfejsu w ustawieniach, co w jasny sposób pokazuje użytkownikowi że możliwość zmiany danego ustawienia została zablokowana. W przypadku braku zmian w wyglądzie ustawień, dostępne są preferencje ''disable_button'', które po zablokowaniu powodują blokowanie przycisków. Przykładowo, po zablokowaniu preferencji:
pref.privacy.disable_button.view_passwords
Przycisk {button Wyświetl zachowane hasła} zostanie zablokowany. Inne preferencje blokujące przyciski to:
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(nazwa) – odblokowuje określoną preferencję. Przykładowo, może to być przydatne przy blokowaniu preferencji dla wszystkich, a następnie odblokowanie jej dla wybranego użytkownika.
getPref(nazwa) – pobiera wartość określonej preferencji. Jeśli preferencja nie istnieje, wyświetlony zostaje błąd. Zalecamy korzystanie z tego polecenia jedynie dla istniejących preferencji.
clearPref(nazwa) – usuwa wartość użytkownika określonej preferencji, ustawiając jej wartość na domyślną.
displayError(nazwa, komunikat) – wyświetla błąd w określonym formacie.
Nie udało się uruchomić programu Netscape.cfg/AutoConfig. Proszę skontaktować się z administratorem.
Błąd: [nazwa] nie udało się: [komunikat]
Jest to przydatne podczas debugowania.
getenv(nazwa) – pozwala na wysyłanie zapytań o wartości środowiska allows. Dzięku temu możesz na przykład pobierać nazwy użytkowników lub inne dane systemowe.
Jeśli chcesz zarządzać centralnie twoim plikiem AutoConfig, możesz określić położenie drugorzędnego pliku AutoConfig w podstawowym pliku AutoConfig:
pref("autoadmin.global_config_url","http://nazwatwojejdomeny.com/autoconfigfile.js");
URL może być podany w dowolnym protokole obsługiwanym przez przeglądarkę Firefox. Obejmuje to również użycie protokołu ''file:'', wskazującego położenie pliku na dysku sieciowym. Format zdalnego pliku AutoConfig jest taki sam jak oryginalnego pliku AutoConfig dla klienta, ale pierwszy wiersz nie jest w nim ignorowany.
Jeśli chcesz wykorzystać konkretne dane użytkownika w swojej konfiguracji, możesz wykorzystać inną preferencję:
pref("autoadmin.append_emailaddr", true);
Spowoduje to dodanie znaku zapytania (?) i adresu emailowego do wysyłanego zapytania.
Firefox domyślnie nie korzysta z adresów emailowych, więc wymagane jest samodzielne ustawienie tej wartości. Jeśli nie zostanie ona ustawiona, Firefox wyświetli komunikat pytający o podanie adresu emailowego. Preferencja ta nosi nazwę mail.identity.useremail i jest łańcuchem znaków. Ponieważ plik AutoConfig to plik w formacie JS, możesz ją ustawić przed określeniem wartości ''autoadmin.global_config_url'', na przykład w ten sposób:
var user = getenv("USER");
lockPref("mail.identity.useremail", nazwaużytkownika);
lockPref("autoadmin.global_config_url","http://nazwatwojejdomeny.com/autoconfigfile.js");
Dostępne są również preferencje kontrolujące dodatkowe aspekty pliku AutoConfig. Przykładowo, ''autoadmin.refresh_interval'' powoduje odświeżenie pliku AutoConfig co ''x'' minut. Dwie preferencje określają działanie tej funkcji w trybie offline: ''autoadmin.offline_failover'' i ''autoadmin.failover_to_cached''. Oto w jaki sposób możesz z nich skorzystać:
Za każdym razem kiedy plik AutoConfig jest pobierany ze zdalnej lokacji, tworzona jest jego kopia zapasowa o nazwie ''failover.jsc'' w folderze profilu użytkownika. Jeśli preferencja ''autoadmin.failover_to_cached'' ma wartość ''false'', Firefox odczytuje zapisany plik i ustawia przeglądarkę w trybie offline, blokując możliwość przejścia w tryb online dla użytkownika. Jeśli wartość tej preferencji to ''true'', Firefox korzysta z zapisanego pliku i kontynuuje normalne działanie. Preferencja ''autoadmin.offline_failover'' określa czy zapisany plik jest wykorzystywany jeśli użytkownik jest w trybie offline. Jeśli jej wartość to ''true'', wykorzystywany jest zapisany plik.
Pliki AutoConfig mogą być wykorzystane do ustawiania i blokowania ustawień, które nie są objęte przez [[Customize Firefox using Group Policy|zasady grupy w systemie Windows]] lub w pliku [[Customize Firefox using policies.json|policies.json dla systemów macOS i Linux]]. Metodę tę można wykorzystać do automatycznej zmiany preferencji użytkownika lub uniemożliwienia użytkownikowi końcowemu modyfikowania określonych preferencji poprzez ich zablokowanie.
__TOC__
== Konfigurowanie AutoConfig ==
Aby korzystać z plików AutoConfig, należy umieścić dwa pliki w folderze Firefoksa – jeden na najwyższym poziomie i jeden w podkatalogu. W systemie Windows będzie to ten sam folder, w którym Firefox został zainstalowany. W systemie macOS będzie to folder ''Contents/Resources'' aplikacji Firefox.app.
{note}W systemie Windows z przeglądarką Firefox 60 lub nowszą plik autoconfig.js musi używać końca wiersza Uniksa (LF).{/note}
Pierwszy plik nosi nazwę ''autoconfig.js'' i jest umieszczony w katalogu <code>defaults/pref</code>. Powinien zawierać następujące dwa wiersze:
pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
Pierwszy wiersz określa nazwę pliku AutoConfig. Nazwę pliku można dostosować, ale jego lokalizacji nie można zmienić.
Drugi wiersz określa jawność pliku AutoConfig. Domyślnie Firefox oczekuje, że plik zostanie przesunięty o 13 bajtów, aby go zaciemnić.
Drugi plik, który należy utworzyć, nosi nazwę ''firefox.cfg'' i jest umieszczany na najwyższym poziomie katalogu Firefoksa. Powinien zawsze zaczynać się od wiersza z komentarzem, takim jak:
// IMPORTANT: Start your code on the 2nd line
Chociaż rozszerzenie pliku AutoConfig to zazwyczaj <code>.cfg</code>, sam plik zawiera treść w formacie JavaScript. Umożliwia to zapisanie w jego obrębie dodatkowego kodu JavaScript, by tworzyć konfiguracje dla różnych warunków, zależnie od potrzeb.
== Funkcje AutoConfig ==
W pliku AutoConfig dostępne są następujące funkcje:
'''pref(nazwa preferencji, wartość)''' – ustawia wartość użytkownika dla określonej preferencji. Funkcja ta jawnie ustawia preferencję jako zmienioną przez użytkownika. Oznacza to, że jeśli użytkownik zmienił jej wartość, zostanie ona zresetowana do wartości domyślnej przy każdym uruchomieniu przeglądarki.
'''defaultPref(nazwa preferencji, wartość)''' – ustawia wartość domyślną określonej preferencji. Jest to wartość, jaką ma preferencja, gdy użytkownik nie ustawił żadnej wartości lub zresetował preferencję. Użytkownik może tę wartość trwale zmienić.
'''lockPref(nazwa preferencji, wartość)''' – ustawia domyślną wartość określonej preferencji i blokuje ją. Jest to najczęściej używana funkcja. Zablokowanie preferencji uniemożliwia użytkownikowi jej zmianę i w większości przypadków powoduje w ustawieniach wyłączenie interfejsu użytkownika, co w jasny sposób pokazuje użytkownikowi, że możliwość zmiany danego ustawienia została zablokowana.
'''unlockPref(nazwa preferencji)''' – odblokowuje określoną preferencję. Na przykład można to zastosować, gdy preferencje powinny być zablokowane dla wszystkich użytkowników, ale odblokowane dla określonych użytkowników.
'''getPref(nazwa preferencji)''' – pobiera wartość określonej preferencji. Jeśli preferencja nie istnieje, wyświetlony zostaje błąd. Tej funkcji należy używać wyłącznie w przypadku preferencji, które zawsze istnieją.
'''clearPref(nazwa preferencji)''' – usuwa wartość preferencji ustaloną przez użytkownika, resetując ją do wartości domyślnej.
'''displayError(nazwa funkcji, komunikat)''' – wyświetla błąd w określonym formacie, co jest przydatnym narzędziem do debugowania.
Nie udało się uruchomić pliku Netscape.cfg/AutoConfig. Skontaktuj się z administratorem systemu.
Błąd: [nazwa funkcji] się nie powiodła: [komunikat]
'''getenv(nazwa)''' – zapytania o zmienne środowiskowe. Może to umożliwić dostęp do takich elementów, jak nazwy użytkowników i inne informacje o systemie.
=== Wyłączanie elementów interfejsu użytkownika ===
W przypadkach, gdy elementy interfejsu użytkownika nie są automatycznie wyłączane w preferencjach, istnieją pewne preferencje „disable_button”, które po zablokowaniu wyłączają przyciski. Na przykład tak, jak poniżej, ustawiona preferencja w pliku AutoConfig spowoduje wyłączenie przycisku {button Wyświetl hasła}.
lockPref("pref.privacy.disable_button.view_passwords",true);
Inne preferencje blokujące przyciski to:
*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.
== Scentralizowane zarządzanie ==
Plikiem AutoConfig można zarządzać centralnie. W tym celu należy w podstawowym pliku AutoConfig określić lokalizację dodatkowego pliku AutoConfig:
pref("autoadmin.global_config_url","https://nazwa_twojej_domeny.com/autoconfigfile.js");
Adresem URL może być dowolny protokół obsługiwany przez Firefoksa, w tym protokół <code>file:</code> wskazujący plik na dysku sieciowym. Format zdalnego pliku AutoConfig jest taki sam, jak plik AutoConfig dla klienta pocztowego, z tą różnicą, że pierwszy wiersz nie jest w nim ignorowany.
Istnieją inne preferencje kontrolujące aspekty AutoConfig. Preferencja <code>autoadmin.refresh_interval</code> powoduje, że AutoConfig będzie odświeżać się z częstotliwością określoną w minutach. Istnieją również preferencje związane ze sposobem obsługi trybu offline, w tym <code>autoadmin.offline_failover</code> i <code>autoadmin.failover_to_cached</code>.
Za każdym razem kiedy plik AutoConfig jest pobierany ze zdalnej lokacji, w folderze profilu użytkownika tworzona jest kopia zapasowa tego pliku o nazwie <code>failover.jsc</code>. Jeśli preferencja <code>autoadmin.failover_to_cached</code> ma wartość <code>false</code>, Firefox odczytuje plik z pamięci podręcznej, oznacza przeglądarkę jako offline i blokuje preferencję, uniemożliwiając przejście w tryb online. Jeśli wartość tej preferencji to: <code>true</code>, Firefox korzysta z zapisanego pliku i kontynuuje normalne działanie. Preferencja <code>autoadmin.offline_failover</code> kontroluje, czy plik z pamięci podręcznej będzie używany, gdy użytkownik będzie offline. Jeśli jej wartość to: <code>true</code>, używany jest plik z pamięci podręcznej.
== Preferencje specyficzne dla użytkownika ==
Jeśli w pliku AutoConfig mają być zawarte informacje specyficzne dla użytkownika, należy ustawić następującą preferencję:
pref("autoadmin.append_emailaddr", true);
Spowoduje to dodanie do wysyłanego zapytania znaku zapytania (?) i adresu e-mail.
Ponieważ Firefox nie używa adresów e-mail, należy ustawić preferencję <code>mail.identity.useremail</code>. Jeśli preferencja ta nie jest ustawiona, Firefox wyświetli monit z prośbą o podanie adresu e-mail. Ponieważ plik AutoConfig jest plikiem JavaScript, tę preferencję można ustawić przed określeniem wartości <code>autoadmin.global_config_url</code>, na przykład w ten sposób:
var user = getenv("USER");
lockPref("mail.identity.useremail", nazwa_użytkownika);
lockPref("autoadmin.global_config_url","https://nazwa_twojej_domeny.com/autoconfigfile.js");