使用代理通过命令行启动 Firefox

使用代理通过命令行启动 Firefox

我正在测试代理。我想使用命令行参数启动 Firefox 的第二个实例,以便会话使用 HTTP 代理。(Firefox 的第一个实例正常启动并在没有代理的情况下运行,因此我可以绕过代理并直接联系网络)。

Firefox 有命令行参数,但它们似乎不包含代理信息。但我不是 Firefox 命令行或其他 Firefox 技巧方面的专家。

是否可以使用代理信息从命令行运行 Firefox 的第二个实例?

答案1

看来 Firefox 不允许我使用代理信息从命令行启动它。

我最终改用 Chrome。它允许我从命令行使用代理设置启动它。请参阅用于测试的代理 Chromium

答案2

考虑一个设置 Firefox 通过 SOCKS 代理运行的脚本。HTTP 代理应该也能正常工作,您只需设置正确的首选项。该脚本接受两个参数并执行以下操作:

  1. 使用给定名称创建新的 Firefox 配置文件
  2. 切换 socks 代理设置以使用给定端口,同时忽略其他设置
  3. 使用新配置文件运行 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

如果我没有正确理解你的意思,请见谅。

相关内容