Mozilla begynder at acceptere udvidelser baseret på den tredje version af Chrome-manifestet

Den 21. november vil AMO-kataloget (addons.mozilla.org) begynde at godkende tilføjelser, der bruger den tredje version af manifestet Chrome, med en digital underskrift. De nævnte tilføjelser kan testes i Firefox' natbuilds. I de stabile udgivelser vil understøttelsen af den tredje version af manifestet blive inkluderet i Firefox 109, der er planlagt til den 17. januar 2023. Understøttelsen af den anden version af manifestet vil blive opretholdt i overskuelig fremtid, men i slutningen af 2023, efter en vurdering af overgangen af tilføjelser til den tredje version af manifestet, vil der blive taget stilling til muligheden for at betragte understøttelsen af den anden version af manifestet som forældet.

Chrome-manifestet definerer de funktioner og ressourcer, der er tilgængelige for tilføjelser skrevet med API WebExtensions. Fra version 57 overgik Firefox helt til brug af API WebExtensions til udvikling af tilføjelser og stoppede med at understøtte teknologien XUL. Overgangen til WebExtensions har gjort det muligt at ensrette udviklingen af tilføjelser med platforme som Chrome, Opera, Safari og Edge, forenklet porteringen af tilføjelser mellem forskellige webbrowsere og givet mulighed for fuld anvendelse af multiprocessormodus (WebExtensions-tilføjelser kan køre i separate processer, isoleret fra andre dele af browseren). For at ensrette udviklingen af tilføjelser med andre browsere sikrer Firefox næsten fuld kompatibilitet med den anden version af Chrome-manifestet.

I øjeblikket arbejder Chrome på overgangen til den tredje version af manifestet, og understøttelsen af den anden version vil blive stoppet i januar 2024. Hovedformålet med ændringerne i den nye version er at forenkle oprettelsen af sikre og højtydende tilføjelser samt at komplicere muligheden for at oprette usikre og langsomme tilføjelser. Da den tredje version af manifestet er blevet kritiseret og vil føre til nedbrud af mange tilføjelser til blokering af uønsket indhold og sikring af sikkerhed, har Mozilla besluttet at træde tilbage fra at sikre fuld kompatibilitet med manifestet i Firefox og implementere nogle ændringer anderledes.

Den primære utilfredshed med den tredje version af manifestet er relateret til overgangen til en kun-læse-tilstand for API'et webRequest, som tidligere gjorde det muligt at tilkoble egne behandlere med fuld adgang til netværksanmodninger og som kunne ændre trafik on-the-fly. Dette API anvendes i uBlock Origin og mange andre extensions til at blokere uønsket indhold og sikre brugeren. I stedet for API'et webRequest tilbydes der i den tredje version af manifestet et begrænset API kaldet declarativeNetRequest, som giver adgang til en indbygget motor til filtrering, der selv håndterer blokkeringsregler, uden mulighed for at bruge egne filtreringsalgoritmer eller oprette komplekse overlappende regler afhængigt af betingelserne.

Blandt funktionerne ved implementeringen af det nye manifest i Firefox er:

  • Der er tilføjet et nyt deklarativt API til filtrering af indhold, men i modsætning til Chrome er understøttelsen af den gamle blokkeringsmodus af API webRequest ikke stoppet.
  • Manifestet definerer udskiftningen af baggrundssider med en version af Service Workers, der fungerer som baggrundsprocesser (Background Service Workers). For at sikre kompatibilitet i fremtiden vil Firefox implementere støtte til Service Workers, men i øjeblikket er en ny mekanisme kaldet Event Pages foreslået, som er mere velkendt for webudviklere, ikke kræver en fuldstændig omarbejdning af udvidelserne og fjerner begrænsningerne forbundet med brugen af Service Workers. Event Pages gør det muligt at bringe eksisterende udvidelser med baggrundssider i overensstemmelse med kravene i version tre af manifestet, samtidig med at adgang til alle de nødvendige funktioner til arbejde med DOM bevares.
  • Den nye granulære model for tilladelsesforespørgsler - udvidelsen kan ikke aktiveres med det samme for alle sider (tilladelsen «all_urls» er fjernet) og vil kun fungere i konteksten af den aktive fane, dvs. brugeren skal bekræfte udvidelsens arbejde for hver hjemmeside. I Firefox vil alle forespørgsler om adgang til webdata blive betragtet som ikke-bindende, og den endelige beslutning om at give adgang vil blive truffet af brugeren, der kan vælge at bestemme, hvilken udvidelse der skal have adgang til deres data på en given hjemmeside.

    Til styring af tilladelser i brugergrænsefladen er der tilføjet en ny knap kaldet "Unified Extensions", som allerede kan testes i natbyggelser af Firefox. Knapper giver midler til direkte at kontrollere, hvilke websteder hver udvidelse har adgang til - brugeren kan give og tilbagekalde adgang til enhver udvidelse for ethvert websted. Tilladelseshåndtering gælder kun for udvidelser baseret på version tre af manifestet, for udvidelser baseret på version to af manifestet er der ikke granulær kontrol af adgangen til websteder.

    Mozilla begynder at acceptere udvidelser baseret på den tredje version af Chrome-manifestet
  • Ændring af behandling af Cross-origin-forespørgsler - i overensstemmelse med det nye manifest for scripts vil de samme begrænsninger for rettigheder gælde for indholdsscripts som for den hovedside, hvori disse scripts indlejres (for eksempel, hvis siden ikke har adgang til API'et til bestemmelse af placering, så vil udvidelsesscriptet heller ikke få denne adgang). Denne ændring er fuldt implementeret i Firefox.
  • Promise-baseret API. Firefox understøtter dette API og vil i version tre af manifestet flytte det til namespaces "chrome.*".
  • Forbud mod udførelse af kode indlæst fra eksterne kilder servere (taler om situationer, hvor en udvidelse indlæser og udfører ekstern kode). I Firefox anvendes der blokering af ekstern kode, og Mozilla-udviklerne har tilføjet yderligere teknikker til at spore indlæsninger af kode, som foreslået i version tre af manifestet. For indholdsscript er der indført en separat adgangsbegrænsningspolitik for indhold (CSP, Content Security Policy).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster