
в контексте автоматизации установки машины я хотел бы настроить Firefox, в частности параметры прокси-сервера, из командной строки, например, путем выполнения команд или редактирования файлов конфигурации.
Возможно ли это, и если да, то как?
Редактировать: Я забыл упомянуть, что хотел бы настроить прокси-сервер для всех пользователей.
решение1
Согласноhttps://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfigвам нужно создать 2 файла. Первый файл autoconfig.js должен находиться в каталоге install-dir/defaults/pref и должен содержать только 2 строки:
pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
Второй файл firefox.cfg должен находиться в install-dir/ и содержать настройки вашего прокси-сервера.
Если вы используете Ubuntu 22.04 или более позднюю версию, Firefox предоставляется в виде оснастки (см.https://ubuntu.com/desktop/features). Вы также можете использовать snap в других дистрибутивах. Если вы не уверены, установлен ли Firefox как snap, попробуйте следующее:
$ which firefox
/snap/bin/firefox
or
~$ snap list
Name Version Rev Tracking Publisher Notes
firefox 110.0-3 2356 latest/stable/… mozilla -
Firefox snap не может читать такие каталоги, как /usr/lib/firefox, а файловая система firefox snap доступна только для чтения. Начиная с Firefox 108, у вас есть возможность поместить ваши файлы конфигурации в /etc/firefox (просто создайте этот каталог, если он не существует). Выполните следующие шаги. Вам нужно будет соответствующим образом настроить IP вашего прокси.
$ cd /etc
$ sudo mkdir firefox
$ cd /etc/firefox
Создайте файл firefox.cfg со следующим содержимым (первый комментарий важен):
// IMPORTANT: Start your code on the 2nd line
pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true);
pref("network.proxy.backup.ssl", "");
pref("network.proxy.backup.ssl_port", 0);
pref("network.proxy.http", "192.168.XXX.XXX");
pref("network.proxy.http_port", XXXX);
pref("network.proxy.share_proxy_settings", true);
pref("network.proxy.ssl", "192.168.XXX.XXX");
pref("network.proxy.ssl_port", XXXX);
pref("network.proxy.type", 1);
pref("network.trr.mode", 5);
Создайте другие каталоги:
$ sudo mkdir /etc/firefox/defaults
$ sudo mkdir /etc/firefox/defaults/pref
$ cd /etc/firefox/defaults/pref
Создайте файл autoconfig.js со следующим содержимым:
pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);
Теперь прокси-сервер установлен для всех пользователей этой локальной системы. Вы можете найти больше информации здесь:https://bugzilla.mozilla.org/show_bug.cgi?id=1785278
решение2
По сути, у вас есть два варианта (которые я могу придумать)
- Запустите Firefox и обновите свой профиль с правильными настройками (например, прокси-настройки). Затем закройте и извлеките свою конфигурацию в
~myusername/.mozilla/firefox/xxxxxxx.default/prefs.js
.хххххявляется динамической строкой. Затем вы можете использовать эти пользовательские настройки для своего развертывания. - После развертывания/установки машины обновите этот файл, добавив в него настройки прокси-сервера.
Когда вы запустите Firefox от имени этого пользователя, настройки будут применены напрямую.
Согласно комментарию @Sparhawk, второй вариант подойдет лучше. В этом случае мы сохраняем оригинал prefs.js
максимально нетронутым, просто меняя настройки прокси:
user_pref("network.proxy.http", "IPADDRESS OR URL");
user_pref("network.proxy.http_port", 8080);