我每次都需要在新的配置文件目录中运行 Firefox,并启用我的扩展程序。我所做的如下:
- 创建用于存储配置文件的临时目录(/tmp/profile.123)
- 创建扩展目录(/tmp/profile.123/extensions)
- 按照描述创建扩展代理这里 (/tmp/profile.123/extensions/[电子邮件保护])
我的命令行如下所示:
firefox -no-remote -profile /tmp/profile.123 -url http://www.google.com
问题是我的扩展程序启动时处于禁用状态,我不得不手动启用它并重新启动 Firefox。是否可以让它首先启用?
谢谢!
我找到的解决方法:
在新建的配置文件文件夹中创建 extensions.sqlite 数据库文件。此文件必须包含“addon”表下的我的扩展条目。
答案1
看起来修改 extensions.sqlite 的解决方法不再有效,并且这样的数据库不存在。它在此处描述: http://research.zscaler.com/2012/09/how-to-install-silently-malicious.html
要在首次运行时自动启用扩展,请将以下条目添加到新创建的配置文件中的 extensions.json 中:
我的例子extensions.json
{
"schemaVersion": 16,
"addons": [
{
"id": "jid1-ZS4Xlocq0DBhdg@jetpack",
"syncGUID": "1DNxcuq4WubL",
"location": "app-profile",
"version": "1.0",
"type": "extension",
"internalName": null,
"updateURL": null,
"updateKey": null,
"optionsURL": null,
"optionsType": null,
"aboutURL": null,
"iconURL": null,
"icon64URL": null,
"defaultLocale": {
"name": "My cool extension name",
"description": "Description",
"creator": "hacker_1998",
"homepageURL": null
},
"visible": true,
"active": true,
"userDisabled": false,
"appDisabled": false,
"descriptor": "c:\\tmp\\firefox001\\extensions\\[email protected]",
"installDate": 1419414549006,
"updateDate": 1419414549006,
"applyBackgroundUpdates": 1,
"bootstrap": true,
"size": 54426,
"sourceURI": null,
"releaseNotesURI": null,
"softDisabled": false,
"foreignInstall": true,
"hasBinaryComponents": false,
"strictCompatibility": false,
"locales": [
],
"targetApplications": [
{
"id": "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
"minVersion": "26.0",
"maxVersion": "30.0"
}
],
"targetPlatforms": [
],
"multiprocessCompatible": false
}
]
}
"active": true
是"userDisabled": false
静默激活扩展的键
命令执行后该文件extensions.json
不存在"-CreateProfile"
,因此您应该手动创建它。
要小心使用不同版本的 Firefox。
更新
如果您想在第一次运行配置文件后立即使用扩展,prefs.js
文件还应该包含类似以下内容:
user_pref("extensions.bootstrappedAddons", "{\"CoolAddon@jetpack\":{\"version\":\"1.0\",\"type\":\"extension\",\"descriptor\":\"C:\\\\Users\\\\superuser\\\\AppData\\\\Roaming\\\\Mozilla\\\\Firefox\\\\Profiles\\\\7hkjishf.Default User\\\\extensions\\\\[email protected]\",\"multiprocessCompatible\":false}}");
注意奇怪的引号的转义。
答案2
现在无法确定地检查,但可能你必须在配置文件夹中的文件中使用extensions.enabledAddons
(和/或extensions.enabledItems
) 。prefs.js
就像是:
user_pref("extensions.enabledAddons", "extId1:version,extId2:version");
答案3
您必须编辑 extensions.json 文件,就像 Gleb 所说的那样,还要编辑 prefs.js 中的“user_pref("extensions.bootstrappedAddons", "{}");”条目。尝试通过启用和禁用扩展来比较此条目的差异,您将找出要编辑的部分。