Há 2 anos, recomendo que todos os meus amigos usem o Firefox como navegador para navegar todos os dias na Internet. Eu amo este navegador por sua flexibilidade em questões de configuração, velocidade e privacidade. Muitas vezes nos fóruns me perguntaram sobre alguns casos individuais de ajuste, então decidi escrever um artigo com uma descrição detalhada das configurações, como uma folha de dicas para mim e compartilhá-lo em caso de novas perguntas.
Espero que ajude um pouco na popularização deste maravilhoso navegador.
Pequena introduçãoAssim que eu tive a Internet por muitos anos, imediatamente, a conselho de amigos, comecei a experimentar vários navegadores. Não me lembro exatamente, mas sempre pulei entre a ópera e os fogos de artifício. E então havia cromo, que estava em cada esquina e subia de todas as rachaduras. No começo, ele estava um pouco úmido e eu costumava passar um tempo na lareira, abandonando completamente a ópera. Mas com o tempo, o chrome começou a funcionar mais rápido e eu finalmente mudei apenas para ele. E há dois anos, trabalhei em uma empresa, onde tinha um laptop funcional com 8 Gb de RAM, no Ubuntu e uma máquina virtual obrigatória para Windows , já que a empresa usava o Outlook e o Skype for Business . Claro, eu não trabalhei por muito tempo nessas condições, mas tudo funcionou o tempo todo, o cromo com a máquina virtual Intellij Idea + consome toda a memória e deixar o swap era uma rotina normal à noite, até eu ouvir sobre o lançamento do Firefox 57.0 Quantum , no qual eles começaram reescreva partes do mecanismo Gecko em Rust , usando a experiência do servomotor experimental.
Como não tinha nada a perder, decidi tentar voltar ao navegador favorito.
E qual foi minha surpresa quando o Firefox deixou de ceder em velocidade. Como não usei muitos complementos, transferi facilmente todos os meus favoritos para um novo navegador e comecei a usá-lo ativamente.
E então outra surpresa me esperava. Meu laptop de trabalho parou de trocar todos os dias. Fiquei agradavelmente surpreendido.
No processo de transição, me deparei com vários artigos sobre a configuração do Firefox e nunca deixei de me perguntar o quão flexível é o cromo. Essa é a flexibilidade que tentarei descrever para você.
Definir opções
Antes de configurar algo, você precisa saber onde exatamente fazê-lo. Existem várias maneiras de personalizar o Firefox . Vamos começar com o mais óbvio - o item de menu Preferências (eu tenho uma versão em inglês do idioma do navegador).
Item de menu Preferências
Não descreverei essa opção em detalhes, porque é óbvio e a maioria dos usuários do navegador a abriu. Portanto, haverá apenas algumas nuances interessantes.
Geral -> Fontes e Cores -> Avançado
Uma marca de seleção é destacada em vermelho, desativando qual fonte será usada em todos os sites, independentemente das fontes conectadas. Eu realmente gostei desse recurso, pois eu amo a fonte Hack e usá-la para leitura me traz prazer. Eu não vi mais esse cenário, me corrija, se não estiver certo. (Pode afetar a exibição correta da página, obrigado ArsenAbakarov )

Geral -> Configurações de rede -> Configurações de conexão
Não consigo ignorar a capacidade de configurar proxies para o navegador sem gestos adicionais

Pesquisa -> Barra de pesquisa
Onde sem o campo de entrada adicional para a pesquisa, no qual a última consulta de pesquisa está armazenada

Privacidade e segurança -> Permissões -> Notificações
Bem, outra marca de seleção útil para bloquear todas as notificações que me incomodam muito

Essas eram configurações interessantes e até únicas disponíveis na interface gráfica.
Configurações do navegador usando a página about: config
O Firefox tem uma página curiosa em about: about

