Personalizar o Firefox, utilizando 'AutoConfig'

Os ficheiros de AutoConfig podem ser utilizados para definir e bloquear as preferências que não são abrangidas pelas políticas do Firefox.

Para utilizar AutoConfig, tem de colocar dois ficheiros nas diretorias do Firefox. No Windows, eles ficam na mesma diretoria onde o Firefox está instalado. No macOS, eles ficam na diretoria 'Contents/Resources' do Firefox.app.

O primeiro ficheiro que precisa de criar é chamado de "autoconfig.js" e este é 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. Pode especificar qualquer nome, mas a localização do ficheiro não pode ser alterada.

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

O segundo ficheiro que precisa de criar é chamado de firefox.cfg e este é colocado no nível de topo.

Este deverá começar sempre com a linha de comando:

// 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 de JavaScript. Isto significa que pode escrever JavaScript dentro do ficheiro para ter uma lógica diferente em situações diferentes.

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.

lockPref(prefName, value) – define o valor predefinido de uma preferência e bloqueia-a. É a função mais familiar para as pessoas quando se trata de ficheiros AutoConfig. 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. Nos casos em que não vê as coisas a ser desativadas nas preferências, há algumas preferências de “disable_button” que, quando bloqueadas, desativam os botões. Por exemplo, se bloquear a preferência:

pref.privacy.disable_button.view_passwords,

esta irá desativar o botão “Ver Palavras-passe”. As outras preferências que bloqueiam botões, são:

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) – 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 especifico.

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

É útil para depurar.

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.

Se quiser gerir centralmente o seu ficheiro AutoConfig, pode especificar a localização de um ficheiro AutoConfig secundário no ficheiro AutoConfig principal:

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

O URL pode ser qualquer protocolo suportado pelo Firefox. Isto inclui especificar o ficheiro: protocolo 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.

Se deseja ter a informação específica do utilizador na sua configuração, pode definir outra preferência:

pref("autoadmin.append_emailaddr", true);

Isto irá acrescentar um ponto de interrogação (?) e um endereço de e-mail ao pedido.

Pode estar a perguntar-se de onde vem esse endereço de e-mail. Como o Firefox não utiliza endereços de e-mail, precisa de defini-lo. Se não o fizer, o Firefox exibirá um aviso para solicitar o seu endereço de e-mail. A preferência é chamada de mail.identity.useremail e é uma preferência de sequência. Como o ficheiro autoconfig é um ficheiro JS, pode definir essa preferência antes de definir autoadmin.global_config_url. Pode fazer algo assim:

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

Existem algumas outras preferências que controlam os aspetos do AutoConfig. "autoadmin.refresh_interval" faz com que o AutoConfig seja atualizado num determinado intervalo especificado em minutos. Há também algumas preferências relacionadas como o modo off-line é tratado, incluindo autoadmin.offline_failover e autoadmin.failover_to_cached. Veja como eles funcionam.

Todas as vezes que um ficheiro de AutoConfig é obtido remotamente, é criada uma cópia de segurança desse ficheiro na diretoria de 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, e depois marca o navegador como off-line e bloqueia a preferência para que o utilizador não possa 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 estiver definida para "true", será utilizado o ficheiro em cache.

Este artigo foi útil?

Por favor, aguarde...

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