FIrefox 附加组件和 运行 个可执行二进制文件

FIrefox add-ons and running executable binaries

我想 运行 我自己的可执行二进制文件(从 C 代码生成)与我的 Firefox 附加组件中的其他常规文件捆绑在一起。因为,它需要为此创建一个新进程,我想我应该使用 sdk/system/child_process 或本地 OS API 通过使用 js-ctypes.

我的问题是,创建新流程会对附加组件发布流程产生任何负面影响吗?它是否违反任何 Mozilla 规则?

创建新进程对插件发布进程有严重影响,但不违反rules

通过以这种低级别的方式与系统交互,您的附加组件将被标记为进行行政审查,这可能导致即使是微不足道的更新也需要长达 3 个月的时间才能获得批准。它肯定不会总是花那么长时间(如果您向他们解释缓解情况,审阅者非常擅长快速通过修复关键或影响安全的错误的审阅)但是对于典型的新版本,提交 XPI 可能需要几个月的时间文件以供审查,它实际交付给用户。

目前,您可以通过在 AMO 生态系统之外托管您的附加组件来避免这种延迟,但在接下来的 1-2 个月 add-on signing requirements 发挥作用时,这种情况将会改变。他们说非托管附加组件的审查会更快,我希望情况会如此,但即便如此,如果您希望获得定期的自动化测试,手动审查的需求可能是一个严重的问题和您的附加组件的部署过程。

如果 Mozilla 在今年晚些时候在这方面做出进一步的改变以阻止他们的附加开发者社区的流失,我不会感到惊讶。特别是,即使是未更改的代码也会触发对每个小更新进行审查的需要,这似乎很疯狂。

至于你如何实现它,我以前没有使用过 SDK,所以你的建议可能是最好的,但要考虑的第三个选项是使用 XPCOM nsIProcess 接口。我不再在我的附加组件中使用 ctypes,但我希望它能像任何其他可以启动可执行文件的方法一样被标记为管理员审查。

就捆绑而言,这应该不是问题,但您需要向 Mozilla 提供源代码,以便他们确保它是安全的。