Mozilla hakkab vastu võtma lisandmooduleid, mis põhinevad Chrome'i manifesti kolmandal versioonil

21. novembril hakkab AMO kataloog (addons.mozilla.org) vastu võtma ja digitaalselt allkirjastama lisandmooduleid, kasutades Chrome'i manifesti versiooni 109. Neid lisandmooduleid saab testida igaõhtuste Firefoxi järgudega. Stabiilsetes väljaannetes lubatakse Firefox 17 manifesti versiooni 2023 tugi, mis on kavandatud 2023. jaanuariks XNUMX. Toetus manifesti teisele versioonile säilib ka lähitulevikus, kuid XNUMX. aasta lõpus, pärast manifesti kolmandasse versiooni täienduste ülekandmise dünaamika hindamist, ilmneb võimalus manifesti teise versiooni toetamisest loobuda. võetakse arvesse.

Chrome'i manifest määratleb WebExtensions API abil kirjutatud laiendustele saadaolevad võimalused ja ressursid. Alates versioonist 57 läks Firefox lisandmoodulite arendamiseks täielikult üle WebExtensions API kasutamisele ja lõpetas XUL-tehnoloogia toetamise. Üleminek WebExtensionsile võimaldas ühildada lisandmoodulite arendamise Chrome'i, Opera, Safari ja Edge'i platvormidega, lihtsustas lisandmoodulite teisaldamist erinevate veebilehitsejate vahel ja võimaldas täielikult kasutada mitme protsessi režiimi operatsiooni (WebExtensionsi lisandmooduleid saab käivitada eraldi protsessides, eraldatuna ülejäänud brauserist). Lisandmoodulite arendamise ühtlustamiseks teiste brauseritega pakub Firefox peaaegu täielikku ühilduvust Chrome'i manifesti teise versiooniga.

Chrome töötab praegu manifesti 2024. versioonile ülemineku nimel ja versiooni XNUMX tugi lõpetatakse XNUMX. aasta jaanuaris. Uues versioonis tehtud muudatuste põhieesmärk on lihtsustada turvaliste ja suure jõudlusega lisandmoodulite loomist ning raskendada ebaturvaliste ja aeglaste lisandmoodulite loomist. Kuna manifesti kolmas versioon on sattunud kriitika alla ja purustab paljud sisu blokeerimise ja turvalisuse lisandmoodulid, on Mozilla otsustanud loobuda Firefoxi manifestiga täielikult ühilduvast versioonist ja rakendada mõningaid muudatusi teisiti.

Peamine rahulolematus manifesti kolmanda versiooniga on seotud webRequest API tõlkimisega kirjutuskaitstud režiimi, mis võimaldas ühendada oma töötlejad, millel on täielik juurdepääs võrgupäringutele ja mis saavad liiklust käigult muuta. Seda API-t kasutatakse uBlock Originis ja paljudes teistes lisandmoodulites sobimatu sisu blokeerimiseks ja turvalisuse tagamiseks. WebRequest API asemel pakub manifesti kolmas versioon piiratud võimekusega declarativeNetRequest API-t, mis annab juurdepääsu sisseehitatud filtreerimismootorile, mis töötleb iseseisvalt blokeerimisreegleid, ei luba kasutada oma filtreerimisalgoritme ega võimalda võimaldavad seada keerulisi reegleid, mis olenevalt tingimustest kattuvad.

Firefoxis uue manifesti rakendamise funktsioonide hulgas:

  • Lisatud on uus deklaratiivne sisu filtreerimise API, kuid erinevalt Chrome'ist pole webRequest API vana blokeerimisrežiimi tugi katkestatud.
  • Manifest määratleb taustalehtede asendamise suvandiga Service Workers, mis töötab taustaprotsessidena (Background Service Workers). Ühilduvuse tagamiseks tulevikus toetab Firefox teenusetöötajaid, kuid praegu on need asendatud uue Event Pages mehhanismiga, mis on veebiarendajatele tuttavam, ei nõua lisandmoodulite täielikku ümbertöötamist ja kaotab sellega seotud piirangud. teenindustöötajate kasutamine. Sündmuslehed võimaldavad olemasolevatel taustalehtede lisamistel järgida manifesti kolmanda versiooni nõudeid, säilitades samal ajal juurdepääsu kõigile DOM-iga töötamiseks vajalikele võimalustele.
  • Uus granuleeritud lubade päringu mudel - lisandmoodulit ei saa korraga aktiveerida kõikidele lehtedele (luba “all_urls” on eemaldatud), vaid töötab ainult aktiivse vahelehe kontekstis, s.t. kasutaja peab kinnitama, et lisandmoodul töötab igal saidil. Firefoxis käsitletakse kõiki saidi andmetele juurdepääsu taotlusi valikulistena ja lõpliku otsuse juurdepääsu andmise kohta teeb kasutaja, kes saab valikuliselt otsustada, millisele lisandmoodulile konkreetsel saidil oma andmetele juurdepääs annab.

    Lubade haldamiseks on liidesesse lisatud uus nupp “Unified Extensions”, mida saab juba katsetada Firefoxi öistes ehitustes. Nupp võimaldab otse juhtida, millistele saitidele igal lisandmoodulil on juurdepääs – kasutaja saab anda ja tühistada lisandmooduli juurdepääsu mis tahes saidile. Lubade haldamine kehtib ainult manifesti kolmandal versioonil põhinevate lisandmoodulite puhul; manifesti teisel versioonil põhinevate lisandmoodulite puhul ei teostata saitidele üksikasjalikku juurdepääsukontrolli.

    Mozilla hakkab vastu võtma lisandmooduleid, mis põhinevad Chrome'i manifesti kolmandal versioonil
  • Muudatus ristpäritolu taotluste käsitlemisel – vastavalt uuele manifestile kehtivad sisu töötlemise skriptidele samad loapiirangud kui põhilehe puhul, kuhu need skriptid on manustatud (näiteks kui lehel puudub juurdepääs asukoha API, siis ei saa ka skripti lisandmoodulid seda juurdepääsu). See muudatus on Firefoxis täielikult rakendatud.
  • Lubaduspõhine API. Firefox toetab seda API-liidest ja manifesti kolmanda versiooni puhul teisaldab selle nimeruumi „chrome.*”.
  • Välistest serveritest alla laaditud koodi täitmise keelamine (räägime olukordadest, kui lisandmoodul laadib ja käivitab välist koodi). Firefox kasutab välist koodiblokeerimist ja Mozilla arendajad on lisanud manifesti kolmandas versioonis pakutavad täiendavad koodi allalaadimise jälgimise tehnikad. Sisu töötlemise skriptide jaoks on ette nähtud eraldi sisule juurdepääsu piiramise poliitika (CSP, Content Security Policy).

Allikas: opennet.ru

Lisa kommentaar