- Детальная настройка браузера Firefox
- Варианты настроек
- Пункт меню Preferences
- Файл user.js в папке профиля
- Детальные настройки браузера
- Маленькие секреты about: config, ручная настройка
- dom.allow_scripts_to_close_windows
- dom.disable_image_src_set
- dom.disable_open_click_delay
- dom.disable_open_during_load
- dom.disable_window_flip
- dom.disable_move_resize
- dom.disable_window_open_feature.close
- dom.disable_window_open_feature.directories
- dom.disable_window_open_feature.location*
- dom.disable_window_open_feature.menubar
- dom.disable_window_open_feature.minimizable
- dom.disable_window_open_feature.personalbar**
- dom.disable_window_open_feature.resizable*
- dom.disable_window_open_feature.scrollbars**
- dom.disable_window_open_feature.status**
- dom.disable_window_open_feature.titlebar
- dom.disable_window_status_change
- dom.event.contextmenu.enabled
- dom.max_chrome_script_run_time
- dom.max_script_run_time
- dom.popup_allowed_events
- dom.popup_maximum*
- Разное
- dom.disable_cookie_get
- dom.disable_cookie_set
- dom.disable_location.hostname.set**
- network.cookie.prefsMigrated
- intl.charset.default
- view_source.editor.external**
- view_source.editor.path**
- layout.word_select.eat_space_to_next_word**
- layout.word_select.stop_at_punctuation
- Ускорение
- network.http.pipelining*
- network.http.proxy.pipelining*
- network.http.pipelining.maxrequest*
- nglayout.initialpaint.delay**
- network.prefetching_next
- network.http.redirection-limit**
- network.http.max-connections**
- network.http.max-connections-per-server**
- network.http.max-persistent-connections-per-server**
- network.http.max-persistent-connections-per-proxy**
- Ссылки
- Сноска
Детальная настройка браузера Firefox
Вот уже пару лет, как я рекомендую всем моим знакомым использовать Firefox, как браузер для повседневного серфинга в интернете. Я люблю этот браузер за его гибкость в настройке, скорость и заботу о приватности. Много раз на форумах меня спрашивали про какие-то отдельные случаи по настройке, поэтому я решил написать статью с подробным описанием настроек, как шпаргалку для себя и чтобы делиться ею, в случае новых вопросов.
Надеюсь она немножко поможет в популяризации этого чудесного браузера.
Как только у меня появился интернет много лет тому, я сразу же, по совету друзей, начал экспериментировать с различными браузерами. Уже точно не помню, но я постоянно прыгал между оперой и огнелисом. И тут появился хром, который был на каждом углу и лез со всех щелей. Сначала он был довольно сыроват и я чаще проводил время на огнелисе, забросив оперу совсем. Но со временем хром начал работать быстрее и я окончательно перешел только на него. И вот пару лет назад я работал в одной компании, где у меня был рабочий ноутбук с 8 Gb RAM, на **Ubuntu** и с обязательной виртуалкой для *Windows*, так как компания использовала *Outlook* и *Skype for Business* . Я конечно не долго работал в таких условиях, но пока работал, все постоянно висло, хром с *Intellij Idea* + виртуалка сжирали всю память и уход в *swap* к вечеру был обычной рутиной, пока я не услышал про выход версии **Firefox 57.0 Quantum**, в которой начали переписывать части движка **Gecko** на **Rust**, используя наработки экспериментального движка **Servo**.
Так как терять мне было нечего, я решил попробовать вернуться на когда-то любимый браузер. И какое же было мое удивление, когда по скорости работы Firefox перестал уступать хрому. Так как я не использовал множество дополнений, я легко перекинул все мои закладки на новый браузер и начал активно его использовать.
И тут меня ждал еще один сюрприз. Мой рабочий ноутбук перестал уходить в swap каждый день. Я был приятно удивлен.
В процессе перехода я наткнулся на несколько статей по настройке Firefox и не переставал удивляться, насколько он гибче чем хром. Вот эту гибкость я и постараюсь вам описать.
Варианты настроек
Перед тем, как настроить что-то, нужно знать, где именно это делать. В Firefox есть несколько способов настроить под себя. Начнем пожалуй с самого очевидного — пункт меню Preferences (у меня английская версия языка браузера).
Пункт меню Preferences
Я не буду детально описывать этот вариант, потому что он очевиден и большинство пользователей браузера его открывали. Поэтому тут будет лишь пара интересных нюансов.
General -> Fonts & Colors -> Advanced Красным цветом выделена галочка, деактивировав которую, ваш шрифт будет использован на всех сайтах, независимо от подключенных шрифтов там. Мне очень понравилась данная возможность, так как я люблю шрифт Hack и использовать его для чтения приносит мне удовольствие. Больше не видел такой настройки, поправьте меня, если не прав. (Конечно же один шрифт на все сайты будет влиять на корректность отображения страницы, поэтому смотрите по своим предпочтениям).
General -> Network Settings -> Connection settings Не могу обойти стороной возможность настроить прокси для браузера без дополнительных телодвижений
Search -> Search Bar Куда же без дополнительного поля ввода для поиска, в котором сохраняется последний поисковый запрос
Privacy & security -> Permissions -> Notifications Ну и еще одна полезная галочка для блокировки всех уведомлений, которые меня жутко раздражают
Это были интересные и даже уникальные настройки, доступные в графическом интерфейсе.
Настройка браузера с помощью страницы about:config
В Firefox есть одна любопытная страница, по адресу about:about
Как вы видите, на этой странице находятся ссылки на разные ресурсы браузера. Не буду углубляться в каждый ресурс, просто приведу несколько любопытных и полезных примеров.
about:support Тут можно посмотреть детальную информацию о браузере, user-agent, поддерживается ли несколько потоков или например композитный менеджер для отрисовки интерфейса.
Тут же можно узнать путь к вашему профилю(Profile Directory). Зачем он вам будет нужен, я подробнее опишу ниже. К сожалению, на мобильной версии не показан путь к папке профиля, поэтому поделюсь с вами своим(актуально только для андроид) `/data/data/org.mozilla.firefox/files/mozilla/*.default` Папка профиля состоит из 2 частей — * — рандомная строка(уникальный набор букв для каждого девайса) + .default — для профиля по умолчанию
about:memory Тут можно посмотреть, на что расходуется память браузера, в основном полезно web frontend разработчикам
about:addons Страница с вашими расширениями, доступна также из графического меню.
about:networking Страница с детальной информацией о посещенных сайтах, dns и websockets. Тоже будет полезна web разработчикам.
about:config И наконец, страница, где находятся все доступные настройки браузера в формате ключ — значение
Файл user.js в папке профиля
Файл user.js должен быть в папке вашего профиля, путь к которой мы узнали в ресурсе about:support. Данный файл содержит в себе настройки которые доступны в about:config. Сразу же возникает вопрос, а зачем еще какой-то файл, если уже есть about:config? Он нужен для бекапа и переноса настроек.
Дело в том, что все настройки из about:config хранятся в файле prefs.js в папке профиля. Данный файл генерируется автоматически браузером и имеет приоритет перед user.js. Но когда хочется одинаковых настроек на разных компьютерах (и даже на мобильной версии), то рекомендованный вариант — использовать файл user.js. Кстати, чаще всего настройки из user.js дублируются в файл prefs.js поэтому если меняете какие-то значения в первом, не забудьте почистить и второй файл(я удаляю дублирующие строки из prefs.js), только закройте браузер перед этим, иначе он автоматом затрет ваши изменения.
Детальные настройки браузера
Перед тем, как детально описывать каждую настройку или группу настроек, хочу внести несколько обозначений. Дело в том, что я использую Firefox и файл user.js для настройки не только на компьютере, но и на мобильном телефоне. Конечно же не все настройки от десктопа подходят для мобильной версии, поэтому я буду указывать отдельно, если настройка подходит только для десктопа (Д).
Теперь поговорим про формат этих настроек.
В about:config есть графический редактор значений, там все должно быть понятно и так. А вот файл user.js, как видно из его расширения, предполагает что все настройки будут в формате, понятном javascript парсеру. Например:
user_pref — это объект, содержащий в себе все настройки.
Все, что в кавычках «browser.bookmarks.restore_default_bookmarks» — это ключ.
После запятой идет значение.
Ключ всегда строка, а вот значение может быть разных типов, строки, числа или булевое значение ложь/истина(true/false).
Настройка показанная в примере отвечает за восстановление закладок по умолчанию и имеет значение ложь. Если поменять данное значение, то все ваши закладки удалятся и восстановится набор закладок по умолчанию.
Данная настройка позволяет на десктопе увидеть ваши закладки с мобильной версии, если у вас подключена синхронизация. (Д)
При переключении вкладок отображаются превью страниц. (Д)
Настройки, отвечающие за отображение загрузок браузера. (Д)
Все настройки activity-stream отвечают за вашу активность. «newtabpage» — за отображение контента на новой вкладке. Почти все я отключил, кроме «feeds.places», отвечающих за отображение недавно посещенных страниц на новой вкладке. Кстати, все настройки, содержащие слово «endpoint» отвечают за адрес, на который посылаются данные. Если использовать пустую строку, то данные передаваться не будут.
Одна из настроек, отвечающих за телеметрию. Я ее отключаю для ускорения серфинга, так как на любое действие тратятся ресурсы, даже если оно работает параллельно. Так как я не понаслышке знаю, как профилировать программы и насколько при этом проседает производительность, то лучше уж обойтись без этого. Хотя может быть это и экономия на спичках.
«safebrowsing» — данные настроки отвечают за проверку посещаемых сайтов, чтобы убедиться что они безопасные. Данная проверка предполагает проверку хоста сайта в локальной базе на черный список и проверку загруженых файлов на серверах гугл.(Спасибо @dartraiden за подсказку) В случае положительного ответа вместо сайта показывается служебная страница с предупреждением. Я данную проверку отключил для ускорения серфинга. Возможно, тем, кто пользуется ОС Windows, этого делать не стоит.
Настройки поиска. Я поставил регион US, для анонимности поисковых запросов. Также отключил местоположение для поиска («geo»).
Настройки вкладок. Хочу отдельно отметить «tabMinWidth». В хроме, если открываешь множество вкладок, текст исчезает. А в Firefox данная настройка отвечает за минимальную длину вкладки. И если открыто больше вкладок, то они все равно не уменьшаются, а просто прячутся и появляются дополнительные кнопки управления вкладками. Для меня данная система очень удобна, так как я постоянно открываю множество страниц с одного и того же сайта и без текста нужно постоянно угадывать, какая именно страница где.
При клике на адресную строку выделяется весь адрес, а не текущее слово. А также не скрывается https в адресной строке.
Отчеты корпорации Mozilla
Это скорее для мобильной версии, но иногда в ноутбуках тоже есть какие-то сенсоры.
Настройки инструментов разработчика. (Д)
Дублирует отключение уведомлений из графического меню
Не хочется мне эксперементов. Настройка на любителя).
Настройки расширений. Pocket выключаю.
Настройки шрифта, дублируют графические.
Настройки плавного скролла, подобранно эксперементальным путем.
Настройки User agent, если нету особой необходимости, их лучше не трогать
Отключить окно предупреждения при посещении about:config
Данная информация предназначена для автоматического выбора языка на сайте, хотя сами сайты очень редко обращают внимание на эту настройку. Надеюсь в будущем ситуация изменится.
Особо хочется выделить настройку «devPixelsPerPx». Данная настройка отвечает за масштабирование интерфейса и будет особо полезна людям со слабым зрением или на компьютерах с большим разрешением экрана. По умолчанию идет значение «1».
Настройки, связанные с видео. Отключает автовоспроизведение и включает эксперементальную поддержку нового кодека AV1.
Данную группу настроек хочу разобрать подробнее.
«dns.disablePrefetch» и «predictor.enabled» отвечают за предварительное посещение ссылок на странице, чтобы ускорить загрузку, если пользователь захочет перейти по какой-то из ссылок. Если интернет медленный, то оно только ухудшает ситуацию, особенно в мобильной версии где-то в метро.
«tcp.tcp_fastopen_enable» включает TCP Fast Open «trr.mode» отвечает за DNS Over HTTPS. Значение 0 полностью отключает DoH; 1 — используется DNS или DoH, в зависимости от того, что быстрее; 2 — используется DoH по умолчанию, а DNS как запасной вариант; 3 — используется только DoH; 4 — режим зеркалирования при котором DoH и DNS задействованы параллельно.
Ну а «trr.uri» отвечает за сервер, на который браузер стучится для получения IP адреса посещаемых сайтов.
«network.dns.echconfig.enabled» отвечает за Encrypted Client Hello
Настройки приватности. Не рекомендую включать, многие сайты ломаются
«userContext» включает Multi-Account Containers. (Д) Данное дополнение изолирует куки и историю посещений в отдельные контейнеры. К сожалению, только для десктопа. Я так изолировал все сервисы гугла, фейсбука и нескольких других важных сервисов отдельно. Также, если дополнительно установить расширение Multi-Account Containers, то с его помощью можно привязывать сайты к контейнерам. Даже если с одного контейнера открываешь ссылку, привязанную к другому контейнеру, она открывается в этом контейнере, в новой вкладке. Очень удобно.
В Firefox есть очень удобный режим чтения страницы, при котором все, кроме текста удаляется. Он пока далек от идеала, вырезает некоторые тэги с текстом, но все равно им очень удобно пользоваться. Активировать его можно тут
Разнообразная телеметрия. Опять 🙂
А тут можно настроить использование темной темы gtk для линукса.(Д) Кстати, если вам не нравятся темные input и textarea, то для этих полей ввода можно применить светлую тему, даже если у вас стоит темная по умолчанию. Настройка «widget.content.gtk-theme-override» создана для этого.
Если вы думаете, что этим настройка браузера ограничивается, то вы ошибаетесь) Для любителей темной темы есть проект ShadowFox. Именно благодаря ему у меня все браузерные ресурсы в темном цвете. И я очень доволен. Также можно перекрашивать и некоторые популярные расширения, типа uBlock или uMatrix
Я знаю, что многим пользователям огнелиса не хватает некоторых специфических расширений после перехода на движок Quantum и замены Xul на WebExtentions, но я рад, что данная замена произошла. Старые расширения влезали в интерфейс и тормозили браузер, а также ограничивали разработчиков, особенно в добавлении мультипроцессорности. Скорость работы браузера существенно возросла а возможностей по настройке по прежнему больше, чем в хроме.
Пожалуйста, оставляйте в комментариях свои настройки, которые я не упомянул и делитесь своими способами кастомизации данного браузера.
Источник
Маленькие секреты about: config, ручная настройка
После прочтения поста о уменьшении расхода оперативной памяти в FF, я решил залезть поглубже в страницу настроек about:config и отыскать там что-нибудь интересное. Забегая вперёд, скажу, что поиски мои увенчались успехом.
Начну с того, что все изменения вы можете сделать в файле ..\Mozilla Firefox\greprefs\all.js или в папке с настройками вашей конфигурации, хранящимися в C:\Document and Settings\ или
/.mozilla/firefox в Виндовсе и Линуксе соответственно. Как вы уже заметили, Лис хранит настройки в js, да ещё и для каждой настройки вызывает специальную функцию pref(prefName,value), а сама функция находится в файле ..\Mozilla Firefox\defaults\autoconfig\prefcalls.js! Вот так-то.
В большинстве своём в этой группе хранятся настройки работы скриптов с окнами (попапами), такие как разрешать скриптам открывать окна или нет, разрешать ли скрывать адресную строку и т.п. теперь по порядку:
dom.allow_scripts_to_close_windows
разрешать ли скриптам закрывать окна.
dom.disable_image_src_set
отключить возможность изменения пути к изображению, думаю, вполне бесполезная настройка.
dom.disable_open_click_delay
время по истечению которого отменяется возможность открытия новых попапов после одного клика.
dom.disable_open_during_load
отключить возможность открытия скриптом поп-ап окна при загрузке страницы, по умолчанию true, нужен головняк — ставьте в false, посмóтрите на интернет глазами пользователя начала первой декады двадцать первого века ))
dom.disable_window_flip
запрещать скриптам сворачивать/разворачивать окна.
dom.disable_move_resize
запрещать скриптам изменять размер окон или перемещать их.
dom.disable_window_open_feature.close
запрещать скриптам отключать кнопку close (закрыть) у окон.
dom.disable_window_open_feature.directories
запрещать скриптам открывать/закрывать панель закладок.
dom.disable_window_open_feature.location*
запрещать скриптам отключать строку адреса. True и только true, ибо знать где находишься не помешает.
dom.disable_window_open_feature.menubar
запрещать скриптам скрывать панель меню.
dom.disable_window_open_feature.minimizable
запрещать скриптам отключать кнопку minimize (свернуть) у окон.
dom.disable_window_open_feature.personalbar**
запрещать скриптам скрывать персональные панели инструментов окна, довольно-таки полезная штука, если используются расширения типа skype delicios и т.п.
dom.disable_window_open_feature.resizable*
запрещать скриптам отключать возможность изменения размера окна, однозначно ставим в true, чтобы больше ни один умник не смог заперетьанкету на трилиста в окошко 200х200, слава богу они потихоньку вымирают.
dom.disable_window_open_feature.scrollbars**
запрещать скриптам скрывать полосы прокрутки. Можете поставить в true, если нет колёсика на мышке.
dom.disable_window_open_feature.status**
запрещать скриптам скрывать панель состояния, я запрещаю, ибо нех. )))
dom.disable_window_open_feature.titlebar
запрещать скриптам скрывать заголовок окна, интересно как это?
dom.disable_window_status_change
запрещать менять текст в панели состояния, хотя это и вышло из моды, но я решил оставить, мало ли чиркнут чего )))**
dom.event.contextmenu.enabled
разрешить скриптам доступ к событию контекстного меню, почему нет?
dom.max_chrome_script_run_time
максимальное время выполнения chrome-скрипта, т.е. скриптов ваших расширений они ведь тоже на js в основном написаны.
dom.max_script_run_time
максимальное время выполнения скрипта в милисекундах, кажется.
dom.popup_allowed_events
события которые могут открывать попап окна, по умолчанию «change click dblclick mouseup reset submit», можете добавить свои или убрать что-то из списка.
dom.popup_maximum*
максимальное количество попапов открытых одним скриптом, естественно ставим 2, а нафига больше?
Разное
В дополнение ко всему, были найдены следующие настройки, касающиеся разных областей применения js
dom.disable_cookie_get
запретить скриптам читать кукисы.
dom.disable_cookie_set
запретить скриптам устанавливать кукисы.
dom.disable_location.hostname.set**
запретить изменять скриптам имя хоста в строке адреса, спорная настройка, т.к. сейчас многие flash-сайты используют эту функцию, для навигации по сайту. Отключайте её в том случае, если вы действительно поняли предыдущее предложение и исходя из этого решили отключить. ))
network.cookie.prefsMigrated
позволяет сохранять кукисы при смене версий Лисы, ставим в true.
intl.charset.default
кодировка по-умолчанию, ставим в utf-8 или windows-1251
view_source.editor.external**
использовать внешнюю программу для просмотра кода страницы?
view_source.editor.path**
путь к внешнему просмотрщику.
layout.word_select.eat_space_to_next_word**
дословно: съесть пробел к следующему слову; определяет будет ли следующий за словом пробел захватываться при выделении слова двойным щелчком. Почему же я раньше не знал об этом!
layout.word_select.stop_at_punctuation
при выделении останавливаться на знаках припенания и прочей пунктуации ))
Ускорение
Вот несколько настроек которые помогут вам ускорить свою Лисичку ещё чуть-чуть
network.http.pipelining*
устанавливает возможность туннелирования (поправтьте меня, кто-нибудь), т.е. отправки множественных запросов. Ставим true.
network.http.proxy.pipelining*
тоже что и предыдущее, но только для прокси, и тоже в true.
network.http.pipelining.maxrequest*
максимальное количество одновременных запросов, поставим тридцать, этого хватит.
nglayout.initialpaint.delay**
устанавливает задержку в секундах перед началом отрисовки страницы. У себя поставил 0.
network.prefetching_next
запрос следующего документа, указаного в
, ставим в true.
network.http.redirection-limit**
ограничение количества возможных переадресаций, я поставл 5, по умолчанию — 20.
network.http.max-connections**
максимальное число соединений, поставил тридцать, при хорошем канале можно и больше поставить, главное чтобы оперативной памяти хватило.
network.http.max-connections-per-server**
максимальное количество соединений на сервер, можно поставить и выше.
network.http.max-persistent-connections-per-server**
максимальное число постоянных соединений с сервером.
network.http.max-persistent-connections-per-proxy**
тоже что и предыдущее только с прокси.
Ссылки
1. Настройки networks и т.п.
2. Настройки кукисов.
3. Заметка про настройку мультисоединений.
4. Некотрые настройки на английском
5. Перевод на русский некоторых настроек
6. Список настроек на Мозилазин.орг с важными пометками и возможными значениями настроек.
Сноска
* — рекомендации помеченые одной звёздочкой обязательны к применению (по мненею автора, ред.).
** — такие рекомендации остаются на ваше усмотрение.
Источник