Гоогле-ов Манифест В3 ће променити начин рада Цхроме екстензија за блокирање огласа: да ли је то да их осакати или ради безбедности?

Предстојећи Манифест В3 за Гоогле Цхроме екстензије ће променити начин рада блокатора огласа у Цхроме-у. Да ли је ово прави пут за блокаторе огласа и Гоогле?

Гоогле Цхроме је најпопуларнији веб претраживач на више платформи тренутно доступан на тржишту, тврдећи 62,7% глобалног удела у употреби претраживача до маја 2019. године, са Аппле-овим Сафаријем који је на другом месту са 15,89%, а Мозилин Фирефок са 5,07%. Због свог лавовског удела, и најмање промене које Гоогле Цхроме предузима за своју платформу на крају утичу на милионе корисника широм света. Дакле, када је Гоогле најавио следећу верзију манифеста екстензија у облику Манифест В3 за Гоогле Цхроме екстензије, знали смо да биле су пред неким великим променама, посебно када је дошло до сазнања да Гоогле уграђује АПИ за блокирање садржаја унутар Цхроме-а себе.

Шта је Манифест В3?

Ако сте активни корисник Цхроме-а, несумњиво користите неколико екстензија. Екстензије су мали софтверски програми који прилагођавају искуство прегледања користећи

АПИ-ји које прегледач пружа, омогућавајући корисницима да прилагоде функционалност и понашање према њиховим индивидуалним потребама и преференцијама. Ова проширења се углавном дистрибуирају преко Цхроме веб продавница, који је дом за више од 180.000 екстензија.

Од крајем прошле године, Гоогле је радио на „Манифесту В3“, скупу предложених измена на платформи Цхроме екстензија које се могу класификовати као „преломне промене“. Као што је документ јавне расправе за Манифест В3 наводи, верзија манифеста екстензије је механизам за ограничавање одређених могућности на одређену класу екстензија. Ова ограничења могу бити у облику минималне или максималне верзије. Ограничавање на минималну верзију омогућава да новији АПИ-ји или могућности буду доступни само новијим екстензијама док ограничавање на максималну верзију манифеста омогућава да старији АПИ-ји или могућности буду постепено застарела.

Једноставније речено, нова верзија манифеста омогућава Цхроме-у да ограничи АПИ-је и функције на ову нову верзију манифеста, у како би натерали програмере екстензија да мигрирају са одређених старијих АПИ-ја због њиховог негативног утицаја на корисника искуство. Имплементација проширења у Манифест В3 би теоретски требало да обезбеди јаче гаранције из перспективе безбедности, приватности и перформанси.

Иако постоји широк спектар промена наведених у Манифесту В3, најконтроверзнија промена се односи на Гоогле-ову одлуку да ограничи могућности блокирања присутне у постојећим цхроме.вебРекуест АПИ (и фокусирајте АПИ на посматрање уместо на блокирање), а затим представите ове способности блокирања кроз нови цхроме.децларативеНетРекуест АПИ. Ова посебна промена има распалио заједницу пошто на крају циља на механизам за блокирање огласа познатог проширења за блокирање огласа, уБлоцк Оригин, и директно утиче на својих 10 милиона+ корисника.

Пре него што се позабавимо овим питањем, хајде да погледамо како вебРекуест АПИ у поређењу са децларативеНетРекуест АПИ.

АПИ за веб захтеве и АПИ декларативних мрежних захтева

Садашњост

Званични опис веб захтева описује АПИ на следећи начин:

Use the chrome.webRequest API to observe and analyze traffic and to intercept, block, or modify requests in-flight.

Са веб захтевом, Цхроме шаље све податке у мрежном захтеву екстензији која их слуша. Екстензија тада има прилику да процени захтев и упути Цхроме шта да ради са захтевом: дозволи, блокира или пошаље уз неке измене.

Пратите редослед догађаја да бисте разумели шта се дешава када екстензије користе АПИ за веб захтеве. Када корисник са инсталираном екстензијом за веб захтев кликне на везу, Цхроме обавештава екстензију да је захтев за подацима направљен пре него што захтев стигне до сервера. Екстензија може изабрати да измени захтев у овој фази. Сервер тада одговара, али одговор још једном пролази кроз екстензију, а проширење може да диктира да ли одговор треба да се измени. Цхроме тада коначно приказује страницу и корисник може да види резултат свог клика.

Док Цхроме предаје сви подаци у мрежном захтеву, екстензије које користе АПИ за веб захтеве имају приступ да читају и мењају све што корисник ради на вебу. Дакле, док блокатори садржаја као што је уБлоцк Оригин мудро користе потенцијал овог АПИ-ја, Гоогле тврди да друге екстензије са злонамерним намерама су злоупотребиле исте да би добиле приступ личним корисницима информације. Према Гуглу, 42% злонамерних екстензија користило је АПИ за веб захтеве од јануара 2018. Гоогле такође тврди да постоје „значајни трошкови перформанси“ који су повезани са АПИ-јем као верзијом за блокирање од тога захтева упоран и често дуготрајан процес који је суштински некомпатибилан са 'лењим' процеси.

Са Манифест В3, Гоогле предлаже да се овај АПИ ограничи у његовом облику за блокирање. Као алтернативу, Гоогле обезбеђује АПИ за декларативни мрежни захтев.

Будућност

Званични опис декларативног Нет Рекуест-а описује АПИ на следећи начин:

The chrome.declarativeNetRequest API is used to block or modify network requests by specifying declarative rules.

Са декларативним мрежним захтевом, Цхроме не мора да шаље све информације о захтеву екстензији за слушање. Уместо тога, проширење региструје правила у Цхроме-у која унапред говоре прегледачу шта да ради ако се виде одређени типови захтева.

Проширење унапред специфицира своја правила. Захтев корисника се затим упоређује са овим правилом од стране претраживача (а не екстензије), а радњу такође предузима претраживач, а страница се накнадно приказује. Гугл напомиње да им то омогућава да обезбеде ефикасност јер могу да врше контролу над алгоритмом који одређује резултат и могу да спрече или онемогуће неефикасна правила. Такође представља боље гаранције приватности крајњем кориснику јер детаљи мрежног захтева нису изложени проширењу. Пошто упорни и дуготрајни процеси више нису потребни (пошто су правила претходно регистрована), Гоогле тврди да овај приступ такође доноси побољшања перформанси која ће проширења учинити знатно одрживијима на ограниченим ресурсима платформе.

Декларативни Нет Рекуест ће бити доступан и за Манифест В2 (тренутни) и Манифест В3, али ће то бити примарни начин на који ће Гоогле дозволити да се мрежни захтеви мењају у Манифесту В3.

Контроверза

Чини се да Гуглове промене имају смисла док не чујете другу страну приче, углавном ону о блокаторима огласа. Ова конкретна миграција АПИ-ја се посматра као Гоогле-ов начин да убије блокаторе огласа јер суштински мења начин на који један од најпопуларнијих блокатора огласа функционише. Ово се повезује са „теоријом“ да је Гугл мотивисан ка овој промени више из пословне перспективе него из перспективе безбедности корисника. На крају крајева, Гоогле се у великој мери ослања на оглашавање за свој приход, а блокатори огласа се доживљавају као директна претња за Гоогле-ове клијенте на овом фронту, као што је откривено кроз Подношење обрасца 10-К Алпхабет-а 2018 СЕЦ (преко Тхе Регистер):

Нове и постојеће технологије могу утицати на нашу способност прилагођавања огласа и/или могу блокирати огласе на мрежи, што би штетило нашем пословању.

Технологије су развијене да отежају прилагодљиве огласе или да блокирају приказивање огласа у потпуности, а неки провајдери онлајн сервиса имају интегрисане технологије које би потенцијално могле да наруше основну функционалност дигиталних независних произвођача оглашавање. Већина наших Гоогле прихода потиче од накнада које нам се плаћају у вези са приказивањем огласа на мрежи. Као резултат тога, такве технологије и алати могу негативно утицати на наше оперативне резултате.

Гугл је морао објавити изјаву да се позабави овим, понављајући свој став да је промена у интересу приватности корисника, а не директан напад на блокаторе огласа:

Не спречавамо развој блокатора огласа нити спречавамо кориснике да блокирају огласе. Уместо тога, желимо да помогнемо програмерима, укључујући блокаторе садржаја, да напишу екстензије на начин који штити приватност корисника.

Треба се осврнути на два најпопуларнија блокада огласа доступна у Гоогле Цхроме-у: уБлоцк Оригин и Адблоцк Плус, од којих оба имају различите приступе да би постигли исти резултат блокирања садржаја. уБлоцк Оригин се у великој мери ослања на АПИ за веб захтеве, а заједница је годинама давала предност овом проширењу. Адблоцк Плус и друга проширења за блокирање садржаја такође се ослањају на блокирајући део Веб Рекуест-а, тако да ће промене овог АПИ-ја на крају утицати на већину блокатора садржаја барем у неком капацитету.

Гугл-ов притисак да застари Веб Рекуест ће у суштини убити уБлоцк Оригин у његовом тренутном формату, нешто што ће заиста утицати на многе кориснике. Док ће корисници који немају лојалност (и немају намеру да се муче око тога како се постиже блокирање огласа) пронаћи алтернативна решења која имају своје недостатке, то ће постати немогуће за лојалисте и ентузијасте да осмисле нове дизајне механизама за филтрирање како би заобишли различите технике које ће веб локације на крају смислити за борбу против блокатора огласа на овом специфичном АПИ-ју.

Декларативни Нет Рекуест је такође предложен да буде прилично ограничен механизам за филтрирање, какав је био првобитно планирано да има ограничење од 30.000 правила за правила статичког филтера по екстензијама (правила која се декларишу током инсталације); и ограничење од 5.000 правила за правила динамичког филтера по проширењу (правила која се могу додати након инсталације). Сва вишка правила ће бити занемарена, што представља мали проблем јер сама ЕасиЛист за Адблоцк Плус има 70.000 правила, док се уБлоцк Оригин може конфигурисати да ради са преко 100.000 правила. Након почетне реакције заједнице, Гоогле је одговорио обећавајући да ће променити ограничење статичког правила са 30.000 правила по проширењу на глобални максимум од 150.000 правила. Ово онда има нежељени ефекат спречавања корисника да користе друге скрипте са тешким правилима у комбинацији са блокатором огласа, тако да ће корисници морати да жонглирају са својим преференцама.

Осим ограниченог ограничења филтрирања, декларативни мрежни захтев може само да преусмери на статичке УРЛ адресе, тако да није укључена подршка за подударање шаблона. уБлоцк Оригин се у великој мери ослања на подударање шаблона и програмера екстензија навео да није могуће накнадно уградити алгоритам за подударање његовог проширења да испуни захтеве АПИ-ја. АПИ би такође захтевао комплетно ажурирање проширења да би се једноставно ажурирала листа филтера, што би била пречеста активност с обзиром на учесталост са којом се ове листе филтера ажурирају. Наравно, ова ажурирања би такође зависила од Гоогле критеријума и процеса прегледа проширења.

С друге стране, Гоогле је увек задржао став да је његова намера да се удаљи од веб захтева од а безбедносне перспективе, пошто је АПИ за веб захтеве превише моћан у свом тренутном облику и оставља веома широк простор за злоупотреба. Ова злоупотреба није само теоретска, јер је Гоогле поменуо да је 42% злонамерних екстензија злоупотребило овај АПИ. Аппле Сафари АПИ за блокирање садржаја је дизајниран као Декларативни Нет Рекуест из сличних разлога, јер има мање простора за лажног програмера да искористи. На нерфованом веб захтеву, мрежни захтеви би и даље били видљиви, али би им биле потребне дозволе на релевантним хостовима. Са Манифест В3, дозволе за хост се такође значајно мењају и више се не могу доделити на свеобухватан начин у време инсталације.

Гугл је такође користио режијске трошкове као мотивацију за прелазак. Процена мрежних захтева се дешава у ЈаваСцрипт нити екстензије, што може бити скупо за перформансе. Као побијање, програмер уБлоцк Оригин-а помиње то његово проширење не носи никакву значајну казну учинка чак и када имате чак 140.000 статичких филтера за примену. Тврди се да се настали трошкови лако могу надокнадити ресурсима који су онемогућени да се преузму са удаљених сервера и стога их прегледач не обрађује.

Иако Гоогле не користи ово резоновање, један аргумент против веб захтева такође се може дати за ефикасност блокирања огласа. Са веб захтевом, ако проширење не реагује на време (због кашњења или пада), захтев за руковање мрежом је очигледно дозвољен, што омогућава да огласи прођу кроз блокатор огласа. Декларативни нето захтев, с друге стране, не би патио од овог недостатка. Уместо тога, огласи ће проћи ако не буду ухваћени у оквиру статичких правила, а то ће се дешавати чешће него не.

Закључак

Из горе наведених објашњења, јасно је да декларативни мрежни захтев није клон функционалности 1:1 за блокирање могућности Веб Рекуест АПИ-ја, а програмери екстензија ће сигурно бити узнемирени када ће њихов напоран рад бити хендикепиран такве промене. Али Гуглово резоновање такође има тежину – веб захтев је превише моћан, а његове моћи морају да буду ограничено у већем интересу корисничке заједнице (коју чине просечни корисници заједно са ентузијасти).

Прелазак ка Декларативном Нет Рекуест-у је такође могао бити позитиван ПР потез – на крају крајева, Гоогле додаје уграђени АПИ за блокирање садржаја у Цхроме! Али пошто нови АПИ долази са сопственим тешким ограничењима, заједница с правом види ово као подсецање својих крила. У идеалном свету, Гоогле је требало да истражи рад блокатора огласа као што је уБлоцк Оригин пре него што је покренуо нови АПИ. Како сада стоји, нови АПИ би могао да користи даље релаксације својих ограничења правила да би се прилагодио сценаријима у којима би корисници желели да користе два проширења са великим бројем филтера.

Према Тхе Регистер, прве верзије са променама Манифест В3 биће доступне од јула 2019. надаље. Надамо се да ће Гоогле прихватити повратне информације добијене од заједнице програмера проширења са овим верзијама.


Посебно хвала главном уреднику КСДА Мисхаалу Рахману на његовим доприносима и помоћи!

Уредити: Чланак је погрешно изједначио рад Адблоцк Плус-а са декларативним Нет Рекуест АПИ-јем. Члан је сходно томе измењен. Адблоцк Плус ће такође бити погођен уклањањем могућности блокирања Веб Рекуест АПИ-ја.