Firefox-ը սկսել է Chrome մանիֆեստի երրորդ տարբերակի փորձարկումը

Mozilla-ն հայտարարել է, որ սկսել է Firefox-ի կողմից Chrome manifest-ի երրորդ տարբերակի ներդրման փորձարկումը, որը սահմանում է WebExtensions API-ի միջոցով գրված հավելումների հասանելի հնարավորություններն ու ռեսուրսները: Firefox 101 բետա-ում մանիֆեստի երրորդ տարբերակը փորձարկելու համար դուք պետք է «extensions.manifestV3.enabled» պարամետրը սահմանեք «true»-ի, իսկ «xpinstall.signatures.required» պարամետրը՝ false մասին:config էջում: Հավելումներ տեղադրելու համար կարող եք օգտագործել about:debugging ինտերֆեյսը: Մանիֆեստի երրորդ տարբերակը նախատեսվում է լռելյայն միացնել մինչև տարեվերջ:

Սկսած 57 տարբերակից՝ Firefox-ն ամբողջությամբ անցավ WebExtensions API-ի օգտագործմանը՝ հավելումներ մշակելու համար և դադարեցրեց XUL տեխնոլոգիայի աջակցությունը: WebExtensions-ին անցումը հնարավորություն տվեց միավորել հավելումների մշակումը Chrome, Opera, Safari և Edge հարթակների հետ, պարզեցրեց հավելումների տեղափոխումը տարբեր վեբ բրաուզերների միջև և հնարավորություն տվեց ամբողջությամբ օգտագործել բազմապրոցեսի ռեժիմը: գործողություն (WebExtensions հավելումները կարող են իրականացվել առանձին գործընթացներում՝ մեկուսացված մնացած բրաուզերից): Հավելումների մշակումը այլ բրաուզերների հետ միավորելու համար Firefox-ն ապահովում է գրեթե լիարժեք համատեղելիություն Chrome մանիֆեստի երկրորդ տարբերակի հետ։

Chrome-ն այժմ աշխատում է մանիֆեստի 2023-րդ տարբերակ տեղափոխվելու ուղղությամբ, և XNUMX-րդ տարբերակի աջակցությունը կդադարեցվի XNUMX թվականի հունվարին: Քանի որ մանիֆեստի երրորդ տարբերակը հայտնվել է կրակի տակ և կխախտի բազմաթիվ բովանդակության արգելափակում և անվտանգության հավելումներ, Mozilla-ն որոշել է հեռանալ Firefox-ում մանիֆեստի հետ լիարժեք համատեղելիության ապահովման պրակտիկայից և իրականացնել որոշ փոփոխություններ այլ կերպ:

Մանիֆեստի երրորդ տարբերակի հետ կապված հիմնական դժգոհությունը կապված է webRequest API-ի միայն կարդալու ռեժիմի թարգմանության հետ, որը հնարավորություն է տվել միացնել ձեր սեփական մշակողներին, որոնք լիարժեք հասանելիություն ունեն ցանցի հարցումներին և կարող են փոփոխել երթևեկությունը թռիչքի ժամանակ: Այս API-ն օգտագործվում է uBlock Origin-ում և շատ այլ հավելումներում՝ անպատշաճ բովանդակությունը արգելափակելու և անվտանգություն ապահովելու համար: WebRequest API-ի փոխարեն, մանիֆեստի երրորդ տարբերակն առաջարկում է սահմանափակ կարողությունների դեկլարատիվ NetRequest API, որն ապահովում է մուտք դեպի ներկառուցված զտիչ շարժիչ, որն ինքնուրույն մշակում է արգելափակման կանոնները, թույլ չի տալիս օգտագործել սեփական զտման ալգորիթմները և չի թույլատրում: թույլ են տալիս սահմանել բարդ կանոններ, որոնք համընկնում են միմյանց՝ կախված պայմաններից:

