gpt4 book ai didi

javascript - 如何以编程方式更改 Firefox 代理设置?

转载 作者:行者123 更新时间:2023-12-03 16:17:41 28 4
gpt4 key购买 nike

我正在通过命令行启动 Firefox,我想使用代理启动特定的 Firefox 配置文件。根据this answer on Stackoverflow , Firefox 代理设置存储在 pref.js在 Firefox 配置文件文件夹中,需要编辑此文件以使用代理启动 FF。
我已将文件编辑如下:

user_pref("network.proxy.ftp", "1.0.0.1");
user_pref("network.proxy.ftp_port", 00000);
user_pref("network.proxy.gopher", "1.0.0.1");
user_pref("network.proxy.gopher_port", 00000);
user_pref("network.proxy.http", "1.0.0.1");
user_pref("network.proxy.http_port", 22222);
user_pref("network.proxy.no_proxies_on", "localhost, 1.0.0.1");
user_pref("network.proxy.socks", "1.0.0.1");
user_pref("network.proxy.socks_port", 00000);
user_pref("network.proxy.ssl", "1.0.0.1");
user_pref("network.proxy.ssl_port", 00000);
user_pref("network.proxy.type", 1);
注意:上面使用的 IP 地址和端口用于演示目的。
但是,我遇到了两个问题:
1) Firefox 完全忽略了这些设置并在没有任何代理的情况下启动 FF
2) 当 Firefox 退出时,文本修改被还原/删除
注意:当我编辑上面的文本文件时,Firefox 没有运行。我知道 prefs.js 的顶部有免责声明:

If you make changes to this file while the application is running, thechanges will be overwritten when the application exits.


但在我编辑上述文件时,没有运行 Firefox 的实时实例。
使用不同的代理手动创建不同的 FF 配置文件(如另一个用户的建议)不是一种选择,因为一切都需要以编程方式完成,无需手动干预。
Firefox 是否仍然支持通过 pref.js 链接代理? ?如果没有,目前通过命令行使用 Java 代理启动 Firefox 的有效解决方案是什么?
谢谢

最佳答案

proxy-autoconfig 文件就是您要查找的内容。
文档 here .
定义文件name.pac , 其中包含 javascript 函数

function FindProxyForURL(url, host)
在文件中,您可以使用任何您想决定使用什么代理的 javscript。在自动配置代理下的 Firefox 设置中设置 .pac 文件的路径。请记住使用文件 url。
要设置自动文件切换,只需将 firefox 配置为指向单个文件,并在每次您希望更改文件时以编程方式覆盖该文件。您可以保留所有选项的副本,并在运行之前将选项文件复制到目标文件中。
一个 super 简单的 pac 文件示例如下:
function FindProxyForURL (url, host) {
return 'PROXY proxy.example.com:8080; DIRECT';
}
它将始终为所有端点返回相同的代理。
pac 标准没有明确支持密码,但是有不同的方法可以解决这个问题。如果 Firefox 认为需要登录,它会提示您登录,您也可以将密码嵌入 url ( username:password@proxy.example.com )。此外,像 proxy login automator 这样的工具可以让您使用密码并动态设置代理,而无需与 firefox 抗争。

关于javascript - 如何以编程方式更改 Firefox 代理设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66684631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com