Firefox Browser

Mozilla Firefox Browser är en webbläsare med öppen källkod, för dator, telefon och surfplatta, utvecklad och utgiven av Mozilla Foundation.


Mozilla Foundation

Den första förutgåvan (0.1) släpptes i september 2002, då under namnet Phoenix. Namnet, efter Fågel Fenix (🐦‍🔥), som reste sig ur askan, anspelar på att Phoenix är Netscape Navigator återuppstånden ur askan. Netscape Navigator, som först släpptes i december 1994, kunde inte klara trycket från Microsofts Internet Explorer. Det mesta av Navigators källkod släpptes som öppen och fri 1998, och denna kod låg till grund för Phoenix, under en kort tid kallad Firebird, sedan februari 2004 kallad Firefox. Från och med Firefox 57, november 2017, kallades webbläsaren tillfälligt Firefox Quantum.


Phoenix

Netscape utvecklade flera tekniker som kom att leva vidare mycket längre än Navigator. En av dessa är Secure Sockets Layer (SSL), ett protokoll som användes för att säkra anslutningen mellan webbläsare och server. I sin tredje upplaga, låg detta protokoll till grund för Transport Layer Security (TLS), första utgåva 1999. En annan är Netscape Plugin Application Programming Interface (NPAPI), som används för att köra insticksprogram i webbläsaren. Det för Firefox till en början så utmärkande stödet för tillägg kom dock till sedan Mozilla hade tagit över koden.

Firefox förblev länge en i mina ögon föråldrad webbläsare. Arvet (koden) från Netscape-tiden hängde med år efter år. Det blev särskilt tydligt då Google släppte sin banbrytande webbläsare Chrome. Ett nytt gränssnitt, kort tid mellan ”milstenar” och, inte minst, en ny arkitektur med en process per flik.

Att Firefox’ källkod är öppen, har lett till att ett flertal webbläsare har byggts på samma grundkod, med en eller annan ändring. Till dessa hör Waterfox, som tillhandahöll 64-bitarsversion för Windows innan Mozilla gjorde det. I början av augusti 2019 är Waterfox alltjämt byggd på Firefox 56, den sista utgåvan före Quantum. Gamla tillägg och NPAPI stöds. Sandlådan körs på nivå 1, endast en innehållsprocess används. Ett första alfabygge av Waterfox 68 släpptes i maj 2019. Pale Moon började som en ren Firefox-klon, men har utvecklats till att bli en mycket konservativ webbläsare, som behåller stöd för gammal teknik som Firefox har lämnat bakom sig. SeaMonkey är byggd på Firefox-kod, men är också en e-postklient, HTML-redigerare, IRC-klient med mera. Comodo IceDragon innehåller några tillägg från Comodo, och Comodo Secure DNS, men ligger ständigt två till tre utgåvor efter Firefox. Cliqz är en webbläsare från Cliqz GmbH i München, samma företag som 2017 köpte tillägget Ghostery. Cliqz blockerar spårning och reklam. HTTPS Everywhere medföljer, och allt övervakas och styrs från Cliqz Control Center. Cliqz 1.28.0, byggd på Firefox 68.0.1, släpptes tre veckor efter 68.0 och elva dagar efter 68.0.1, så Cliqz håller hyfsat jämna steg med Firefox. Cliqz 1.0 släpptes 8 mars 2016. Sedan augusti 2016 är Mozilla delägare av Cliqz GmbH.

Stödda system

Firefox 1.0 släpptes i 32-bitarsversioner för Linux, Windows och Mac OS (PowerPC). Med den första Ubuntu-utgåvan, 4.10 (oktober 2004), följde Firefox 0.9 ”with security patches”. Firefox 1.5.0.2 släpptes för Mac OS för både PowerPC- och Intel-processor. Med Firefox 4.0 (2011-03-22) togs steget in i 64-bitarsvärlden, för Linux och Mac OS. Windows fick vänta länge än, vilket öppnade för Waterfox, som släpptes i en första 64-bitarsversion för Windows i mars 2011. Firefox i 64-bitarsversion för Windows kom först Firefox Nightly (även kallad Aurora), i maj 2010. Då var versionsnumret 3.7a1, som sedermera släpptes som den stabila 4.0. Det tidigaste bygge som jag kan finna är från 28 maj 2010. Firefox Developer Edition 38 och Firefox beta 38 släpptes i 64-bitarsversion för Windows den 3 april 2015. Till den stabila kanalen smögs 64-bitarsversion för Windows ut i och med Firefox 42, som lades ut på Mozillas server, men inte gjordes tillgänglig på nedladdningssidan, och ej heller nämndes i samband med att 42:an släpptes. Den första officiellt släppta 64-bitarsversion för Windows blev i stället Firefox 43, som släpptes den 15 december 2015, för Windows 7 och nyare. Med Firefox 56.0.1 uppgraderades 32-bitars Firefox till 64-bitars, på 64-bitars Windows 7 och nyare. För 64-bitars Windows XP och Vista var det dock alltjämt 32-bitars Firefox som gällde. För Windows XP och Vista var Firefox 52 den sista utgåvan, och alla installationer på dessa system migrerades till Firefox Extended Support Release (ESR) i mars 2017. Denna utgåva fick sin sista uppdatering, till 52.9.0, den 26 juni 2018 (samtidigt med Firefox 61). Firefox 115 är den sista utgåvan för Windows 7, 8 och 8.1. Migrering till Firefox 115 ESR genomfördes. Därigenom kommer Firefox på dessa system att hållas uppdaterad till och med september 2024.

Den 21 april 2016 kungjorde Mozilla att de skulle tillhandahålla Firefox som Snap-paket för Ubuntu. Två år senare verkställdes löftet, och Firefox tillgängliggjordes som Snap. Snap stöds nu av fler Linux-system än Ubuntu, men det är i främst Ubuntu-utgivaren Canonical som satsar på Snap, och Ubuntu 21.10 har Firefox som Snap. Firefox som Snap körs i en ytterligare AppArmor-sandlåda.

