我编写了一些代码,手动获取已从一个Firefox配置文件安装的XPI,然后将xpi设置为完全在不同的配置文件或计算机上手动设置。
所以我在用户配置文件夹中的extensions.sqlite数据库中设置了一切。当我将xpi本身移动到扩展文件夹中时,我甚至可以动态地重命名扩展名。
这是我的问题:当我提取XPI时,有一个名为'harness-options.json'的文件。在该文件中有两个变量docsSHA256和jsSHA256。
这些哈希变量必须以某种方式基于扩展名,但我不确定具体如何。
对于firefox如何生成这些哈希码,有没有人能指出正确的方向?
感谢。
答案 0 :(得分:1)
Firefox根本不会产生这些哈希值。它是Add-on SDK。 Firefox扩展管理器完全不关心harness-options.json
。 SDK加载器依次关注harness-options.json
,但目前不对jsSHA256
或docsSHA256
做任何事情。其他工具,例如上传到addons.mozilla.org时运行的验证程序,至少关心jsSHA256
。
应该注意的是,不使用SDK的附加组件(通常)根本不包含harness-options.json
文件。
每个模块jsSHA256
将有一个lib/
,例如一个用于main.js
,依此类推。
docsSHA256
生成main.js
的{p> README.md
。显然,README.md
没有打包到XPI中。对于所有其他模块,它显示docsSHA256
似乎为空。
有问题的代码位于manifest.py
。
最后,你不应该使用XPI(除了重新打包解压缩的扩展名)和/或extensions.sqlite
。特别是后者并不意味着在外部进行修改。
只需将您的XPI文件放在配置文件的相应extensions/
文件夹中,下载启动浏览器时,加载项管理器就会自动将它们选中。