web-dev-qa-db-ja.com

ターミナル経由でFirefox拡張機能をインストールしますか?

これは可能ですか?理想的には、ファイル(拡張機能のバックアップファイル)を取得し、すべての設定を保存して、他のユーザーのコンピューターに置き換えるかインストールするスクリプトを作成しようとしています。これは可能ですか? Mozilla Firefoxのディレクトリ全体を置き換えなければならない場合でも大丈夫ですが、すべての設定を保存した拡張機能のみをインストールする方が良いでしょう。 guiを使用できないため、端末のみを探しています。たとえば、bashスクリプトと、顧客に提供できるいくつかのファイルは、簡単にインストールできます。これは可能ですか?この方法でユーザーのコンピューターにインストールしようとしている拡張機能は、ユーザーエージェントオーバーライドです。

5
Dusan Milosevic

拡張機能をダウンロードする

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

ubuntu-itメニューの例:

$ 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

これには少し時間がかかりましたが、ここにスクリプト作成者向けのソリューションがあります。基本的に、すべての.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
Pithikos