Det smidigaste sättet att skaffa nya program – och hålla dem uppdaterade – i Windows 10 och 11 är genom Microsoft Store (tidigare Windows Store). Från början tilläts dock inte webbläsare som använde sin egen ”motor” (Gecko i Firefox’ fall) i Store. Detta ändrades dock i juni 2021, och den nionde november sagda år tillkännagavs Firefox i Microsoft Store. Firefox är den första webbläsaren i Microsoft Store som inte är byggd på Chromium.

Den 28 januari 2010 släpptes Firefox 1.0 för Nokia N900, byggd på Gecko 1.9.2 (samma som i Firefox 3.6). Firefox för Maemo, operativsystemet i N900, lades ned efter Firefox 7.

En vecka efter Firefox 4 för datorer, släpptes Firefox 4 för Android och Maemo, med stöd för flikar, tillägg och Firefox Sync, som i Firefox för datorer. Den 27 juni 2019 släpptes Firefox Preview för Android. Det var en tidig utgåva av en delvis ombyggd och avsevärt snabbare Firefox för Android. Den första Preview-utgåvan stödde ej tillägg. Stöd för tillägg kom i april 2020. I början av juli 2020 ersattes Preview med Nightly. Det innebar att about:config blev åtkomlig.

Firefox Focus, som nu är en webbläsare för Android och IOS, började som ett spårningsskydd för IOS’ webbläsare Safari, i december 2015. Elva månader senare släpptes Firefox Focus som en fristående webbläsare för IOS. Liksom alla webbläsare på IOS, använder Focus Apples renderingsmotor WebKit i stället för Mozillas Gecko. Firefox Focus är avsedd att vara mer privat än andra webbläsare. Ingen historia och inga kakor spars. Spårningsskydd är på. Det går inte att spara lösenord i Focus. Den 20 juni 2017 släpptes Firefox Focus för Android. I juni 2019 flyttades dock Mozillas fokus till Firefox Preview, som i början av juli 2020 ersattes med Firefox Nightly. Den sista versionen av Firefox Preview, 5.2, släpptes den 18 juni 2020. I slutet av juli och början av augusti började uppgradering från ”gamla” Firefox, byggd på Firefox ESR, som nådde vägs ände med version 68.11.0, till ”nya” Firefox, som börjar med version 79.0. Officiellt togs steget med Firefox 80.0, som började att rullas ut till den stabila kanalen den 27 augusti.

Mozilla sammanfattar skillnaderna mellan ”nya” och ”gamla” Firefox för Android sålunda:

The updated Firefox includes new features such as Enhanced Tracking Protection, Collections and customization options, such as dark mode and the ability to move the toolbar to the top or bottom of your screen. Its new architecture, codebase, GeckoView engine and Android components give you better performance, deeper privacy settings and features while allowing us to provide you with quick improvements and updates.
Här kan också nämnas att Firefox utvecklades till ett operativsystem, Firefox OS, också kallat Boot to Gecko (B2G). Firefox OS var avsett för telefoner, surfplattor och ”smarta” teveapparater. Varje operativsystem behöver en kärna, och det självklara valet för Firefox OS var Linux. Första utgåvan av Firefox OS släpptes i februari 2013. Firefox OS rönte ringa framgång, och lades ned i januari 2017.

Firefox’ delar

En webbläsare är ett stort stycke mjukvara, och även om användaren ser webbläsaren som ett stycke mjukvara, består den av flera delar, med olika uppgifter.


Renderingsmotorn Gecko

Här är några av Firefox’ viktigare delar, alla med öppen källkod: Utvecklingen av Gecko började hos Netscape 1997, och togs i bruk i och med Netscape Navigator 6.0, som släpptes i november 2000. Gecko är i grunden en HTML-tolk, men det hanterar mer än så, bland annat Cascading Style Sheets (CSS), Document Object Model (DOM), Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML). Gecko användes från början i Firefox, och har förstås utvecklats åtskilligt sedan de första staplande stegen. I Firefox Quantum (57+) är Gecko delvis omskriven i Rust, som är ett snabbt och säkert programspråk. HTML5Test ger Firefox 68 513 av 555 poäng för sitt stöd för HTML version 5.

JavaScript (JS) är det programspråk som förvandlar nätet från en samling dokument med hyperlänkar till plattform också för allsköns program och spel. JS utvecklades 1995 av Brendan Eich, då vid Netscape. Han skrev också den första implementeringen, SpiderMonkey, som alltjämt är Firefox’ JS-motor. JS standardiserades som ECMAScript (ECMA-262) 1997, men innehåller delar som ej ingår i ECMA-262. ECMA släppts i sex större utgåvor, senast ES2019 i juni 2019. Firefox stöder ECMAScript 2016 (ES7) och tidigare utgåvor.

Dessa komponenter används också i e-postklienten Mozilla Thunderbird, som med några veckors fördröjning följer Firefox ESR:s utgivningstakt.

Tillägg

En av Firefox’ utmärkande egenskaper var redan från början stödet för tillägg. Tillägg (add-on) är små program som kan utföra en eller annan uppgift. Somliga tillägg har till uppgift att förändra Firefox’ utseende eller beteende, andra för att ändra innehållet på ett eller annat sätt. Icke minst omtyckta har hela tiden varit tillägg som blockerar reklam på webbplatser. Allra flest användare – över sex miljoner – har Adblock Plus, ett reklamblockerande tillägg som har funnits sedan 2005. Några månader äldre är NoScript, eller NoScript Security Suite, som dess fullständiga namn lyder. Det är ett tillägg som tillåter användaren att blockera innehåll av olika slag, såsom JavaScript och typsnitt.

Ursprungligen användes teknikerna XML User Interface Language (XUL) och Cross Platform Component Object Model (XPCOM), som tillät tillägg att bli väldigt kraftfulla, på säkerhetens bekostnad. Därför övergavs dessa tekniker då Firefox byggdes om med Electrolysis. WebExtensions kallas den nya tekniken för tillägg.

