Установка расширения firefox через терминал?

Возможно ли это? В идеале я пытаюсь создать скрипт, который будет принимать файлы (мои файлы резервных копий) и заменять или устанавливать их на компьютер другого пользователя, при этом сохраняются все настройки. Это возможно. Это нормально, даже если мне придется заменить весь каталог Mozilla Firefox, но было бы лучше установить только расширение со всеми сохраненными настройками. Я не могу использовать gui, поэтому я ищу только терминал. Например, скрипт bash и некоторые файлы, которые я могу предоставить клиентам, и они легко его установили. Это возможно? Расширения, которые я пытаюсь установить таким образом на компьютер пользователя, - это переопределение пользовательского агента.

1
задан 6 July 2014 в 21:09

1 ответ

Это заняло у меня некоторое время, но здесь есть решение для сценаристов. По существу, вы должны поместить каждый .xpi в качестве <addon id>.xpi в папку расширения, которую вы хотите.

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
}

А теперь установить Adblock ..

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

Теперь, если вы запустите свой firefox, вас встретит вопрос об установке Adblock.

1
ответ дан 24 May 2018 в 05:57

Другие вопросы по тегам:

Похожие вопросы: