Como faço para configurar o Firefox através de um script?

8

Estou procurando definir as seguintes configurações do Firefox por meio de um script (VBS ou lote)

  • página inicial padrão
  • Mecanismo de pesquisa padrão
  • desativar atualização automática

Isso é possível?

asp316
fonte

Respostas:

9

Você pode fazer isso criando ou manipulando arquivos de preferências do Mozilla com sua linguagem de script preferida.

Para obter uma lista de preferências que podem ser definidas através desses arquivos, consulte as Preferências do Mozilla e a documentação about: config , embora as que correspondem à sua lista pareçam ser: -

  • browser.startup.homepage (página inicial padrão)
  • browser.search.defaultenginename (Mecanismo de pesquisa padrão)
  • app.update.auto (ativar / desativar a atualização automática)

No entanto, dependendo do seu ambiente, talvez seja melhor enviar as configurações por meio de um complemento personalizado (consulte os comentários do XPI no Guia breve de preferências do Mozilla ) ou através do GPO com FirefoxADM ou similar.

Kanji
fonte
O FirefoxADM permitirá que você selecione seu mecanismo de pesquisa padrão?
asp316
Clique no link para descobrir!
surfasb
Eu não usei o FADM, mas navegando na fonte, não parece. No entanto, você provavelmente pode modificá-lo para fazê-lo e contribuir com suas alterações de volta ao projeto.
Kanji
Hoje, dois anos depois, o cenário browser.search.defaultenginenamenão tem efeito. Uma atualização sobre esta resposta seria legal.
Hermann
2

Você pode substituir as opções do navegador privado em um arquivo user.js na pasta de perfis de usuário. Eu o uso frequentemente para substituir algumas opções, por exemplo, pipelining. O Firefox precisa ser reiniciado após a atualização do user.js. Se o arquivo user.js não existir, você deverá criar um.

Gigamegs
fonte
0

literalmente copiar / colar a parte da resposta que eu estava procurando (win env.)

'C:\Users\User\AppData\Roaming\Mozilla\Firefox\Profiles\#####.default\prefs.js'

adicionar

user_pref("browser.startup.homepage", "http://www.URL");

minhas tentativas de copiar para máquinas remotas com o caminho Get-Content / cat string.txt / "String" >>, terminaram com o lixo sendo inserido no prefs.jsarquivo devido aos caracteres de escape na string.

jogjib
fonte
0
cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.default"

set ffile=%cd%

echo user_pref("browser.startup.homepage", "http://superuser.com");>>"%ffile%\prefs.js"
echo user_pref("browser.search.defaultenginename", "Google");>>"%ffile%\prefs.js"
echo user_pref("app.update.auto", false);>>"%ffile%\prefs.js"
set ffile=

cd %windir%
Hyodo
fonte
11
Bem-vindo ao superusuário. Sua resposta será melhor se você explicar um pouco o código. Corrigi a formatação para você (e espero não ter quebrado o código). Tenho uma dúvida: acho que seu código adiciona linhas em vez de substituir as já existentes. Estou certo? Mesmo que seja apenas a última aparência de uma opção específica que conta (e, portanto, suas alterações sejam efetivas), o arquivo aumentará desnecessariamente a cada reconfiguração, reunindo mais e mais instâncias dessas opções, a menos que o próprio Firefox substitua o arquivo de maneira mais saudável caminho. Sua solução foi testada nesse cenário?
Kamil Maciorowski
0

O tópico tem pouco tempo, mas quero compartilhar minha solução de qualquer maneira. Espero que isso ajude alguém. Tivemos um problema semelhante e queríamos adicionar os certificados da Windows Store ao Firefox. Então, eu criei um script para fazer isso. De qualquer forma, você pode alterá-lo de acordo com suas necessidades: Basta adicionar ou remover as linhas em :: create cfg_file_name.cfg [...] e insira o que você precisa, por exemplo, para iniciar a página inicial e assim por diante. Lembre-se de definir o ^ antes do último), caso contrário não funcionará! echo pref("browser.startup.homepage", "http://superuser.com"^);

Desde a versão 49, você pode fazer assim:

@echo off
setlocal enabledelayedexpansion
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: MAIN INFORMATION
:: Title: Change about:config entries in Mozilla Firefox
:: Author: I-GaLaXy-I
:: Version: 1.1
:: Last Modified: 10.01.2018
:: Last Modified by: I-GaLaXy-I
::------------------------------------------------------------------------------
:: This script will add two files, which will change about:config parameters of
:: Mozilla Firefox. You can change the name of these two files and remove or add
:: parameters according to your needs. Renaming the files could be essential, if
:: a user creates own files and you don't want to overwrite them.
:: 
:: If the two files already exist and the script is run, the complete content
:: of both files will be overwritten!
::
:: Note: You may have to run it with administrative privileges!
::
:: More information: https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment
:: http://kb.mozillazine.org/Locking_preferences
::------------------------------------------------------------------------------
:: Subtitle: Import CAs from Windows certificate store
:: More information: https://serverfault.com/questions/722563/how-to-make-firefox-trust-system-ca-certificates
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: Set the name of the .cfg file
set cfg_file_name=add_win_certstore_cas

:: Set the name of the .js file
set js_file_name=add_win_certstore_cas

:: Registry keys to check for the installation path of Mozilla Firefox
set regkey1="HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\App Paths\firefox.exe" /v "Path"
set regkey2="HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\shell\open\command" /ve

:: Get installation path of Mozilla Firefox (if not found exit script):
reg query %regkey1%
if %errorlevel%==0 (
    :: First key found, getting path
    for /f "tokens=2* delims=    " %%a in ('reg query %regkey1%') do set path_firefox=%%b
) else (
    :: If first key not found, try another one:
    reg query %regkey2%
    if !errorlevel!==0 (
        for /f "tokens=2* delims=    " %%a in ('reg query %regkey2%') do set path_firefox=%%b
        set path_firefox=!path_firefox:\firefox.exe=!
        for /f "useback tokens=*" %%a in ('!path_firefox!') do set path_firefox=%%~a
) else (
    :: No key found, exit script
    exit
))

:: Create cfg_file_name.cfg if it doesn't exist and input the following lines.
:: Caution! If cfg_file_name.cfg already exists, all lines will be overwritten!
:: Add more lines as needed with the following syntax: 
::echo pref("<name_of_config_entry>", <value>^);
(
    echo //Firefox Settings rolled out via KACE from Systec
    echo //Do not manually edit this file because it will be overwritten!
    echo //Import CAs that have been added to the Windows certificate store by an user or administrator.
    echo pref("security.enterprise_roots.enabled", true^);
) > "%path_firefox%\%cfg_file_name%.cfg"

:: Create js_file_name.js if it doesn't exist and input the following lines.
:: Caution! If js_file_name.js already exists, all lines will be overwritten!
(
    echo /* Firefox Settings rolled out via KACE from Systec
    echo Do not manually edit this file because it will be overwritten! */
    echo pref("general.config.obscure_value", 0^);
    echo pref("general.config.filename", "%cfg_file_name%.cfg"^);
) > "%path_firefox%\defaults\pref\%js_file_name%.js"

:: Files created, exit
exit
I-GaLaXy-I
fonte