Electrolysis

Electrolysis (e10s) står för en ny arkitektur med en överordnad process för programmets gränssnitt, och en eller flera processer för innehåll, insticksprogram och tillägg. Det började med att vissa insticksprogram (Flash Player, QuickTime Player och Silverlight) kördes i en egen process, redan i Firefox 3.6.4, som släpptes 2010-06-22. Det var dock inte fråga om någon sandlåda, utan ett sätt att hindra insticksprogram som frös – vilket inte var ovanligt – att dra med sig webbläsaren i frysningen. Detta kallar Mozilla Crash protection. På archive.org finns Mozillas Wiki om Electrolysis arkiverad sedan 9 april 2010. För Flash Player kom dock Flash Player Protected Mode for Firefox på Windows Vista och nyare. Målen för multiprocess-Firefox framlades i juli 2011: Goals for multi-process Firefox.

Att köra övrigt webbinnehåll i en egen process dröjde dock till Firefox 48, som släpptes 2 augusti 2016. Firefox’ innehållsprocess kördes där i en sandlåda, som då dock var rätt vek (nivå 0), och gemensam för allt innehåll, som kördes i en gemensam innehållsprocess. Dessutom var den på endast för en liten andel användare vid det tillfället. Med ”vek” menar jag bland annat att processen i sandlådan i Windows då kördes på medelhög integritetsnivå, samma som alla vanliga program. I Firefox 50 körs innehållsprocessen på låg integritetsnivå i Windows. Nästa steg togs med Firefox 54, med ”e10s-multi”, där varje webbplats körs i en egen process. Därmed upprättades en mur mellan de webbplatser som är öppna i webbläsaren. I Firefox 54 var dock det förvalda högsta antalet innehållsprocesser fyra, som ansågs vara rätt avvägning. Vid öppnande av fler webbplatser återanvänds de fyra processerna. I Firefox 66 höjdes antalet innehållsprocesser till åtta som förval. Antalet tillåtna innehållsprocesser kan (och kunde) ändras i about:config.


Tio webbplatser i fyra innehållsprocesser i Firefox 54

Med Firefox 57 (Quantum) höjdes sandlådenivån på Linux från 2 till 3. Med Firefox 60 höjdes sandlådenivån på Windows från 3 till 5 (samtidigt som Control Flow Guard slogs på), och på Linux från 3 till 4. På Windows nådde sandlådan nivå 6 med Firefox 76. Nivåerna beskrivs i Mozillas wiki: Sandbox. Firefox’ sandlåda närmar sig Chromiums, men har – åtminstone på Windows – en bit kvar. Bland annat körs Chromiums innehållsprocesser på obetrodd integritetsnivå med eller utan AppContainer. På Linux ser de ut att vara rätt likvärdiga.

För Electrolysis krävdes en ny teknik för tillägg: WebExtensions. Det meddelades i augusti 2015: The Future of Developing Firefox Add-ons. Stöd för WebExtensions kom med Firefox 45. Stöd för gamla tillägg (XPCOM/XUL) togs bort i Firefox 57. Därmed försvann det sista hindret för Electrolysis. Tyvärr hade långt ifrån alla tillägg skrivits om till WebExtensions när Firefox 57 släpptes, vilket innebar att Quantum inte fick ett så varmt mottagande av alla användare. HTTPS Everywhere från EFF släpptes som WebExtensions-tillägg 30 oktober 2017 (2017.10.30), två veckor innan Firefox 57 släpptes.

Quantum

Firefox 57, som släpptes 14 november 2017, fick tillnamnet Quantum, varmed menades att Firefox tog ett kvantsprång framåt. Mozilla slog på stora trumman.
It’s fast. Really fast. Firefox Quantum is over twice as fast as Firefox from 6 months ago, built on a completely overhauled core engine with brand new technology stolen from our advanced research group, and graced with a beautiful new look designed to get out of the way and let you do what you do best: surf a ton of pages, open a zillion tabs, all guilt free because Firefox Quantum uses less memory than the competition. Your computer will thank you. 🙂
Vad är nu detta, marknadsföringstrams, eller rena sanningen? Det är nog litet av båda. Om Firefox 57 – ursäkta, Firefox Quantum 57 – är två gånger snabbare än Firefox 50, som släpptes ett halvår tidigare, låter jag vara osagt. Jag vill dock säga något om vad Quantum är.

Quantum består av fyra delar:
  • Quantum Compositor
  • Quantum Flow
  • Quantum DOM
  • Quantum CSS
  • Quantum Render


Quantum-motorn

En av delarna är Rust, ett nytt, snabbt och säkert programspråk. Rust utvecklades av Mozilla och används i Mozillas webbläsarmotor Servo. En del av Servo är Stylo (också kallad Quantum CSS), en parallelliserad och snabb CSS-motor. Stylo ingår i Firefox Quantum 57, och bidrar till att göra webbläsaren snabbare än tidigare utgåvor. Tio utgåvor senare, i och med Firefox Quantum 67, tas nästa steg i kvantsprånget, ”målarmotorn” (paint engine) WebRender (också kallad Quantum Render), som där är påslaget på Windows 10-datorer med nVidia-grafik. För andra system kan WebRender slås på i about:config. WebRender handlar om att överlämna ”målandet” till grafikprocessorn. Ett test av Firefox 67 och 68 beta på Ubuntu, utan och med WebRender, visar att WebRender endast i somliga fall snabbar upp sidvisningen. Däremot är Firefox 68 beta klart snabbare än 67.

I sammanhanget kan också nämnas WebGL 2, för grafiskt tunga tillämpningar, som stöds från och med Firefox 51, och WebAssembly (Wasm), som stöds från och med Firefox 52. Tack vare Wasm kan Google Earth nu köras i Firefox. Google anmärker dock att brist på flertrådad Wasm gör Firefox långsammare än Chrome (juni 2019). Firefox 63 eller nyare krävs.

‹audio› & ‹video›; WebM

Den 30 juni 2009 släpptes Firefox 3.5, med stöd för ‹audio› och ‹video› i HTML. Stödda format var de öppna Theora och Vorbis i Ogg-behållare. Medan Vorbis, utvecklat av Xiph, är ett effektivt ljudkodningsformat, är Theora sämre. Likväl var detta ett genombrott för öppen media på nätet. För storskalig användning och högupplöst video krävs dock ett effektivare format än Theora. Knappt ett år senare kungjordes ett sådant: VP8 i WebM. VP8 utvecklades av On2 Technologies, som köptes av Google i februari 2010. Vad Google skulle göra med On2 och VP8 var okänt, tills Google, Mozilla och Opera meddelade sitt stöd för WebM, bestående av VP8 och Vorbis. Allt öppet och avgiftsfritt. Det skedde 19 maj 2010, och samma dag tillhandahöll Mozilla Firefox Nightly med stöd för WebM. Den första stabila versionen av Firefox med stöd för WebM var 4.0, som släpptes 22 mars 2011. Opera 10.60 och Chrome 6.0 hann dock före Firefox. Under 2010 började YouTube att använda WebM i ökande omfattning.

Medan VP8 är ett avsevärt bättre format än Theora (byggt på VP3), var den 2010 enda tillgängliga implementeringen, libvpx, långsam och ineffektiv. Redan i juli 2010 visade det sig dock att en ny VP8-avkodare, ffvp8, var snabbare än libvpx. Libvpx blev dock snabbare med tiden, och medan Chrome 15, som redan använde FFmpeg, bytte till ffvp8, behöll Firefox libvpx för VP8. Fastän libvpx blev allt bättre på att koda VP8 med hög effektivitet, behövdes ett bättre format för den allt större mängden allt mer högupplösta videor. VP9 är en vidareutveckling av VP8, som är mycket effektivare än sin föregångare. Firefox 28, som släpptes 18 mars 2014, stöder VP9, också genom libvpx. VP9 är ett mer komplext format, och därmed tyngre att både koda och avkoda. Till en början var libvpx rätt långsam som VP9-avkodare. Också denna gång kom räddningen från FFmpeg: ffvp9 som redan 2014 var snabbare än libvpx. Med Firefox 46 kom äntligen FFmpeg till Firefox, och ffvp8 och ffvp9 kom därmed att användas för VP8 och VP9.

Efter VP9 började Alliance for Open Media (AOM), en ny allians för öppen media, i augusti 2015 att arbeta på ett nytt effektivt videokodningsformat. Det fick namnet AOMedia Video Codec 1.0 (AV1), och var färdigt i juni 2018. Mozilla hör de ursprungliga medlemmarna av AOM. I samarbete med Bitmovin, fick Firefox Nightly stöd för AV1 i november 2017. Till den stabila utgåvan kom AV1 i Firefox 65 för Windows 64-bit. Med Firefox 66 också för Windows 32-bit och Mac OS. Till Linux kom AV1 med Firefox 67, som också har en ny AV1-avkodare: Dav1d, som ersätter referensimplementeringen LibAOM. Dav1d är en snabbare avkodare, och den utvecklas i rask takt.

Mozilla ytterligare inblandad i AV1, genom att tillsammans med Xiph och en större gemenskap utveckla Rust AV1 Encoder (rav1e), en AV1-kodare skriven på programspråket Rust. Den stöds även av videotjänsten Vimeo. I sammanhanget må också nämnas bildformatet WebP. Det utvecklades av Google, och är byggt på stillbildskodningen i VP8. Det stöder förlustfri och förlustig komprimering, alfakanal (för mer eller mindre genomskinliga bilder), färgprofiler (ICC), metadata (Exif) och animering. Det kan således ersätta JPEG, PNG och GIF, med effektivare kodning. WebP har funnits sedan 2010, och stöddes av Chromium och Opera i början av 2011. Mozilla var dock ovilligt att stödja formatet, då de ansåg det vara för ofullständigt. Formatet har dock utvecklats sedan dess, och i november 2018 lade Microsoft till stöd i Edge (EdgeHTML) i Windows 10. Då vaknade Mozilla, och lade till stöd i Firefox 65, som släpptes 29 januari 2019. WebP-implementeringen libWebP har också förbättrats åtskilligt sedan den först släpptes. På denna sida används WebP (och SVG).

Firefox 77 fick också stöd för det nya stillbildsformatet AV1 Image File Format (AVIF), som namnet antyder byggt på bildkodningen i videoformatet AV1. Behållare för denna bilddata är inte WebP, utan MPEG-formatet High Efficiency Image File Format (HEIF).

🔒 Säker anslutning

Säkert surfande handlar inte endast om den tidigare omtalade säkra arkitekturen. Vid surfande, ansluter webbläsaren till en server, en fjärrdator som hyser det innehåll som användaren önskar ta del av. I internets barndom var anslutningen alltid osäker. Någon kryptering förekom ej. Netscape släppte Secure Sockets Layer (SSL) version 2.0 1995, och version 3.0 1996. Därmed var det möjligt för kompatibla webbläsare och servrar att upprätta en säker, krypterad anslutning, som skyddar de data som överförs mellan server och webbläsare. SSL efterträddes 1999 av Transport Layer Security (TLS), som till dags dato har släppts i fyra versioner (1.0, 1.1, 1.2, 1.3). Firefox stödde från början TLS 1.0, medan TLS 1.1 och 1.2 dröjde till Firefox 27. Stöd för TLS 1.3 kom i Firefox 63. Nu anses TLS 1.2 (rätt konfigurerat) och TLS 1.3 vara de enda protokollversioner som är verkligt säkra. SSL 2.0 stängdes av i Firefox 2.0, SSL 3.0 stängdes av i Firefox 34, och TLS 1.1 och 1.2 kommer att stängas av i mars 2020. Firefox 35 fick stöd för TLS Fallback Signaling Cipher Suite Value (SCSV), som hindrar nedgradering till en sämre protokollversion, om servern stöder SCSV.