Firefox-ում առաջարկվող մանիֆեստի երրորդ տարբերակի իրականացման ժամանակ ավելացվել է բովանդակության զտման նոր դեկլարատիվ API, սակայն, ի տարբերություն Chrome-ի, նրանք չեն դադարել աջակցել webRequest API-ի շահագործման հին արգելափակման ռեժիմին: Firefox-ում նոր մանիֆեստի իրականացման այլ առանձնահատկությունները ներառում են.

  • Մանիֆեստը սահմանում է ֆոնային էջերի փոխարինումը Service Workers տարբերակով, որն աշխատում է որպես ֆոնային գործընթացներ (Background Service Workers): Համատեղելիությունն ապահովելու համար Firefox-ը կիրականացնի այս պահանջը, սակայն լրացուցիչ կառաջարկի Իրադարձությունների Էջերի նոր մեխանիզմ, որն ավելի ծանոթ է վեբ մշակողներին, չի պահանջում հավելումների ամբողջական վերամշակում և վերացնում է սպասարկման աշխատողների օգտագործման հետ կապված սահմանափակումները: Իրադարձությունների էջերը թույլ կտան առկա ֆոնային էջերի ավելացումներին համապատասխանել մանիֆեստի երրորդ տարբերակի պահանջներին՝ միաժամանակ պահպանելով DOM-ի հետ աշխատելու համար անհրաժեշտ բոլոր հնարավորությունները: Firefox-ում փորձարկման համար հասանելի մանիֆեստում ներկայումս աջակցվում են միայն Իրադարձությունների էջերը, և սպասարկման աշխատողների վրա հիմնված լուծման աջակցությունը խոստանում է ավելի ուշ կավելացվի: Apple-ն աջակցեց առաջարկին և իրականացրեց Իրադարձությունների էջերը Safari Technology Preview 136-ում:
  • Թույլտվության հարցման նոր մանրացված մոդելը. հավելումը չի կարողանա ակտիվացնել միանգամից բոլոր էջերի համար («all_urls» թույլտվությունը հանվել է), այլ կաշխատի միայն ակտիվ ներդիրի համատեքստում, այսինքն. օգտատերը պետք է հաստատի, որ հավելումը աշխատում է յուրաքանչյուր կայքի համար: Firefox-ում կայքի տվյալներին մուտք գործելու բոլոր հարցումները կդիտարկվեն կամընտիր, իսկ մուտքի թույլտվության վերաբերյալ վերջնական որոշումը կկայացնի օգտատերը, ով կկարողանա ընտրողաբար որոշել, թե որ հավելումը թույլ կտա մուտք գործել տվյալ կայքի տվյալներին:
  • Խաչաձև ծագման հարցումների մշակման մեջ փոփոխություն. համաձայն նոր մանիֆեստի, բովանդակության մշակման սկրիպտները կենթարկվեն նույն թույլտվության սահմանափակումներին, ինչ հիմնական էջի համար, որտեղ ներկառուցված են այս սկրիպտները (օրինակ, եթե էջը մուտք չունի դեպի location API-ն, ապա սցենարի հավելումները նույնպես չեն ստանա այս մուտքը): Այս փոփոխությունն ամբողջությամբ ներդրված է Firefox-ում։
  • Խոստումների վրա հիմնված API: Firefox-ն արդեն աջակցում է այս API-ին և այն կտեղափոխի մանիֆեստի երրորդ տարբերակի «chrome.*» անվանատարածք:
  • Արտաքին սերվերներից ներբեռնված կոդի կատարումն արգելելը (խոսքը այն իրավիճակների մասին է, երբ հավելումը բեռնում և կատարում է արտաքին կոդ): Firefox-ն արդեն օգտագործում է արտաքին կոդի արգելափակում, և Mozilla-ի մշակողները ավելացրել են կոդերի ներբեռնման հետևելու լրացուցիչ մեթոդներ, որոնք առաջարկվում են մանիֆեստի երրորդ տարբերակում: Բովանդակության մշակման սկրիպտների համար տրամադրվում է բովանդակության մուտքի սահմանափակման առանձին քաղաքականություն (CSP, Content Security Policy):

Source: opennet.ru

Добавить комментарий