Firefox ir sācis trešās Chrome manifesta versijas testēšanu

Mozilla ir paziņojusi, ka ir sākusi pārbaudīt Firefox trešās Chrome manifesta versijas ieviešanu, kas nosaka iespējas un resursus, kas ir pieejami papildinājumiem, kas rakstīti, izmantojot WebExtensions API. Lai pārbaudītu manifesta trešo versiju Firefox 101 beta versijā, lapā about:config parametram “extensions.manifestV3.enabled” ir jāiestata vērtība “true” un parametram “xpinstall.signatures.required” ir jābūt “false”. Lai instalētu papildinājumus, varat izmantot saskarni about:debugging. Trešo manifesta versiju ir plānots iespējot pēc noklusējuma līdz gada beigām.

Sākot ar versiju 57, Firefox pilnībā pārgāja uz WebExtensions API izmantošanu papildinājumu izstrādei un pārtrauca atbalstīt XUL tehnoloģiju. Pāreja uz WebExtensions ļāva apvienot papildinājumu izstrādi ar Chrome, Opera, Safari un Edge platformām, vienkāršoja papildinājumu pārnešanu starp dažādām tīmekļa pārlūkprogrammām un ļāva pilnībā izmantot vairāku procesu režīmu. darbība (WebExtensions pievienojumprogrammas var tikt izpildītas atsevišķos procesos, izolēti no pārējās pārlūkprogrammas). Lai apvienotu papildinājumu izstrādi ar citām pārlūkprogrammām, Firefox nodrošina gandrīz pilnīgu saderību ar Chrome manifesta otro versiju.

Pārlūks Chrome pašlaik strādā, lai pārietu uz manifesta 2023. versiju, un XNUMX. versijas atbalsts tiks pārtraukts XNUMX. gada janvārī. Tā kā trešā manifesta versija ir nokļuvusi kritikā un izjauks daudzus satura bloķēšanas un drošības papildinājumus, Mozilla ir nolēmusi atteikties no prakses nodrošināt pilnīgu saderību ar manifestu pārlūkprogrammā Firefox un ieviest dažas izmaiņas citādi.

Galvenā neapmierinātība ar manifesta trešo versiju ir saistīta ar WebRequest API tulkošanu tikai lasīšanas režīmā, kas ļāva savienot savus apstrādātājus, kuriem ir pilna piekļuve tīkla pieprasījumiem un kuri var modificēt trafiku lidojuma laikā. Šī API tiek izmantota uBlock Origin un daudzos citos papildinājumos, lai bloķētu nepiemērotu saturu un nodrošinātu drošību. WebRequest API vietā manifesta trešā versija piedāvā ierobežotas iespējas deklaratīvo NetRequest API, kas nodrošina piekļuvi iebūvētam filtrēšanas dzinējam, kas neatkarīgi apstrādā bloķēšanas noteikumus, neļauj izmantot savus filtrēšanas algoritmus un neļauj. ļauj iestatīt sarežģītus noteikumus, kas pārklājas viens ar otru atkarībā no apstākļiem.

Ieviešot Firefox piedāvāto manifesta trešo versiju, tika pievienota jauna deklaratīvā API satura filtrēšanai, taču atšķirībā no Chrome tie nepārstāja atbalstīt veco webRequest API bloķēšanas režīmu. Citas Firefox jaunā manifesta ieviešanas funkcijas ir šādas:

  • Manifestā ir definēta fona lapu aizstāšana ar opciju Service Workers, kas darbojas kā fona procesi (Background Service Workers). Lai nodrošinātu saderību, Firefox ieviesīs šo prasību, bet papildus piedāvās jaunu Event Pages mehānismu, kas ir vairāk pazīstams tīmekļa izstrādātājiem, neprasa pilnīgu papildinājumu pārstrādi un novērš ierobežojumus, kas saistīti ar Service Workers izmantošanu. Notikumu lapas ļaus esošajiem fona lapu papildinājumiem atbilst manifesta trešās versijas prasībām, vienlaikus saglabājot piekļuvi visām iespējām, kas nepieciešamas darbam ar DOM. Manifesta implementācijā, kas pieejama testēšanai pārlūkprogrammā Firefox, pašlaik tiek atbalstītas tikai notikumu lapas, un vēlāk tiek solīts, ka atbalsts risinājumam, kura pamatā ir Service Workers, tiks pievienots. Apple atbalstīja priekšlikumu un ieviesa notikumu lapas Safari Technology Preview 136.
  • Jaunais granulētā atļauju pieprasījuma modelis - pievienojumprogrammu nevarēs aktivizēt visām lapām vienlaikus (atļauja “all_urls” ir noņemta), bet darbosies tikai aktīvās cilnes kontekstā, t.i. lietotājam būs jāapstiprina, ka papildinājums darbojas katrā vietnē. Firefox visi pieprasījumi piekļūt vietnes datiem tiks uzskatīti par neobligātiem, un galīgo lēmumu par piekļuves piešķiršanu pieņems lietotājs, kurš varēs selektīvi izlemt, kuram papildinājumam piešķirt piekļuvi saviem datiem konkrētajā vietnē.
  • Izmaiņas dažādu izcelsmes pieprasījumu apstrādē — saskaņā ar jauno manifestu uz satura apstrādes skriptiem attieksies tādi paši atļauju ierobežojumi kā uz galveno lapu, kurā šie skripti ir iegulti (piemēram, ja lapai nav piekļuves atrašanās vietas API, tad arī skripta papildinājumi nesaņems šo piekļuvi). Šīs izmaiņas ir pilnībā ieviestas pārlūkprogrammā Firefox.
  • Uz solījumu balstīta API. Firefox jau atbalsta šo API un pārvietos to uz manifesta trešās versijas nosaukumvietu “chrome.*”.
  • No ārējiem serveriem lejupielādēta koda izpildes aizliegšana (runājam par situācijām, kad papildinājums ielādē un izpilda ārējo kodu). Firefox jau izmanto ārējo kodu bloķēšanu, un Mozilla izstrādātāji ir pievienojuši papildu koda lejupielādes izsekošanas metodes, kas piedāvātas manifesta trešajā versijā. Satura apstrādes skriptiem tiek nodrošināta atsevišķa satura piekļuves ierobežošanas politika (CSP, Content Security Policy).

Avots: opennet.ru

Pievieno komentāru