HTTP Strict Transport Security (HSTS) stöds sedan Firefox 4.0. Det var dock tillgängligt för användare av tillägget NoScript sedan slutet av september 2009. Enligt tilläggets utvecklare, Giorgio Maone, är det den första användarklienten med stöd för HSTS. Med HSTS tvingas webbläsaren att under angiven tid ansluta säkert till en webbplats, efter en första säker anslutning. Nedgraderingsattacker (”TLS-strippning”) hindras av HSTS. Den enda bristen är att den första anslutningen inte säkras. Förutom med en vanlig 301-omstyrning från http till https, kan HSTS-förladdning användas. Det innebär att en lång lista med domäner förladdas i webbläsare. Mozilla underhåller en sådan lista, byggd på Googles lista, för Firefox. Med förladdad HSTS vet webbläsaren i förväg att anslutningen till de förladdade domänerna skall vara säker. Det gör förladdning både säkrare och snabbare än 301-omstyrning. I det senare fallet försöker webbläsaren först att ansluta osäkert (om det inte handlar om återanslutning till en HSTS-domän) till servern. Stöd för HSTS-förladdning kom till Firefox 17.

Den 30 april 2015 meddelade Mozilla sin avsikt att fasa ut osäker HTTP, det vill säga HTTP, utan TLS-kryptering. Det skall ske genom att kräva säker anslutning för nya funktioner, och på sikt för äldre särskilt känsliga funktioner. Till den senare kategorin hör Geolocation, som endast stöds över TLS i Firefox 55 och nyare.

Då ovanstående uttalande gjordes, var en mycket stor del av webben osäker. Att skaffa ett certifikat för sin egen server var svårt, och kunde vara rätt dyrt. Webbhotell hade ännu inte börjat att utan kostnad skaffa certifikat åt sina gäster. Det fanns ett stort behov av att kunna skaffa betrodda certifikat utan kostnad och utan krångel.


Let’s Encrypt sponsras av Mozilla.

Det insåg Josh (Joshua) Aas och Eric Rescorla, båda arbetande vid Mozilla, som sommaren 2012 började att dryfta spörsmålet. De beslöt att grunda en ny certifikatutfärdare, som skulle utfärda domänvaliderade (DV) certifikat utan kostnad, och genom ett nytt öppet protokoll. Mozilla ställde upp som den första sponsorn, och i maj 2013 grundades Internet Security Research Group (ISRG). Senare slöt sig bland annat Electronic Frontier Foundation (EFF) till ISRG. Den 18 november 2014 kungjordesLet’s Encrypt, och 12 september 2015 utfärdades Let’s Encrypt sitt första certifikat. Sedan dess har krypteringen av webben tagit ordentlig fart. Den 9 december 2016 gjordes för första gången fler säkra än osäkra anslutningar med Firefox. Nu är tre fjärdedelar av anslutningarna säkra.


Andel säkra anslutningar som Firefox gör, oktober 2013 – juni 2019

Andel säkra anslutningar 1 januari och 1 juli, med början 2014.
  • 2014-01-01: 25,9 %
  • 2014-07-01: 30,8 %
  • 2015-01-01: 31,6 %
  • 2015-07-01: 35,7 %
  • 2016-01-01: 39,1 %
  • 2016-07-01: 45,5 %
  • 2017-01-01: 49,0 %
  • 2017-07-01: 60,0 %
  • 2018-01-01: 67,5 %
  • 2018-07-01: 70,1 %
  • 2019-01-01: 76,0 %
  • 2019-07-01: 78,2 %
  • 2020-01-01: 79,4 %
  • 2020-07-01: 83,6 %
  • 2021-01-01: 82,7 %
Från och med Firefox 42 stöds Upgrade Insecure Requests, som innebär att osäkra förfrågningar (http) uppgraderas till säkra (https) om webbplatsen använder Upgrade Insecure Requests. Användare som vill gå ett steg längre, och använda uppgradering på alla webbplatser, kan ändra värdet för security.mixed_content.upgrade_display_content till true i about:config.

I Firefox 51 visas en varning i adressfältet (överstruket grått hänglås) för osäker anslutning till en inloggningssida. I Firefox 52 visas också en varning nedanför namn- eller lösenordsfältet, om anslutningen är osäker. Se också Osäker lösenordsvarning i Firefox.

I Firefox 70, som skall släppas den 22 oktober 2019, kommer alla osäkra anslutningar att visas som osäkra, i form av ett överstruket grått hänglås oavsett innehåll. Koden finns redan i Firefox 59, men visningen är av som förval. Det finns två inställningar för detta i about:config, en som visar ett grått överstruket hänglås vid osäker anslutning, och en som visar texten ”Inte säker” i adressfältet. De kan användas ihop eller den ena eller andra. I Firefox 70 tas det omslutna i:et bort, och vid säker anslutning visas ett grått hänglås, i stället för det gröna i tidigare utgåvor av Firefox. Denna förändring har tidigare genomförts i Chrome. Budskapet är att en säker anslutning inte är något märkvärdigt, eller ett tillval som ger en webbplats förhöjd säkerhet. TLS är en grundläggande del av nätet. Det är dess frånvaro som är märkvärdig, och som användaren har anledning att ta ställning till. (Skölden i bilderna av Firefox 70 är för spårningsskyddet.)


Osäker anslutning i Firefox 69


Säker anslutning i Firefox 69


Osäker anslutning i Firefox 70


Säker anslutning i Firefox 70

