Mozilla bo začela sprejemati dodatke, ki temeljijo na tretji različici Chromovega manifesta

21. novembra bo imenik AMO (addons.mozilla.org) začel sprejemati in digitalno podpisovati dodatke z uporabo različice 109 Chromovega manifesta. Te dodatke je mogoče preizkusiti v nočnih različicah Firefoxa. V stabilnih izdajah bo podpora za manifest različice 17 omogočena v Firefoxu 2023, predvidoma 2023. januarja XNUMX. Podpora za drugo različico manifesta bo ohranjena v dogledni prihodnosti, vendar bo konec leta XNUMX, po oceni dinamike prenosa dodatkov k tretji različici manifesta, možnost opustitve podpore za drugo različico manifesta bodo upoštevani.

Chromov manifest določa zmožnosti in vire, ki so na voljo za razširitve, napisane z API-jem WebExtensions. Od različice 57 je Firefox popolnoma prešel na uporabo API-ja WebExtensions za razvoj dodatkov in prenehal podpirati tehnologijo XUL. Prehod na WebExtensions je omogočil poenotenje razvoja dodatkov s platformami Chrome, Opera, Safari in Edge, poenostavil prenos dodatkov med različnimi spletnimi brskalniki in omogočil polno uporabo večprocesnega načina delovanje (dodatki WebExtensions se lahko izvajajo v ločenih procesih, izoliranih od preostalega brskalnika). Za poenotenje razvoja dodatkov z drugimi brskalniki Firefox zagotavlja skoraj popolno združljivost z drugo različico Chromovega manifesta.

Chrome trenutno dela na prehodu na različico 2024 manifesta, podpora za različico XNUMX pa bo januarja XNUMX ukinjena. Glavni cilj sprememb v novi različici je olajšati ustvarjanje varnih in visoko zmogljivih dodatkov ter otežiti ustvarjanje nevarnih in počasnih dodatkov. Ker je bila tretja različica manifesta izpostavljena kritikam in bo prekinila številne dodatke za blokiranje vsebine in varnostne dodatke, se je Mozilla odločila, da ne bo popolnoma združljiva z manifestom v Firefoxu, in nekatere spremembe implementira drugače.

Glavno nezadovoljstvo s tretjo različico manifesta je povezano s prevodom webRequest API-ja v način samo za branje, ki je omogočil povezovanje lastnih upravljavcev, ki imajo popoln dostop do omrežnih zahtev in lahko sproti spreminjajo promet. Ta API se uporablja v uBlock Origin in številnih drugih dodatkih za blokiranje neprimerne vsebine in zagotavljanje varnosti. Namesto webRequest API tretja različica manifesta ponuja deklarativni NetRequest API z omejeno zmogljivostjo, ki omogoča dostop do vgrajenega mehanizma za filtriranje, ki neodvisno obdeluje pravila blokiranja, ne dovoljuje uporabe lastnih algoritmov za filtriranje in ne omogočajo nastavitev kompleksnih pravil, ki se med seboj prekrivajo glede na pogoje.

Med značilnostmi izvajanja novega manifesta v Firefoxu:

  • Dodan je bil nov API za deklarativno filtriranje vsebine, vendar za razliko od Chroma podpora za stari način blokiranja API-ja webRequest ni bila ukinjena.
  • Manifest definira zamenjavo strani v ozadju z možnostjo Service Workers, ki se izvajajo kot procesi v ozadju (Background Service Workers). Da bi zagotovil združljivost v prihodnosti, bo Firefox podpiral storitvene delavce, vendar jih trenutno nadomešča nov mehanizem strani dogodkov, ki je bolj znan spletnim razvijalcem, ne zahteva popolne predelave dodatkov in odpravlja omejitve, povezane z uporaba storitvenih delavcev. Strani dogodkov bodo obstoječim dodatkom strani v ozadju omogočile skladnost z zahtevami tretje različice manifesta, hkrati pa bodo ohranile dostop do vseh zmogljivosti, potrebnih za delo z DOM.
  • Nov granularni model zahteve za dovoljenje - dodatka ne bo mogoče aktivirati za vse strani hkrati (dovoljenje “all_urls” je odstranjeno), ampak bo deloval samo v kontekstu aktivnega zavihka, tj. uporabnik bo moral potrditi, da dodatek deluje za vsako spletno mesto. V Firefoxu bodo vse zahteve za dostop do podatkov spletnega mesta obravnavane kot neobvezne, končno odločitev o odobritvi dostopa pa bo sprejel uporabnik, ki se bo lahko selektivno odločil, kateremu dodatku bo omogočil dostop do svojih podatkov na posameznem spletnem mestu.

    Za upravljanje dovoljenj je bil vmesniku dodan nov gumb »Unified Extensions«, ki ga je že mogoče preizkusiti v nočnih različicah Firefoxa. Gumb zagotavlja sredstvo za neposreden nadzor, do katerih spletnih mest ima posamezen dodatek dostop – uporabnik lahko odobri in prekliče dostop dodatka do katerega koli mesta. Upravljanje dovoljenj velja samo za dodatke, ki temeljijo na tretji različici manifesta; za dodatke, ki temeljijo na drugi različici manifesta, se granularni nadzor dostopa do spletnih mest ne izvaja.

    Mozilla bo začela sprejemati dodatke, ki temeljijo na tretji različici Chromovega manifesta
  • Sprememba pri obravnavanju zahtev navzkrižnega izvora – v skladu z novim manifestom bodo za skripte za obdelavo vsebine veljale enake omejitve dovoljenj kot za glavno stran, v katero so ti skripti vdelani (na primer, če stran nima dostopa do API za lokacijo, potem tudi dodatki skriptov ne bodo prejeli tega dostopa). Ta sprememba je v celoti implementirana v Firefoxu.
  • API, ki temelji na obljubah. Firefox podpira ta API in ga bo za tretjo različico manifesta premaknil v imenski prostor »chrome.*«.
  • Prepoved izvajanja kode, naložene z zunanjih strežnikov (govorimo o situacijah, ko dodatek naloži in izvaja zunanjo kodo). Firefox uporablja zunanje blokiranje kode in razvijalci Mozille so dodali dodatne tehnike sledenja prenosu kode, ki so na voljo v tretji različici manifesta. Za skripte za obdelavo vsebine je na voljo ločen pravilnik o omejitvi dostopa do vsebine (CSP, Content Security Policy).

Vir: opennet.ru

Dodaj komentar