Personalizar o Firefox, utilizando 'AutoConfig'

Firefox for Enterprise Firefox for Enterprise Última actualização:

Os ficheiros de AutoConfig podem ser utilizados para definir e bloquear as preferências que não são abrangidas pela «Política de Grupos» no Windows ou pelas políticas de .json para Mac e Linux. Este método pode ser utilizado para alterar automaticamente as preferências do utilizador ou evitar que o utilizador final modifique preferências específicas, bloqueando-as.

Configurar o AutoConfig

Para utilizar AutoConfig, um no nível superior e outro numa subdiretoria. No Windows, os caminhos são baseados na diretoria em que o Firefox está instalado. No macOS, os caminhos são baseados na diretoria Conteúdos/Recursos da aplicação Firefox.

O ficheiro autoconfig.js deve utilizar o fim de linha Unix (LF), mesmo nos sistems com o Windows com o Firefox - versão 60 ou superior.

O primeiro ficheiro a criar é chamado de autoconfig.js, e este deve ser colocado na diretoria defaults/pref. Esta deverá conter as duas linhas seguintes:

pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0);

A primeira linha especifica o nome do ficheiro AutoConfig. O nome do ficheiro pode ser personalizado, mas a localização do ficheiro não pode ser alterada.

A segunda linha indica que AutoConfig não deve ser obscurecido. Por predefinição, o Firefox espera que o ficheiro seja byte deslocado por 13 bytes para poder ofuscá-lo.

O segundo ficheiro a criar é chamado de firefox.cfg, e este é colocado no nível de topo da diretoria do Firefox. Este deverá começar sempre com uma linha comentada, tal como:

// IMPORTANTE: inicie o seu código na 2ª. linha

Embora a extensão de um ficheiro AutoConfig seja tipicamente cfg, o próprio ficheiro AutoConfig é um ficheiro JavaScript. Isto permite que seja escrito JavaScript adicional dentro do ficheiro para adicionar uma lógica diferente em situações diferentes.

Funções de AutoConfig

As seguintes funções estão disponíveis num ficheiro AutoConfig:

pref(prefName, value) – define o valor do utilizador de uma preferência. Esta função define explicitamente a preferência como uma preferência do utilizador. Isso significa que se o utilizador alterou o valor, este será reiniciado sempre que iniciar o navegador.

defaultPref(prefName, value) – define o valor predefinido de uma preferência. É o valor que que uma preferência tem quando o utilizador não tiver definido qualquer valor ou o utilizador reinicia a preferência. Esta pode ser alterada permanentemente pelo utilizador.

lockPref(prefName, value) – define o valor predefinido de uma preferência e bloqueia-a. É a função utilizada mais comummente. Bloquear uma preferência impede que um utilizador a altere, e na maioria dos casos, desativa a IU nas preferências, portanto, é óbvio para o utilizador que a preferência foi desativada.

unlockPref(prefName) – desbloqueia uma preferência. Como um exemplo, pode haver casos em que bloqueia uma preferência para todos e depois desbloqueia-a para um utilizador específico.

'getPref(prefName) – obtém o valor de uma preferência. Se a preferência não existir, será exibido um erro. Só deve utilizar isto nas preferências que sabe que existem.

clearPref(prefName) – remove o valor do utilizador de uma preferência, reiniciando para o seu valor predefinido.

displayError(funcname, message) – exibe um erro num formato específico.

Netscape.cfg/AutoConfig falhou. Por favor, contacte o seu administrador de sistemas. Erro: [funcname] falhou: [message]


getenv(name) – permite que consulte variáveis ​​de ambiente. Isto pode permitir que faça coisas, tais como obter nomes de utilizador e outra informação do sistema.

Desativar Elementos da IU

Nos casos em que os elementos da IU não são automaticamente desativados nas preferências, existem algumas preferências "desabille_button" que, quando bloqueadas, desativam os botões. Por exemplo, incluindo


lockPref("pref.privacy.disable_button.view_passwords",true);


no seu ficheiro AutoConfig será desativado o botão Ver Palavras-passe. Outras preferências que bloqueiam botões, incluem:

  • 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

Gestão Centralizada

O ficheiro AutoConfig pode ser gerido centralmente. Para o fazer, a localização de um ficheiro AutoConfig secundário no ficheiro AutoConfig principal:

pref("autoadmin.global_config_url","https://yourdomain.com/autoconfigfile.js");

O URL pode ser qualquer protocolo suportado pelo Firefox, incluindo o ficheiro: para apontar para um ficheiro numa unidade de rede. O formato do ficheiro AutoConfig remoto é o mesmo que o ficheiro AutoConfig no cliente, exceto que a primeira linha não é ignorada.

Existem outras preferências que controlam aspetos do AutoConfig. A preferência autoadmin.refresh_interval faz com que o AutoConfig atualize a um intervalo determinado especificado em minutos. Também existem preferências relacionadas em como o modo off-line e manipulado, incluindo autoadmin.offline_failover e autoadmin.failover_to_cached.

Todas as vezes que um ficheiro AutoConfig é obtido remotamente, é criada uma cópia de segurança desse ficheiro na diretoria do perfil do utilizador chamada de failover.jsc. Se a preferência autoadmin.failover_to_cached estiver definida para false, o Firefox lê o ficheiro em cache, marca o navegador como off-line e bloqueia a preferência, e assim o utilizador não pode ficar on-line. Se a preferência estiver definida para true, esta simplesmente utiliza o ficheiro em cache e continua. A preferência autoadmin.offline_failover controla se o ficheiro em cache é ou não utilizado quando o utilizador está simplesmente off-line. Se este estiver definida para true, é utilizado o ficheiro em cache.

Preferências Especificas do Utilizador

Se for preciso incluir informação especifica do utilizador no ficheiro AutoConfig, deverá ser definida a seguinte preferência:

pref("autoadmin.append_emailaddr", true);


Isto irá anexar um ponto de interrogação (?) e um endereço de correio eletrónico ao pedido.

Porque o Firefox não utiliza endereços de correio eletrónico, deve ser definida a preferência mail.identity.useremail. Se não for definida, o Firefox irá exibir um aviso solicitando o endereço de correio eletrónico. Porque o ficheiro AutoConfig é um ficheiro JavaScript, esta preferência pode ser definida antes da definição autoadmin.global_config_url. Por exemplo:

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

Estas pessoas fantásticas ajudaram a escrever este artigo:

Illustration of hands

Participar

Cresça e partilhe a sua experiência com outras pessoas. Responda a perguntas e melhore a nossa base de conhecimentos.

Saber mais