En annan förändring på samma område i Firefox 70 är att ”EV-brickan”, den gröna ”bricka” som visar webbplatsens ägare, om den den har ett EV-certifikat (Extended Validation), tas bort från adressfältet. EV-certifikat föreslogs 2006 av Melih Abdulhayoğlu, grundare av Comodo CA (nu Sectigo). Den 12 juni 2007 stadfästes EV av CA/Browser Forum. Firefox 3.0 (2008-06-17) och nyare stöder EV. Avsikten med EV var och är att hjälpa användaren att identifiera den besökta webbplatsens ägare, och skilja den ”äkta” webbplatsen från bedrägliga webbplatser med liknande adress och mer eller mindre likt utseende. Efter tolv år saknas ännu övertygande bevisning om att EV vore användare till hjälp. I stället finns det studier som visar att namnet förvirrar (företagets namn avviker från webbplatsens identitet). Då det är lagligt möjligt att grunda ett bolag med samma namn som ett befintligt bolag, i ett annat område (i Sverige ett annat län), gör det EV ej blott värdelöst, utan också bedrägligt. Därför flyttas webbplatsägarens namn från adressfältet till den ruta som öppnas då man klickar på hänglåset i Firefox 70 (och Chrome och Edge 77). Detta välkomnades av Scott Helme och Troy Hunt. Certifikatutfärdare som utfärdar EV-certifikat torde vara mindre förtjusta.


EV-certifikat i Firefox 69


EV-certifikat i Firefox 70

Jag har redan nämnt tillägget HTTPS Everywhere från EFF. Det har funnits för Firefox sedan juni 2010, och byggdes på HTTPS-mekanismen i NoScript. Med dess hjälp väljer webbläsaren från början en säker anslutning i stället för en osäker, till de domäner som finns i tilläggets regeluppsättningar. Det påminner således om förladdade HSTS-domäner. Fjorton månader efter den första betaversionen släpptes 1.0, med regler för ”fler än tusen webbplatser”. I december 2018 hade HTTPS Everywhere regler för 125 tusen domäner. Då var omkring femtiotusen domäner förladdade i Chromium. Sammanlagt 175 tusen säkrade domäner. I dag har Firefox sextiotusen förladdade domäner och underdomäner, och HTTPS Everywhere har högst troligt fler regler nu än för ett halvår sedan. I januari togs regler bort för domäner som är HSTS-förladdade i alla webbläsare som stöds. Med ”Kryptera alla kvalificerade webbplatser” på, blockeras alla osäkra anslutningar, och ett försök att ansluta säkert görs innan tillägget ger upp, och erbjuder användaren att ansluta osäkert i stället.


HTTPS Everywhere i Firefox

Firefox 76 har ett endast HTTPS-läge, som användaren kan slå på i about:config. Där ändrar man dom.security.https_only_mode från falskt till sant. Det kommer att vara av som förval. Det gör HTTPS Everywhere till ej lika viktigt i kommande Firefox-utgåvor. I Firefox 78 kan användaren tillfälligt tillåta en osäker anslutning i endast HTTPS-läge. I Firefox 83 kan endast HTTPS-läget slås på eller av i Inställningar, Sekretess & säkerhet.


Inställningar i Firefox 83


Varningstext som visas i Firefox 83 då anslutningen ej kan uppgraderas

Klickar man på hänglåset i adressfäletet, kan man se om uppgradering till HTTPS har skett.

Också då uppgradering ej kan ske, ser man det sammastädes. Man kan där också stänga av Endast HTTPS-läge, tillfälligt eller tills vidare.

Vid varje anslutning till en domän på nätet används Domain Name System (DNS). En förfrågan sänds till en DNS-namnserver, som återsänder ett svar. I de flesta fall sänds dessa förfrågningar och svar i klartext, okrypterade. En lösning för att kryptera dem är DNSCrypt, som följdes av DNS over TLS (DoT), och nu DNS over HTTPS (DoH), som använder HTTP/2. DoH har standardiserats som DNS Queries over HTTPS (DoH), RFC 8484 i oktober 2018. Firefox 62 och nyare stöder DoH, med Cloudflare som förvald DNS-leverantör. Man kan också välja Anpassad, och själv ange DNS-server. DoH slås på i Firefox’ nätverksinställningar. Cloudflare var tidigt ute med stöd för DoH i april 2018, då deras DNS-tjänst lanserades. Google Public DNS stödde dock DoH redan 1 april 2016, och RFC 8484 sedan juni 2016.

Server Name Indication (SNI) är ett TLS-tillägg, som gör det möjligt att göra fler webbplatser åtkomliga på en och samma IP-adress. Bristen i detta är att det efterfrågade värdnamnet inte krypteras, och att förfrågningarna således kan ses av övervakare. Därför finns Encrypted Server Name Indication for TLS 1.3, förkortat ESNI. Det är för närvarande ett utkast. Stöd för ESNI kom till Firefox Nightly i oktober 2018. I Firefox krävs för ESNI att DoH är på.


DoH, DNSSec, TLS 1.3 och ESNI i Firefox 69

ESNI visade sig dock ha en brist, att inte allt i klienthälsningen krypteras. Därför ändrades specifikationen och dess namn i juni 2020, i och med utkast sju. Det nya namnet lyder TLS Encrypted Client Hello (ECH). I Firefox 85 är stödet för ESNI ersatt med stöd för ECH.

Spårningsskydd

Internet är en diger global digital plattform, som, kort sagt, innehåller allt som kan finnas i digital form. En plattform för användare, innehållsleverantörer och – givetvis – marknadsförare. Inom marknadsföring tycks allt vara tillåtet, tills någon sätter stopp för ofoget. För femton år sedan var upphoppande reklamrutor en plåga på nätet. Därför hindrade redan Firefox 1.0, som släpptes i november 2004, sådana mycket störande annonser, och var därvid en föregångare. Dessa rutor var högst oönskade av användare, och det är också andra slags annonser, på olika sätt. De kan vara visuellt störande, sluka bandbredd och processorkraft, och sprida skadlig kod. En mindre synlig del är den spårande. Ja, den kan rent utav vara helt osynlig, och inte ha något med annonser att göra. ”Alla” vill veta allt om alla användare. Det är dock särskilt annonser som nästan alltid är spårande, för att annonserna skall kunna anpassas efter varje användare, så kallade riktade annonser.

