无需通过AMO签名或上传,能否安装自定义Firefox XPI扩展?
如何在Firefox本地安装未签名的自定义XPI扩展
当然可以在Firefox里本地安装自己修改的未签名扩展,不用通过AMO签名或者第三方上传,下面给你两种实用的方法,适配不同的需求:
一、临时加载(适合调试修改)
这种方式不需要任何配置,重启浏览器后扩展会消失,适合快速测试你修改后的效果:
- 打开Firefox,在地址栏输入
about:debugging并回车 - 点击左侧菜单的「This Firefox」(旧版本可能直接在主界面显示「Load Temporary Add-on」按钮)
- 找到你修改后的扩展文件:可以直接选择修改后的XPI包,或者打开解压后的扩展文件夹里的
manifest.json文件,Firefox会立即加载这个扩展。
二、持久化安装(重启后保留扩展)
如果希望修改后的扩展在重启浏览器后依然可用,需要根据你使用的Firefox版本来操作:
情况1:使用Firefox Developer Edition或Nightly版本
这两个版本默认允许安装未签名扩展,步骤很简单:
- 打开地址栏输入
about:config,点击「接受风险并继续」 - 搜索配置项
xpinstall.signatures.required,将其值改为false - 直接把你的自定义XPI文件拖到Firefox窗口里,按照提示完成安装即可。
情况2:使用普通Firefox Release版本
普通官方版从Firefox 68开始,xpinstall.signatures.required 被锁定为 true,无法直接修改。不过你可以通过以下两种方式解决:
- 方式A:使用未打包的扩展文件夹
把你修改后的扩展文件夹保留,每次打开Firefox后通过about:debugging加载(和临时加载步骤一样),虽然需要手动操作,但胜在简单。 - 方式B:通过企业政策配置
你可以创建一个Firefox的企业政策文件,允许安装指定的未签名扩展。具体步骤是:- 在Firefox的配置文件夹中创建
distribution文件夹(如果没有的话) - 在
distribution文件夹里创建policies.json文件,写入以下内容:
把{ "policies": { "ExtensionSettings": { "*": { "installation_mode": "allowed", "install_sources": ["file:///path/to/your/extension/"] } } } }file:///path/to/your/extension/替换成你扩展文件夹或XPI文件的本地路径 - 重启Firefox后,就可以正常安装你的自定义扩展了。
- 在Firefox的配置文件夹中创建
另外,针对你遇到的「文件哈希与manifest不匹配」问题:其实你完全可以不用重新打包成XPI,直接保留修改后的扩展文件夹,用 about:debugging 加载文件夹里的 manifest.json,这样就不会有哈希不匹配的问题了,调试起来更方便。
内容的提问来源于stack exchange,提问作者user1306322




