0

1 つの Firefox プロファイルから既にインストールされている XPI を手動で取得し、xpi を別のプロファイルまたはコンピューターで完全に手動でセットアップするようにセットアップするコードをいくつか書きました。

そのため、ユーザー プロファイル フォルダー内にある extensions.sqlite データベース内ですべてを適切にセットアップしました。xpi 自体を拡張機能フォルダーに移動すると、その場で拡張機能の名前を変更することもできます。

これが私の質問です。XPI を抽出すると、「harness-options.json」というファイルがあります。そのファイル内には、docsSHA256 と jsSHA256 の 2 つの変数があります。

変数をハッシュするこれらは、何らかの方法で拡張子に基づいている必要がありますが、どのように正確かはわかりません。

Firefoxがこれらのハッシュコードを生成する方法について、誰かが私を正しい方向に向けることができますか?

ありがとう。

4

1 に答える 1

1

Firefox はこれらのハッシュをまったく生成しません。するアドオンSDKです。Firefox 拡張機能マネージャーはまったく気にしませんharness-options.json。一方、SDK ローダーは少し気にしますが、現時点では何もharness-options.jsonしません。addons.mozilla.org に何かをアップロードするときに実行されるバリデーターなどの他のツールは、少なくとも気にします。jsSHA256docsSHA256jsSHA256

SDK を使用しないアドオンには (通常)harness-options.jsonファイルがまったく含まれていないことに注意してください。

jsSHA256モジュールごとに 1 つlib/、たとえば formain.jsなどがあります。

docsSHA256forは、SDK が XPI をビルドするときにmain.js生成されます。README.mdどうやら、README.mdXPI にパックされていません。他のすべてのモジュールではdocsSHA256、null のように見えます。

問題のコードはmanifest.py.

最後に、XPI をいじってはいけません (アンパックされた拡張機能を再パックする以外は) および/またはextensions.sqliteまったくもってはなりません。特に後者は、外部から変更することを意図していません。プロファイルの対応するフォルダーに XPI ファイルをドロップするだけでextensions/、次にブラウザーを起動したときに、アドオン マネージャーが自動的にそれらを取得します。

于 2013-11-14T18:46:21.977 に答える