I Firefox 4 finner man ett då nytt verktyg för att minska spårningen, Do Not Track (DNT). DNT bygger på ett HTTP-huvud som säger till webbplatsen att användaren inte vill bli spårad. Det är dock frivilligt att tillmötesgå användarens genom DNT uttryckta önskan. Med tiden visade det sig att väldigt få webbplatser stöder DNT, som således är fullständigt tandlös.

Den sjunde oktober 2020 kungjordes en efterträdare till DNT, Global Privacy Control (GPC). Mozilla stödder och deltog i GPC alltifrån början, men stöd för GPC i Firefox dröjde över ett år. Utvecklingen i frågan kan följas i Support GPC. Stöd för GPC kom i Firefox 95, som släpptes som stabil den sjunde december 2021. I det gemensamma pressmeddelandet sade Mozilla:

”Mozilla is pleased to support the Global Privacy Control initiative. People’s data rights must be recognized and respected, and this is a step in the right direction. We look forward to working with the rest of the web standards community to bring these protections to everyone.”
Den 28 oktober 2021 kungjordes stöd för GPC i Firefox 95:

Spårning bygger ofta på kakor (cookies) från tredje part. Därför har Firefox, liksom alla andra webbläsare, en inställning för att hindra dessa spårande kakor. Det är ett lätt sätt att minska spårningen, men det räcker förstås inte hela vägen. I februari 2013 meddelade Mozilla att de hade börjat att begränsa kakor från tredje part i Firefox Nightly. Kakor från tredje part tilläts endast från domäner som tidigare hade besökts som första part (med Safari som förebild). Detta minskar kraftigt spårning genom tredjepartskakor, och välkomnades av EFF. I maj samma år gjorde Mozilla dock en ”U-sväng”, som Cliqz uttryckte det i ett blogginlägg, och Mozilla skrev att de utvärderade policyer för tredjepartskakor, med en jämvikt mellan ”personaliserade” annonser och spårning. Den u-svängen var en besvikelse, men det var då, och mycket har hänt sedan dess.

Den 10 november 2014 kungjorde Mozilla projektet Polaris. Då bestod Polaris av två delar, ett samarbete med Tor, och ett spårningsskydd. Då fanns spårningsskydd i Firefox Nightly, och kunde slås på i about:config, där det kallades polaris. Monica Chew, då Mozilla-medarbetare, skrev samma dag om spårningsskyddet i Firefox. I januari 2015 kom spårningsskyddet till den stabila Firefox 35. Det var – och är alltjämt – byggt på en filterlista från Disconnect.


Disconnect.

Mozilla själva teg om denna godbit, och lät den vara av som förval, och den som ville slå på den hänvisades alltjämt till about:config. Monica Chew, talade dock, och genomförde tillsammans med Georgios Kontaxis vid Columbia University, en studie, som visade fördelarna med spårningsskydd i Firefox: ”Tracking Protection in Firefox For Privacy and Performance” (PDF från 2015-03-23). EFF var inte sena att hänga på, i juni 2015. I september samma år tog Mozilla ett första steg mot att låta spårningsskyddet komma användare till nytta. Då bad Mozilla användare att utvärdera spårningsskydd i privata fönster i Firefox 42 beta. Det kom till den stabila Firefox 42, som släpptes i november. Den som ville ha spårningsskydd i ”vanliga” (ej privata) fönster fick alltjämt gå till about:config och söka efter lämplig inställning. Åtminstone levde privata fönster nu bättre upp till sitt namn. EFF välkomnade detta, men framförde samtidigt en önskan om spårningsskydd också i vanliga fönster. Den 30 augusti 2018 kungjorde Mozilla att de ändrade sin inställning till spårningsskydd. Där sägs att Firefox inom en nära framtid kommer att skydda användare mot spårning – som förval –, och införa fler verktyg som skyddar mot spårning. De nya verktygen, skydd mot spårning genom fingeravtryck, och cryptomining (cryptocurrency mining), infördes i april 2019, i Firefox Nightly 68 och Firefox beta 67. Det sistnämnda handlar dock ej om spårning utan om att olovligt utnyttja internetanvändares datorkraft för att ”gräva kryptovaluta”. De nya skydden infördes i den stabila Firefox 67, som släpptes den 21 maj 2019.

Med den följande smärre uppdateringen, 67.0.1, som släpptes den 3 juni, är Enhanced Tracking Protection på från början i nya installationer av Firefox. Sedermera skall detta skydd slås på också i Firefox som har installerats tidigare.

Att utestänga filer från tredje part skyddar inte endast mot spårning och skadlig kod, som kan dölja sig i annonser, och störande innehåll på den sida som visas. Det gör också surfningen snabbare. Färre anslutningar till olika servrar, mindre data som förs över nätverket, och mindre innehåll som skall hanteras processorn och målas upp på skärmen. Mozilla och Disconnect genomförde ett jämförande test, där sidladdningstiden mättes för Chrome 61 och Firefox Quantum 57, i vanligt och privat läge (kallat inkognitoläge i Chrome). De kom fram till att Firefox Quantum 57 i privat läge (där spårningsskydd är på) var 2,4 gånger snabbare än Chrome i inkognitoläge. I vanligt läge var det i det närmaste dött lopp. Det som avgjorde var således Firefox’ spårningsskydd i privat läge. Chrome saknar helt spårningsskydd, och fick samma tid i vanligt och inkognitoläge.

