Настройте Firefox без использования графического интерфейса

Настройте Firefox без использования графического интерфейса

в контексте автоматизации установки машины я хотел бы настроить 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

По сути, у вас есть два варианта (которые я могу придумать)

  1. Запустите Firefox и обновите свой профиль с правильными настройками (например, прокси-настройки). Затем закройте и извлеките свою конфигурацию в ~myusername/.mozilla/firefox/xxxxxxx.default/prefs.js.хххххявляется динамической строкой. Затем вы можете использовать эти пользовательские настройки для своего развертывания.
  2. После развертывания/установки машины обновите этот файл, добавив в него настройки прокси-сервера.

Когда вы запустите Firefox от имени этого пользователя, настройки будут применены напрямую.


Согласно комментарию @Sparhawk, второй вариант подойдет лучше. В этом случае мы сохраняем оригинал prefs.jsмаксимально нетронутым, просто меняя настройки прокси:

user_pref("network.proxy.http", "IPADDRESS OR URL");
user_pref("network.proxy.http_port", 8080);

Связанный контент