Comparer Barevision

Модификация Firefox с помощью AutoConfig

Revision 162194:

Eza revisé 162194 na Goudron mokolo ya

Revision 289373:

Eza revisé 289373 na Goudron mokolo ya

Ba mots clés:

Résumé ya barésultat ya boluki:

Как использовать файлы AutoConfig для установки и блокировки параметров, которые не покрываются политиками Firefox.
Как использовать файлы AutoConfig для установки и блокировки параметров, которые не покрываются политиками Firefox.

Contenu:

Файлы AutoConfig можно использовать для установки и блокировки параметров, которые не покрываются политиками Firefox. Чтобы использовать AutoConfig, необходимо в папки Firefox расположить два файла. На Windows они должны попасть в ту же папку, где установлен Firefox. На macOS они должны попасть в папку Contents/Resources в Firefox.app. Первый файл, который необходимо создать, называется autoconfig.js, и он располагается в папке defaults/pref. Он должен содержать следующие две строки: pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0); Первая строка определяет наименование AutoConfig-файла. Вы можете указать любое имя, какое пожелаете, но расположения файла изменить нельзя. Вторая строка показывает, что вы не хотите, чтобы AutoConfig был нечитаемым. По умолчанию Firefox ожидает, что файл будет с побайтовым смещением 13 байтов в качестве его обфускации. Второй файл, который вы должны создать, называется firefox.cfg и он располагается на верхнем уровне. Он всегда должен начинаться со строки-комментария: // ВАЖНО: Начните свой код со второй строки Несмотря на то, что расширение файла AutoConfig обычно cfg, сам по себе файл AutoConfig является JavaScript-файл. Это означает, что вы можете писать на JavaScript внутри файла, чтобы применять различную логику в разных ситуациях. Следующие фукнции доступны внутри AutoConfig-файла: pref(prefName, value) – устанавливает параметру пользовательское значение. Эта фукнция явно устанавливает параметр как пользовательский параметр. Это означает, что если пользователь изменил значение, оно будет сбрасываться при каждом запуске браузера. defaultPref(prefName, value) – устанавливает параметру значение по умолчанию. Это то значение, которое параметр имеет, когда пользователь не устанавливает никакое значение. lockPref(prefName, value) – устанавливает параметру значение по умолчанию и блокирует его. Это функция, которая наиболее знакома людям, когда речь идёт о AutoConfig-файлах. Блокировка параметра не даёт пользователи его изменять и в большинстве случаев отключает настройки в графическом интерфейсе, что даёт пользователю очевидное понимание, что параметр был отключен. В случаях, когда вы не видите, что что-то отключилось в настройках, сущетвуют некоторые параметры “disable_button”, которые, когда заблокированы, отключают кнопки. Например, если вы заблокируете параметр pref.privacy.disable_button.view_passwords это отключит кнопку “Просмотреть пароли”. Другие параметры, которые блокируют кнопки: 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) – разблокирует параметр. В качестве примера могут быть случае, когда вы блокируете параметр для всех, а затем разблокируете его для конкретного пользователя. getPref(prefName) – возвращает значение параметра. Если параметр не существует, выводит ошибку. Вы должны использовать эту функцию только для параметров, о которых знаете, что они существуют. clearPref(prefName) – удаляет пользовательское значение параметра, сбрасывая его в значение по умолчанию. displayError(funcname, message) – отображает ошибку в специальном формате. Netscape.cfg/AutoConfig failed. Please contact your system administrator. Error: [funcname] failed: [message] Это удобно для отладки. getenv(name) – позволяет вам обращаться к переменным окружения. Это может позволить вам делать такие вещи как получать имена пользователей и другую системную информацию. Если вы хотите управлять своим AutoConfig-файлом централизованно, то можете указать расположение второго AutoConfig-файла в первом AutoConfig-файле: pref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js"); В качестве адреса можно использовать любой протокол, поддерживаемый Firefox. Это включает в себя указание файла: протокол для указания на файл на сетевом диске. Формат удалённого AutoConfig-файла такой же, как и для AutoConfig-файла на клиенте, за исключением того, что первая строка не игнорируется. Если вы желаете в своей конфигурации вставить информацию, относящуюся к пользователю, то можете указать другой параметр: pref("autoadmin.append_emailaddr", true); Это добавит к запросу знак вопроса (?) и адрес электронной почты. Вы можете спросить, откуда возьмётся адрес электронной почты. Так как Firefox не использует адреса электронной почты, вам необходимо его указать. Если вы этого не сделаете, Firefox будет отображать подсказку, спрашивая у вас адрес электронной почты. Этот параметр называется mail.identity.useremail и является строковым параметром. Так как AutoConfig-файл является JS-файлом, вы можете установить этот параметр перед определением autoadmin.global_config_url. Вы можете сделать примерно так: var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js"); Существует несколько других параметров, которые контролируют аспекты AutoConfig. autoadmin.refresh_interval заставляет AutoConfig обновляться с через промежутки времени, заданные в минутах. Также существуют параметры, относящиеся к тому, как работать в оффлайне, включая autoadmin.offline_failover и autoadmin.failover_to_cached. Вот как они работают. Каждый раз при получении AutoConfig-файла с удалённого ресурса в папке профиля пользователя создаётся его резервная копия с именем failover.jsc. Если параметр autoadmin.failover_to_cached установлен в значение false, Firefox считывает закэшированный файл и затем отмечает брайзер как работающий оффлайн и блокирует параметр, так что пользователь не может перейти в онлайн. Если этот параметр установлен в true, он просто использует закэшированный файл и затем продолжает. Параметр autoadmin.offline_failover контролирует, используется ли закэшированный файл, когда пользователь просто в оффлайне. Если он установлен в true, используется закэшированный файл.
Файлы AutoConfig можно использовать для установки и блокировки параметров, которые не покрываются [[Customize Firefox using Group Policy|групповыми политиками на Windows]] или [[Customize Firefox using policies.json|policies.json для Mac и Linux]]. Этот метод может использоваться для автоматического изменения пользовательских настроек или для предотвращения изменения конечным пользователем определенных настроек путём их блокировки. __TOC__ == Настройка AutoConfig == Чтобы использовать автонастройку, вам необходимо создать два файла, один на верхнем уровне, а другой в подкаталоге. В Windows пути основаны на каталоге, в котором установлен Firefox. В macOS пути основаны на каталоге Contents/Resources Firefox.app. {note}В файле autoconfig.js должен использоваться конец строки Unix (LF), даже в системах Windows с Firefox 60 или более поздней версии.{/note} Первый файл, который необходимо создать, называется '''autoconfig.js''', и он должен располагаться в папке <code>defaults/pref</code>. Он должен содержать следующие две строки: pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0); Первая строка определяет наименование AutoConfig-файла. Имя файла можно изменить, но расположения файла изменить нельзя. Вторая строка указывает на то, что AutoConfig не должен быть скрыт. По умолчанию Firefox ожидает, что файл будет с побайтовым смещением 13 байтов для его обфускации. Второй файл, который вы должны создать, называется '''firefox.cfg'' и он располагается на верхнем уровне каталога Firefox. Он всегда должен начинаться со строки-комментария, например: // ВАЖНО: Начните свой код со второй строки Хотя расширение файла автоконфигурации обычно <code>.cfg</code>, файл автоконфигурации является файлом JavaScript. Это позволяет записывать в файл дополнительный JavaScript для добавления другой логики в различных ситуациях. == Функции AutoConfig == Следующие фукнции доступны внутри AutoConfig-файла: '''pref(prefName, value)''' – устанавливает параметру пользовательское значение. Эта фукнция явно устанавливает параметр как пользовательский параметр. Это означает, что если пользователь изменил значение, оно будет сбрасываться при каждом запуске браузера. '''defaultPref(prefName, value)''' – устанавливает параметру значение по умолчанию. Это то значение, которое параметр имеет, когда пользователь не устанавливает никакое значение или пользователь сбрасывает настройки. Оно может быть навсегда изменено пользователем. '''lockPref(prefName, value)''' – устанавливает параметру значение по умолчанию и блокирует его. Это наиболее часто используемая функция. Блокировка параметра не даёт пользователи его изменять и в большинстве случаев отключает настройки в графическом интерфейсе, что даёт пользователю очевидное понимание, что параметр был отключен. '''unlockPref(prefName)''' – разблокирует параметр. В качестве примера, это может быть использовано в случае, когда настройки должны быть заблокированы для всех пользователей, но разблокированы для определенных пользователей. '''getPref(prefName)''' – извлекает значение параметра. Если параметр не существует, выводится сообщение об ошибке. Эту функцию следует использовать только для тех параметров, которые существуют всегда. '''clearPref(prefName)''' – удаляет пользовательское значение параметра, возвращая его к значению по умолчанию. '''displayError(funcname, message)''' – отображает ошибку в определенном формате, что является удобным инструментом для отладки. Netscape.cfg/AutoConfig failed. Please contact your system administrator. Error: [funcname] failed: [message] '''getenv(name)''' – запрашивает переменные среды. Это может обеспечить доступ к таким вещам, как имена пользователей и другая системная информация. === Отключение элементов пользовательского интерфейса === В тех случаях, когда элементы пользовательского интерфейса не отключаются автоматически в настройках, существуют некоторые параметры “disable_button”, которые при блокировке отключают кнопки. Например, если добавить lockPref("pref.privacy.disable_button.view_passwords",true); в вашем файле AutoConfig, то будет отключена кнопка {button Просмотр паролей}. Другие параметры, которые включают блокировку кнопок: *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. == Централизованное управление == Файлом AutoConfig можно управлять централизованно. Для этого необходимо указать расположение дополнительного файла AutoConfig в основном файле AutoConfig: pref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js"); URL-адресом может быть любой протокол, поддерживаемый Firefox, включая протокол <code>file:</code>, указывающий на файл на сетевом диске. Формат удаленного файла AutoConfig такой же, как и у файла AutoConfig на клиенте, за исключением того, что первая строка не игнорируется. Существуют и другие параметры, которые управляют различными аспектами AutoConfig. Параметр <code>autoadmin.refresh_interval</code> позволяет обновлять AutoConfig с заданным интервалом, указанным в минутах. Существуют также настройки, связанные с управлением автономным режимом, включая <code>autoadmin.offline_failover</code> и <code>autoadmin.failover_to_cached</code>. Каждый раз при получении AutoConfig-файла с удалённого ресурса в папке профиля пользователя создаётся его резервная копия с именем <code>failover.jsc</code>. Если параметр <code>autoadmin.failover_to_cached</code> установлен в значение <code>false</code>, Firefox считывает закэшированный файл и отмечает браузер как работающий оффлайн и блокирует параметр, так что пользователь не может перейти в онлайн. Если этот параметр установлен в <code>true</code>, он просто использует закэшированный файл и продолжает. Параметр <code>autoadmin.offline_failover</code> контролирует, используется ли закэшированный файл, когда пользователь в оффлайне. Если он установлен в <code>true</code>, используется закэшированный файл. == Параметры, относящиеся к конкретному пользователю == Если в файл AutoConfig необходимо включить информацию, относящуюся к конкретному пользователю, следует установить следующий параметр: pref("autoadmin.append_emailaddr", true); При этом к запросу будут добавлены вопросительный знак (?) и адрес электронной почты. Поскольку Firefox не использует адреса электронной почты, необходимо задать параметр <code>mail.identity.useremail</code>. Если он не задан, Firefox отобразит запрос на ввод адреса электронной почты. Поскольку файл автонастройки является файлом JavaScript, это предпочтение можно задать перед установкой <code>autoadmin.global_config_url</code>. Например: var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","https://yourdomain.com/autoconfigfile.js");

Zonga na Lisitwale