Två av inläggen ovan för oss till en av de allra värsta ”nätjättarna”: Meta (Meta Platforms, Inc.; tidigare Facebook Inc.), vars största tjänst Facebook har omkring 2,5 miljarder användare. Meta. äger också tjänsterna Instagram, Facebook Messenger och WhatsApp. Därtill annonsering och Facebook Analytics. Att Meta. samlar på sig enorma mängder uppgifter om sina användare kan varken Mozilla eller någon annan utomstående göra något åt. Att dela texter, bilder, videor och länkar med andra är vad Facebook och Instagram handlar om. Att Meta själva får tillgång till det som en användare väljer att dela med andra användare på Facebook och Instagram är ofrånkomligt. Metas datainsamling är dock inte begränsad till dessa uppgifter, utan de söker att följa sina användare – och oss andra! (genom så kallade skuggprofiler) – runt om på nätet. Olika Facebook- och Instagram-komponenter som är inbäddade på webbplatser innebär att Meta ser den som besöker webbplatsen. Dessa komponenter kan vara den nu så välkända gillaknappen (👍), kommentarer eller Facebooks inloggningstjänst, samt bilder länkade från Instagram. Därtill en osynlig ”spårande pixel”, en 1×1 pixlar stor bild. Rapporter om hur Meta hanterar de insamlade uppgifterna fick Mozilla att utveckla ett Firefox-tillägg kallat Facebook Container. Det släpptes först i mars 2018. I juni 2019 släpptes version 2.0, som också hindrar spårning på webbplatser med Facebooks och Instagrams gilla- och delaknappar. Facebook Container inkapslar såväl Facebook som Instagram och Facebook Messenger.

Mozillas policy för antispårning ligger till grund för Apples policy för Safari.

🦊 Mer Firefox 🦊

Firefox är mer än webbläsaren som bär detta namn. Den 11 juni 2019 skrev Mozilla i ett blogginlägg om hur de utvecklar varumärket Firefox. Där besrkivs följande bärare av namnet Firefox:

  • Firefox Browser
  • Firefox Send
  • Firefox Monitor
  • Firefox Lockwise
Firefox Browser – webbläsaren – har redan avhandlats på denna sida. Också de tre övriga ”Firefoxarna” förtjänar att omtalas med några ord.

Firefox Send var en tjänst som lät användare sända filer till andra (eller sig själva). Filer på upp till en gigabyte kan sändas utan inloggning, och om man loggar in med ett Firefox-konto kan man sända upp till två och en halv gigabyte. Filerna krypteras med AES-GCM-128. Man kan välja hur många nedladdningar som skall tillåtas, och hur lång tid filen skall ligga kvar för nedladdning. Tjänsten har funnits sedan 2017. På GitHub kan man följa arbetet till 24 maj sagda år, och send.firefox.com har haft ett certifikat sedan 2017-07-06. Den stabila utgåvan av tjänsten kungjordes den 13 mars 2019. Utöver webbplatsen, fanns programmet Firefox Send för Android. Den 17 september 2020 kungjordes att Firefox Send hade lagts ned. Firefox Monitor som övervakar de konton man anger, om de har utsatts för dataintrång, så att användarnas uppgifter kan vara på drift. Vid ett sådant intrång bör användaren skyndsamt ändra sitt lösenord för det berörda kontot, så att omgående få upplysning om att ens konto har utsatts för ett intrång kan vara mycket värdefullt. Firefox Monitor uppger att mitt Gmail-konto har utsatts för ett dataintrång, som riktades mot Dropbox den 1 juli 2012. Firefox Lockwise (tidigare Firefox Lockbox) är en lösenordshanterare för webbläsaren Firefox och för Android och IOS. I Firefox används tillägget Lockwise som för närvarande (2.2.5) är en alfaversion. Tillägget ger smidig tillgång till lösenord genom en nyckelsymbol i verktygsfältet. Utöver de inloggningar som webbplatser erbjuder att spara, kan man skapa nya inloggningar inifrån tillägget. Sparade lösenord kan man komma åt i Firefox på andra enheter, om man loggar in i Firefox, eller i Firefox Lockwise för Android eller IOS. Nytt i Firefox 69 är att Firefox kan föreslå lösenord då ett nytt konto skapas på en webbplats, eller ett lösenord skall ändras. I Firefox 70 är Lockwise inbyggd och förvald lösenordshanterare. Där finner man Lockwise i ”hamburgermenyn” (de tre strecken), menyposten Inloggningar och lösenord. I mitten av dessa tjänster finns Firefox-kontot. Firefox Send kan förvisso nyttjas utan någon inloggning, men tjänsten kommer till sin fulla rätt först då man är inloggad. Detsamma gäller Lockwise. Vill man komma åt sina inloggningsuppgifter i flera enheter, får man logga in. Firefox Sync, som kan synkronisera inställningar, tillägg, bokmärken, inloggningsuppgifter, de senaste webbplatserna, med mera, är sedan Firefox 29 knutet till kontot.

Utgåvor (utom smärre uppdateringar)
Se också Firefox Release Calendar.

Firefox ESR-utgåvor

Firefox Extended Support Release är en utgåva som hålls uppdaterad under längre tid (drygt ett år) än den vanliga utgåvan. Den är främst avsedd för organisationer och andra stora användare, men kan förstås också användas av enskilda användare som föredrar att skynda långsamt, men ändå vill ha en uppdaterad och säker webbläsare. Den första ESR-utgåvan var Firefox ESR 10. Var åttonde Firefox-utgåva var grund för Firefox ESR till och med 68. Sedan den vanliga utgåvan började att släppas var fjärde vecka, är Firefox ESR byggd på var tionde Firefox-utgåva. ESR-utgåvan som följde 68 ESR var således Firefox ESR 78, som släpptes den 30 juni 2020. En ESR-utgåva hålls dock uppdaterad under tiden för ytterligare två vanliga utgåvor. Efter 78 ESR utökades tiden mellan två ESR-utgåvor ytterligare, till tretton vanliga utgåvor, så att nästa ESR blev 91, som släpptes 10 augusti 2021. Mozillas e-postklient Thunderbird följer Firefox ESR.