Configuring Firefox to use a proxy from the command line
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=" > /etc/profile.d/proxy.sh
echo "export HTTP_PROXY=" >> /etc/profile.d/proxy.sh
chmod a+x /etc/profile.d/proxy.shI 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?
3 Answers
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); 3 You say 'proxy', but your examples indicate you probably mean 'HTTP proxy' specifically. However, if you also have access to a SOCKS proxy, which does not forbid HTTP traffic, you could use the tsocks tool:
tsocks firefoxonce you have configured /etc/tsocks.conf suitably.
According to a listing of commandline options there is no explizit option for a proxy. As you found out also neither http_proxy nor something alike works. I would suggest to first create a profile:
firefox -CreateProfile fooNext you can use sed or whatever tool you like to write user_pref("network.proxy.http", "YOUR_PROXY"); user_pref("network.proxy.http_port", PORT); to prefs.js. Now Firefox should work fine with those proxies.
More in general
"Zoraya ter Beek, age 29, just died by assisted suicide in the Netherlands. She was physically healthy, but psychologically depressed. It's an abomination that an entire society would actively facilitate, even encourage, someone ending their own life because they had no hope. Th…"