如何从 CLI 更改 Firefox 配置设置

如何从 CLI 更改 Firefox 配置设置

我的目标是能够自动更改配置设置,而无需重新启动正在运行的 Firefox 实例。特别是我想更改网络代理类型。因此,例如,理想的做法是

firefox --set network.proxy.type "1"

或者

firefox --network-proxy-type "1"

目前,我的解决方法是使用名为“QuickProxy”的扩展程序,它允许我通过单击 QuickProxy 状态栏按钮来打开或关闭代理设置。(如果您需要更改其他设置,则此解决方法显然不起作用)

但这仍然是一个额外的步骤 - 对于其他所有操作,代理设置都是通过插入网络管理器(在 Kubuntu Linux 上)的脚本动态管理的,该脚本根据分配的 IP 地址触发以打开或关闭代理使用。只有 Firefox 无法(目前)进行这样的管理。

我想可能有一种方法可以创建一个“设置” Mime 类型,它可能会改变配置设置,这样我就可以做类似的事情:

firefox file:///tmp/turn-proxy-on.settings

或者也许有一个附加组件可以使 Firefox 理解新的 CLI 选项来实现这一点……

但是在正在运行的 Firefox 实例中更改设置的任何其他可编写脚本的方式就足够了。

PS 理想情况下,我还希望能够查询设置的当前值,例如通过类似命令firefox --get network.proxy.setting

答案1

我找不到任何方法prefs.js在从命令行更改文件后重新加载文件(这是 Firefox 存储其设置的地方)。这很遗憾,因为这本来是最简单的方法。

但是,对于您想要更改的特定设置,您可以简单地设置一个proxy.pac文件检查你的 IP 是否在特定子网中,并且仅在其位于特定子网中时才设置代理:

if (isInNet(myIpAddress(), "192.168.1.0", "255.252.0.0")) { 
     proxy = "PROXY 123.456.789.100:12345";
}
else{
     proxy = "DIRECT";
}
return proxy;

显然,您应该使用实际代理的 URL 和端口。您还需要对其进行修改,以便它为您的设置运行正确的测试(IP 范围等)。

现在,打开代理设置选项卡,选择“自动代理配置 URL”并将其指向:file:////path/to/proxy.pac。重新启动 Firefox,现在您的代理应该会根据您的 IP 地址自动设置。

这里更多细节。

相关内容