user.js лучше для настроек, так как вы можете включить только те строки, которыми хотите манипулировать, т.е. вместо find-replace вы можете просто перезаписать весь файл. Кроме того, prefs.js (по крайней мере, в Firefox 65.0.1 для Mac) начинается с предупреждения:
// DO NOT EDIT THIS FILE.
//
// If you make changes to this file while the application is running,
// the changes will be overwritten when the application exits.
//
// To change a preference value, you can either:
// - modify it via the UI (e.g. via about:config in the browser); or
// - set it within a user.js file in your profile.
В моем случае user.js не существовало, поэтому я создал его и включил строку для переключения между «Нет прокси» и «Ручная настройка прокси» (я все время использую только один прокси SOCKS, поэтому нет необходимости менять номер порта или какие-либо другие данные, просто измените значение 0 на 1 в следующей строке):
user_pref("network.proxy.type", 1);
Я закончил с bash-скриптом, который я поместил в / usr / local / bin / firefox:
#!/bin/bash
if [ $# -eq 0 ]; then
echo 'user_pref("network.proxy.type", 0);' > ~/Library/Application\ Support/Firefox/Profiles/t5rvw47o.default/user.js
open -a Firefox
else
case $1 in
vpn)
echo 'user_pref("network.proxy.type", 1);' > ~/Library/Application\ Support/Firefox/Profiles/t5rvw47o.default/user.js
open -a Firefox
esac
fi
Чтобы использовать его, я проверяю, что Firefox не запущен, а затем запускаю firefox
для прямого соединения и firefox vpn
для использования прокси.