web-dev-qa-db-fra.com

Installer une extension firefox via un terminal?

Est-ce possible? Idéalement, j'essaie de créer un script qui prend des fichiers (fichiers de sauvegarde de mon extension) et les remplace ou les installe sur l'ordinateur d'un autre utilisateur, avec tous les paramètres enregistrés. Est-ce possible. C'est correct même si je dois remplacer tout le répertoire Mozilla Firefox, mais il serait préférable d'installer uniquement une extension avec tous les paramètres enregistrés. Je ne peux pas utiliser l'interface graphique, je recherche donc uniquement un terminal. Par exemple, un script bash et certains fichiers que je peux donner aux clients et ceux-ci seraient faciles à installer. Est-ce possible? Les extensions que j'essaie d'installer de cette façon sur l'ordinateur des gens sont tilisateur principal surchargé.

5
Dusan Milosevic

télécharger l'extension

$ wget http://www.addons...../extension-name
$ firefox extension-name

exemple sur Ubuntu-it Menu:

$ wget https://addons.cdn.mozilla.net/storage/public-staging/4684/ubuntu_it_menu-1.1.0-fx.xpi
$ firefox ubuntu_it_menu-1.1.0-fx.xpi

info: ' https://addons.mozilla.org/en-US/firefox/addon/ubuntu-it-menu/?src=search
'

5
hwez

Cela m'a pris du temps, mais voici une solution pour les scripteurs. En gros, vous devez placer tous les fichiers .xpi en tant que <addon id>.xpi dans le dossier des extensions de votre choix.

EXTENSIONS_SYSTEM='/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/'
EXTENSIONS_USER=`echo ~/.mozilla/firefox/*.default/extensions/`

get_addon_id_from_xpi () { #path to .xpi file
    addon_id_line=`unzip -p $1 install.rdf | egrep '<em:id>' -m 1`
    addon_id=`echo $addon_id_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_id"
}

get_addon_name_from_xpi () { #path to .xpi file
    addon_name_line=`unzip -p $1 install.rdf | egrep '<em:name>' -m 1`
    addon_name=`echo $addon_name_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_name"
}

# Installs .xpi given by relative path
# to the extensions path given
install_zipped () {
    xpi="${PWD}/${1}"
    extensions_path=$2
    new_filename=`get_addon_id_from_xpi $xpi`.xpi
    new_filepath="${extensions_path}${new_filename}"
    addon_name=`get_addon_name_from_xpi $xpi`
    if [ -f "$new_filepath" ]; then
        echo "File already exists: $new_filepath"
        echo "Skipping installation for addon $addon_name."
    else
        cp "$xpi" "$new_filepath"
    fi
}

Et maintenant, pour installer Adblock ..

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
install_for_user addon-1865-latest.xpi $EXTENSIONS_USER

Maintenant, si vous démarrez votre firefox, vous serez accueilli par une question pour installer Adblock.

1
Pithikos