Ubuntu – Configuring Firefox to use a proxy from the command line

environment-variablesfirefoxnetworkingPROXY

I'm looking for a way to tell Firefox to use a proxy in Ubuntu Ludid (10.04.1 LTS).

I'm installing Ubuntu semi-automatically on several identical machines. For this, I use a script that, amongst other things, sets system-wide proxy settings:

echo "export http_proxy=http://myproxy:3128/" > /etc/profile.d/proxy.sh
echo "export HTTP_PROXY=http://myproxy:3128/" >> /etc/profile.d/proxy.sh
chmod a+x /etc/profile.d/proxy.sh

I can confirm that the variables are set correctly when checking in a shell. Most programs respect this setting and use my proxy. Firefox, however, does not. When I open its network connection settings dialog, however, it is pre-set to "use system settings" for the proxy.

What does Firefox expect here? A differently-named variable? Can I set something in FF's prefs.js?

Best Answer

Firefox just can't do the standard thing and use environment variables (though to be honest this is partly justified as the standard thing doesn't allow for proxy autoconfiguration files). The preferences for static proxies are

user_pref("network.proxy.http", "wwwproxy.example.com");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.type", 1);

There's a Firefox extension to use $http_proxy and similar environment variables: Environment Proxy.

Recent versions of Firefox supposedly use the usual environment variables by default, or if the proxy type preference is explicitly set to 5 (“Use system proxy settings”), but it doesn't work for me with the version in Ubuntu 10.04.

user_pref("network.proxy.type", 5);