0

我编写了一些代码,手动获取已经从一个 Firefox 配置文件安装的 XPI,并将 xpi 设置为完全在不同的配置文件或计算机上手动设置。

因此,我在用户配置文件文件夹中的 extensions.sqlite 数据库中设置了所有内容。当我将 xpi 本身移动到扩展文件夹中时,我什至可以即时重命名扩展。

这是我的问题:当我提取 XPI 时,有一个名为“harness-options.json”的文件。在该文件中有两个变量,docsSHA256 和 jsSHA256。

这些散列变量必须以某种方式基于扩展,但我不确定如何准确。

关于firefox如何生成这些哈希码,谁能指出我正确的方向?

谢谢。

4

1 回答 1

1

Firefox 根本不会生成这些哈希值。它是 Add-on SDK。Firefox 扩展管理器根本不关心harness-options.json。反过来,SDK 加载程序确实有点关心harness-options.json,但目前不做任何jsSHA256事情docsSHA256jsSHA256其他工具,例如在您将内容上传到 addons.mozilla.org 时运行的验证器,至少确实关心。

应该注意的是,不使用 SDK 的附加组件(通常)根本不包含harness-options.json文件。

jsSHA256每个模块将有一个lib/,例如一个用于main.js等等。

docsSHA256formain.jsREADME.md在 SDK 构建 XPI 时生成。显然,README.md没有打包到 XPI 中。对于所有其他模块,它似乎docsSHA256为空。

有问题的代码位于manifest.py.

最后,您不应该弄乱 XPI(除了重新打包解压缩的扩展)和/或extensions.sqlite根本不应该。特别是后者并不意味着要在外部进行修改。只需将您的 XPI 文件放到配置文件的相应extensions/文件夹中,插件管理器将在您下次启动浏览器时自动拾取它们。

于 2013-11-14T18:46:21.977 回答