默认以隐私模式启用所有 Firefox 扩展

默认以隐私模式启用所有 Firefox 扩展

我正在尝试在 Firefox 中启用隐私模式下的所有扩展,而无需进入每个插件。是否有某种通用开关(或扩展)可以一次性完成此操作?

我试过但它没有按预期工作。扩展在私人模式下仍处于关闭状态。

任何帮助是极大的赞赏。

答案1

这曾经可以通过将about:config选项设置为 extensions.allowPrivateBrowsingByDefaulttrue 来实现。

然而,Firefox 开发人员最近决定删除该功能。

在文章中 Firefox 本周动态:第 96 期,据说:

索尼娅·辛格拉贡献了一个补丁来删除 about:config 首选项“extensions.allowPrivateBrowsingByDefault”(它被引入作为一种后备机制,以返回到旧的行为,在过渡到用户控制的扩展权限期间,有选择地允许扩展在私人窗口中运行)-错误 1661517

此后,用户多次提出同样的问题,但并未得到开发人员的认同。

否定的回答:这不再可能,不幸的是,这是设计使然。

答案2

可以通过浏览器控制台以编程方式在私人模式下启用所有扩展。

第一的启用浏览器控制台的命令行

然后执行以下代码片段

(async()=>{
    const PRIVATE_BROWSING_PERMS = {
        permissions: ["internal:privateBrowsingAllowed"],
        origins: [],
    };
    const {ExtensionPermissions} = ChromeUtils.import("resource://gre/modules/ExtensionPermissions.jsm");
    const myaddons = await AddonManager.getAddonsByTypes(["extension"]);
    for(let addon of myaddons){
        let policy = WebExtensionPolicy.getByID(addon.id);
        let extension = policy && policy.extension;
        await ExtensionPermissions.add(addon.id, PRIVATE_BROWSING_PERMS, extension);
        if (addon.isActive)
            addon.reload();
    }
})();

警告:从浏览器控制台执行的代码几乎可以绕过所有安全屏障。虽然上面的代码片段非常简单,但如果您不了解一段代码的作用,您不应该相信陌生人(就是我)告诉您从浏览器控制台执行它是无害的。

答案3

您可以通过编辑extension-preferences.jsonFirefox 配置文件来执行此操作。这是我的配置文件:

{
  -- snip (a bunch of built-in extensions) --
  "[email protected]": {
    "permissions": [
      "internal:privateBrowsingAllowed"
    ],
    "origins": []
  }
}

只需将该权限添加到所有扩展条目(您可能可以创建一个sed来自动化此操作,甚至只是解析 JSON)。

我希望 Mozilla 考虑恢复该extensions.allowPrivateBrowsingByDefault选项。他们删除该选项完全是安全闹剧,无法阻止任何恶意行为者以编程方式在私人模式下启用恶意扩展。它所做的就是让系统管理员的工作变得更加困难。还值得一提的是,我能够通过比较(使用 Meld)我的 Firefox 配置文件的前后差异,在 2 分钟内发现这一点 - 所以我真的希望这不是为了设置安全屏障。

相关内容