通过命令行设置firefox代理

blu*_*ene 40 firefox command-line

如何在Windows XP/2k上通过命令行更改Firefox代理设置?

谢谢

Tom*_*lak 17

代理设置存储在prefs.jsFirefox配置文件中的用户文件中.

Firefox配置文件目录和文件的路径是:

%APPDATA%\Mozilla\Firefox\Profiles\7b9ja6xv.default\prefs.js

其中" 7b9ja6xv"是随机字符串.但是,默认配置文件的目录始终以".default"结尾.大多数情况下,无论如何只会有一个配置文件.

您之后的设置被命名为" network.proxy.http"和" network.proxy.http_port".

现在它取决于您能够/准备用于更改文件的技术.

PS:如果这是通过登录脚本或类似方式更改一组用户的代理设置,我建议考虑使用自动代理发现(WPAD)机制的可能性.您永远不必再次更改用户计算机上的代理配置.


Aym*_*ieh 9

我认为你不能.但是,您可以为每个代理设置创建不同的配置文件,并在运行Firefox时使用以下命令在配置文件之间切换:

firefox -no-remote -P <profilename>
Run Code Online (Sandbox Code Playgroud)


小智 9

只是想以更干净的格式发布代码...最初由sam3344920发布

cd /D "%APPDATA%\Mozilla\Firefox\Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.http", "148.233.229.235 ");>>"%ffile%\prefs.js"
echo user_pref("network.proxy.http_port", 3128);>>"%ffile%\prefs.js"
echo user_pref("network.proxy.type", 1);>>"%ffile%\prefs.js"
set ffile=
cd %windir%
Run Code Online (Sandbox Code Playgroud)

如果有人想要删除代理设置,这里有一些代码可以帮助您.

cd /D "%APPDATA%\Mozilla\Firefox\Profiles"
cd *.default
set ffile=%cd%
type "%ffile%\prefs.js" | findstr /v "user_pref("network.proxy.type", 1);" >"%ffile%\prefs_.js"
rename "%ffile%\prefs.js" "prefs__.js"
rename "%ffile%\prefs_.js" "prefs.js"
del "%ffile%\prefs__.js"
set ffile=
cd %windir%
Run Code Online (Sandbox Code Playgroud)

解释:代码去找到perfs.js文件.然后在其中查找"user_pref("network.proxy.type",1);" .如果找到它,它将使用/ v参数删除该文件.我添加重命名和删除行的原因是因为在删除代理行后,我找不到覆盖文件的方法.我确信这样做更有效/更安全 ......

  • 我从来不知道像'cd*.default*`这样的东西是可能的 - 甚至更好:`pushd%APPDATA%\ Mozilla\Firefox\Profiles\*.default*`也可以. (3认同)

ben*_*enc 5

最简单的方法是将 Firefox 配置为使用带有文件 URL 的 PAC,然后在启动 Firefox 之前通过 line 命令更改文件 URL。

这是最简单的方法。您不必编写一个脚本来记住 prefs.js 的路径(可能会随着时间的推移而改变)。

您配置一次配置文件,然后随时编辑外部文件。

  • 在启动 Firefox 之前,请通过 line 命令更改文件 URL -&gt; 请解释一下或提供一个代码示例。 (5认同)

Dir*_*mar 0

我认为没有直接的方法来设置代理(在 Windows 上)。

但是,您可以安装像 FoxyProxy 这样的附加组件,为不同的代理创建多个配置,然后在启动 FireFox 之前将适当的配置移动到 FireFox 配置文件中的正确文件夹(使用批处理文件)。