![使用代理通过命令行启动 Firefox](https://linux22.com/image/1392010/%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%90%AF%E5%8A%A8%20Firefox.png)
我正在测试代理。我想使用命令行参数启动 Firefox 的第二个实例,以便会话使用 HTTP 代理。(Firefox 的第一个实例正常启动并在没有代理的情况下运行,因此我可以绕过代理并直接联系网络)。
Firefox 有命令行参数,但它们似乎不包含代理信息。但我不是 Firefox 命令行或其他 Firefox 技巧方面的专家。
是否可以使用代理信息从命令行运行 Firefox 的第二个实例?
答案1
看来 Firefox 不允许我使用代理信息从命令行启动它。
我最终改用 Chrome。它允许我从命令行使用代理设置启动它。请参阅用于测试的代理 Chromium。
答案2
考虑一个设置 Firefox 通过 SOCKS 代理运行的脚本。HTTP 代理应该也能正常工作,您只需设置正确的首选项。该脚本接受两个参数并执行以下操作:
- 使用给定名称创建新的 Firefox 配置文件
- 切换 socks 代理设置以使用给定端口,同时忽略其他设置
- 使用新配置文件运行 Firefox
#!/bin/sh
set -e -x
PROFILENAME=$1; shift
SOCKSPORT=$1; shift
firefox -CreateProfile $PROFILENAME
cd $HOME/.mozilla/firefox/*$PROFILENAME
set_pref() {
if grep -q "$1" prefs.js ; then
sed -i "s@user_pref(\"$1\",\(.*\));@$2@g" prefs.js
else
echo "$2" >> prefs.js
fi
}
set_pref_asis() {
set_pref "$1" "user_pref(\"$1\",$2);"
}
set_pref_str() {
set_pref "$1" "user_pref(\"$1\",\"$2\");"
}
set_pref_str "network.proxy.no_proxies_on" "localhost, 127.0.0.1"
set_pref_str "network.proxy.socks" "127.0.0.1"
set_pref_asis "network.proxy.socks_port" "$SOCKSPORT"
set_pref_asis "network.proxy.type" 1
exec firefox --profile `pwd` "$@"
答案3
如果你使用的是 linux/unix,请尝试使用 proxychains。配置它(我相信谷歌应该可以帮助你),然后启动:
proxychains firefox
如果我没有正确理解你的意思,请见谅。