Como você pode ver, esta página contém links para vários recursos do navegador.
Não vou me aprofundar em todos os recursos, apenas trarei alguns exemplos interessantes e úteis.
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", false);
user_pref — , .
, "browser.bookmarks.restore_default_bookmarks" — .
.
, , , /(true/false).
. , .
user_pref("browser.bookmarks.showMobileBookmarks", true);
, . ()
user_pref("browser.ctrlTab.previews", true);
. ()
user_pref("browser.download.autohideButton", false);
user_pref("browser.download.panel.shown", true);
, . ()
user_pref("browser.library.activity-stream.enabled", false);
user_pref("browser.newtabpage.activity-stream.feeds.places", true);
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.filterAdult", false);
user_pref("browser.newtabpage.activity-stream.prerender", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
user_pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
user_pref("browser.newtabpage.activity-stream.topSitesRows", 3);
user_pref("browser.newtabpage.enhanced", true);
activity-stream . "newtabpage" — . , "feeds.places", . , , "endpoint" , . , .
user_pref("browser.ping-centre.telemetry", false);
, . , , . , , . .
user_pref("browser.safebrowsing.blockedURIs.enabled", false);
user_pref("browser.safebrowsing.downloads.enabled", false);
user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false);
user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false);
user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
user_pref("browser.safebrowsing.enabled", false);
user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("browser.safebrowsing.phishing.enabled", false);
user_pref("browser.safebrowsing.provider.google.advisoryURL", "");
user_pref("browser.safebrowsing.provider.google.gethashURL", "");
user_pref("browser.safebrowsing.provider.google.lists", "");
user_pref("browser.safebrowsing.provider.google.pver", "");
user_pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", "");
user_pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", "");
user_pref("browser.safebrowsing.provider.google.reportURL", "");
user_pref("browser.safebrowsing.provider.google.updateURL", "");
user_pref("browser.safebrowsing.provider.google4.advisoryName", "");
user_pref("browser.safebrowsing.provider.google4.advisoryURL", "");
user_pref("browser.safebrowsing.provider.google4.dataSharingURL", "");
user_pref("browser.safebrowsing.provider.google4.gethashURL", "");
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "");
user_pref("browser.safebrowsing.provider.google4.lists", "");
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "");
user_pref("browser.safebrowsing.provider.google4.pver", "");
user_pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", "");
user_pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", "");
user_pref("browser.safebrowsing.provider.google4.reportURL", "");
user_pref("browser.safebrowsing.provider.google4.updateURL", "");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
user_pref("browser.safebrowsing.provider.mozilla.lists", "");
user_pref("browser.safebrowsing.provider.mozilla.pver", "");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "");
"safebrowsing" — , . .( dartraiden ) . . , , Windows, .
user_pref("browser.search.countryCode", "US");
user_pref("browser.search.geoSpecificDefaults", false);
user_pref("browser.search.geoSpecificDefaults.url", "");
user_pref("browser.search.geoip.url", "");
user_pref("browser.search.hiddenOneOffs", "Bing,Amazon.com,Twitter");
user_pref("browser.search.region", "US");
user_pref("geo.wifi.uri", "");
. US, . ("geo").
user_pref("browser.tabs.loadInBackground", false);
user_pref("browser.tabs.tabMinWidth", 30);
user_pref("browser.tabs.warnOnClose", false);
. "tabMinWidth". , , . Firefox . , , . , , .
user_pref("browser.urlbar.clickSelectsAll", true);
user_pref("browser.urlbar.maxRichResults", 15);
user_pref("browser.urlbar.trimURLs", false);
, . https .
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.policy.firstRunURL", "");
Mozilla
user_pref("device.sensors.enabled", false);
user_pref("device.sensors.motion.enabled", false);
user_pref("device.sensors.orientation.enabled", false);
, - .
user_pref("devtools.aboutdebugging.showSystemAddons", true);
user_pref("devtools.onboarding.telemetry.logged", false);
user_pref("devtools.theme", "dark");
user_pref("devtools.toolbox.splitconsoleEnabled", false);
. ()
user_pref("dom.push.enabled", false);
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("experiments.activeExperiment", false);
user_pref("experiments.enabled", false);
user_pref("experiments.supported", false);
. ).
user_pref("extensions.pocket.enabled", false);
user_pref("extensions.ui.dictionary.hidden", false);
user_pref("extensions.ui.experiment.hidden", true);
user_pref("extensions.ui.locale.hidden", true);
user_pref("extensions.webextensions.remote", true);
. Pocket .
user_pref("findbar.highlightAll", true);
user_pref("font.internaluseonly.changed", true);
user_pref("font.minimum-size.x-western", 10);
user_pref("font.name.monospace.x-western", "Hack");
user_pref("font.name.sans-serif.x-western", "Hack");
user_pref("font.name.serif.x-western", "Hack");
, .
user_pref("general.smoothScroll.durationToIntervalRatio", 1000);
user_pref("general.smoothScroll.lines.durationMaxMS", 100);
user_pref("general.smoothScroll.lines.durationMinMS", 100);
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 150);
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 50);
user_pref("general.smoothScroll.other", false);
user_pref("general.smoothScroll.pixels", false);
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 100);
user_pref("general.smoothScroll.scrollbars.durationMinMS", 100);
, .
user_pref("general.useragent.override", "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/64.0");
user_pref("general.useragent.vendor", "");
user_pref("general.useragent.vendorSub", "");
User agent, ,
user_pref("general.warnOnAboutConfig", false);
about:config
user_pref("gfx.use_text_smoothing_setting", true);
user_pref("gfx.webrender.enabled", true);
user_pref("gfx.webrender.highlight-painted-layers", false);
user_pref("layers.acceleration.force-enabled", true);
.
user_pref("intl.accept_languages", "en-us,en,uk,ru");
user_pref("intl.locale.requested", "en-US");
, . .
user_pref("layout.css.devPixelsPerPx", "1.25");
user_pref("layout.css.osx-font-smoothing.enabled", true);
user_pref("layout.word_select.stop_at_punctuation", true);
"devPixelsPerPx". . "1".
user_pref("media.autoplay.enabled", false);
user_pref("media.av1.enabled", true);
, . AV1.
user_pref("network.allow-experiments", false);
user_pref("network.cookie.prefsMigrated", true);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.predictor.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.security.esni.enabled", true);
user_pref("network.tcp.tcp_fastopen_enable", true);
user_pref("network.trr.mode", 2);
user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
user_pref("network.warnOnAboutNetworking", false);
.
"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 .
"security.esni.enabled" Encrypted SNI
user_pref("privacy.donottrackheader.enabled", true);
user_pref("privacy.firstparty.isolate", true);
//
user_pref("privacy.resistFingerprinting", true);
user_pref("privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", false);
. twiddler
user_pref("privacy.userContext.enabled", true);
user_pref("privacy.userContext.longPressBehavior", 2);
user_pref("privacy.userContext.ui.enabled", true);
"userContext" Multi-Account Containers. ()
. , . , . , Multi-Account Containers, . , , , . .
user_pref("reader.color_scheme", "dark");
user_pref("reader.content_width", 12);
Firefox , , . , , .

user_pref("security.ssl.errorReporting.automatic", true);
user_pref("toolkit.identity.enabled", false);
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.hybridContent.enabled", false);
user_pref("toolkit.telemetry.infoURL", "");
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("toolkit.telemetry.server", "");
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
. :)
user_pref("widget.chrome.allow-gtk-dark-theme", true);
user_pref("widget.content.allow-gtk-dark-theme", true);
// user_pref("widget.content.gtk-theme-override", "Adwaita:light");
gtk .()
, input textarea, , . "widget.content.gtk-theme-override" .
, , )
ShadowFox. . . , uBlock uMatrix
, Quantum Xul WebExtentions, , . , , . , .
, , .