Настройка Firefox для использования прокси из командной строки

17

Я ищу способ сказать Firefox использовать прокси в Ubuntu Ludid (10.04.1 LTS).

Я устанавливаю Ubuntu полуавтоматически на нескольких одинаковых машинах. Для этого я использую скрипт, который, помимо прочего, устанавливает общесистемные настройки прокси:

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

Я могу подтвердить, что переменные установлены правильно при проверке в оболочке. Большинство программ уважают этот параметр и используют мой прокси. Firefox, однако, нет. Однако, когда я открываю диалоговое окно настроек сетевого подключения, для прокси-сервера предустановлено «использование системных настроек».

Что Firefox ожидает здесь? Переменная с другим именем? Могу ли я установить что-то в prefs.js FF?

jstarek
источник

Ответы:

19

Firefox просто не может делать стандартную вещь и использовать переменные окружения (хотя, если честно, это отчасти оправдано, поскольку стандартная вещь не допускает файлы автоконфигурации прокси). Предпочтения для статических прокси

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

Существует расширение для Firefox $http_proxyи аналогичные переменные окружения: Environment Proxy .

В последних версиях Firefox якобы по умолчанию используются обычные переменные среды, или если для настройки типа прокси явно задано значение 5 («Использовать настройки системного прокси»), но у меня это не работает с версией в Ubuntu 10.04.

user_pref("network.proxy.type", 5);
Жиль "ТАК - прекрати быть злым"
источник
2
Спасибо за ваши ответы. После намека Жиля на то, что FF просто не использует переменные окружения, я пошел к багтрекеру Firefox и нашел следующую запись: bugzilla.mozilla.org/show_bug.cgi?id=224886 Итак, проблема известна в апстриме. С 2003 года.
Jstarek
можно ли эту опцию поместить в / etc / skel, чтобы ее могли получить все будущие пользователи?
Ubuntuser
@ Ubuntuser Я так не думаю. Параметры Firefox находятся в подкаталоге, имя которого зависит от того, какой профиль вы используете.
Жиль "ТАК - перестань быть злым"
8

Вы говорите «прокси», но ваши примеры показывают, что вы, вероятно, имеете в виду именно «HTTP прокси». Однако, если у вас также есть доступ к прокси-серверу SOCKS, который не запрещает HTTP-трафик, вы можете использовать tsocksинструмент:

tsocks firefox

как только вы настроили /etc/tsocks.confсоответствующим образом.

jmtd
источник
Спасибо за подсказку. Да, я должен был указать это лучше: мне нужен кеширующий прокси для http (squid).
Jstarek
6

Согласно списку параметров командной строки для прокси-сервера нет опции explizit. Как вы узнали, http_proxyни то, ни другое не работает. Я бы предложил сначала создать профиль:

firefox -CreateProfile foo

Далее вы можете использовать sedили любой другой инструмент , который вам нравится писать user_pref("network.proxy.http", "YOUR_PROXY"); user_pref("network.proxy.http_port", PORT);на prefs.js. Теперь Firefox должен нормально работать с этими прокси.

QBi
источник