Firefox on alkanut testata Chrome-luettelon kolmatta versiota

Mozilla on ilmoittanut, että se on alkanut testata Firefoxin kolmannen version Chrome-luettelosta, joka määrittelee WebExtensions API:lla kirjoitettujen lisäosien ominaisuudet ja resurssit. Testaaksesi luettelon kolmatta versiota Firefox 101:n betaversiossa, sinun tulee asettaa "extensions.manifestV3.enabled"-parametrin arvoksi tosi ja parametrin "xpinstall.signatures.required" arvoksi false about:config-sivulla. Lisäosien asentamiseen voit käyttää about:debugging-käyttöliittymää. Luettelon kolmas versio on tarkoitus ottaa oletusarvoisesti käyttöön vuoden loppuun mennessä.

Versiosta 57 alkaen Firefox siirtyi kokonaan käyttämään WebExtensions API:ta lisäosien kehittämiseen ja lopetti XUL-tekniikan tukemisen. Siirtyminen WebExtensionsiin mahdollisti lisäosien kehittämisen yhdistämisen Chrome-, Opera-, Safari- ja Edge-alustoille, yksinkertaisti lisäosien siirtämistä eri verkkoselaimien välillä ja mahdollisti moniprosessitilan täyden käytön. käyttö (WebExtensions-lisäosat voidaan suorittaa erillisissä prosesseissa, erillään muusta selaimesta). Lisäosien kehittämisen yhtenäistämiseksi muiden selainten kanssa Firefox tarjoaa lähes täydellisen yhteensopivuuden Chrome-luettelon toisen version kanssa.

Chrome työskentelee parhaillaan siirtyäkseen manifestin versioon 2023, ja version XNUMX tuki lopetetaan tammikuussa XNUMX. Koska luettelon kolmas versio on joutunut tulen kohteeksi ja rikkoo monia sisällön esto- ja suojauslisäosia, Mozilla on päättänyt luopua käytännöstä varmistaa täydellinen yhteensopivuus luettelon kanssa Firefoxissa ja toteuttaa joitakin muutoksia eri tavalla.

Suurin tyytymättömyys manifestin kolmanteen versioon liittyy webRequest API:n käännökseen vain luku -tilaan, mikä mahdollisti omien käsittelijöiden yhdistämisen, joilla on täysi pääsy verkkopyyntöihin ja jotka voivat muokata liikennettä lennossa. Tätä API:ta käytetään uBlock Originissa ja monissa muissa lisäosissa sopimattoman sisällön estämiseen ja turvallisuuden tarjoamiseen. WebRequest API:n sijasta manifestin kolmas versio tarjoaa rajoitetun kyvyn declarativeNetRequest API:n, joka tarjoaa pääsyn sisäänrakennettuun suodatusmoottoriin, joka käsittelee itsenäisesti estosäännöt, ei salli omien suodatusalgoritmien käyttöä eikä mahdollistaa monimutkaisten sääntöjen asettamisen, jotka menevät päällekkäin olosuhteista riippuen.

Firefoxissa ehdotetun manifestin kolmannen version toteutuksessa lisättiin uusi deklaratiivinen API sisällön suodattamiseen, mutta toisin kuin Chrome, ne eivät lakanneet tukemasta webRequest API:n vanhaa estotoimintatapaa. Muita Firefoxin uuden manifestin toteutuksen ominaisuuksia ovat:

  • Luettelo määrittää taustasivujen korvaamisen Service Workers -versiolla, joka toimii taustaprosesseina (Background Service Workers). Yhteensopivuuden varmistamiseksi Firefox toteuttaa tämän vaatimuksen, mutta tarjoaa lisäksi uuden Event Pages -mekanismin, joka on tutumpi verkkokehittäjille, ei vaadi laajennuksien täydellistä uudelleenkäsittelyä ja poistaa Service Workersin käyttöön liittyvät rajoitukset. . Tapahtumasivut mahdollistavat olemassa olevien taustasivujen lisäysten noudattamisen luettelon kolmannen version vaatimusten kanssa, mutta säilyttävät pääsyn kaikkiin DOM:n kanssa toimimiseen tarvittaviin ominaisuuksiin. Firefoxissa testattavassa manifestissa tuetaan tällä hetkellä vain Event Pages -sivuja, ja Service Workers -pohjaiseen ratkaisuun luvataan lisätä tukea myöhemmin. Apple tuki ehdotusta ja otti tapahtumasivut käyttöön Safari Technology Preview 136:ssa.
  • Uusi rakeinen lupapyyntömalli - lisäosaa ei voida aktivoida kaikille sivuille kerralla ("all_urls" -oikeus on poistettu), vaan se toimii vain aktiivisen välilehden yhteydessä, ts. käyttäjän on vahvistettava, että lisäosa toimii jokaisessa sivustossa. Firefoxissa kaikki pyynnöt päästä käsiksi sivuston tietoihin katsotaan valinnaisiksi, ja lopullisen päätöksen käyttöoikeuden myöntämisestä tekee käyttäjä, joka voi valikoivasti päättää, millä lisäosalla hän antaa pääsyn heidän tietoihinsa tietyllä sivustolla.
  • Muutos Cross-Origin-pyyntöjen käsittelyssä - uuden luettelon mukaan sisällönkäsittelyohjelmiin sovelletaan samoja luparajoituksia kuin pääsivulle, jolle nämä skriptit on upotettu (jos sivulla ei esimerkiksi ole pääsyä sijainnin API, silloin myös komentosarjan lisäosat eivät saa tätä käyttöoikeutta). Tämä muutos on täysin toteutettu Firefoxissa.
  • Lupauspohjainen API. Firefox tukee jo tätä sovellusliittymää ja siirtää sen luettelon kolmannen version "chrome.*"-nimitilaan.
  • Ulkoisilta palvelimilta ladatun koodin suorittamisen estäminen (puhumme tilanteista, joissa lisäosa latautuu ja suorittaa ulkoista koodia). Firefox käyttää jo ulkoista koodin estoa, ja Mozillan kehittäjät ovat lisänneet koodin lataamisen seurantatekniikoita, joita tarjotaan luettelon kolmannessa versiossa. Sisällönkäsittelyohjelmille tarjotaan erillinen sisällön pääsynrajoituskäytäntö (CSP, Content Security Policy).

Lähde: opennet.ru

Lisää kommentti