Един от разработчиците на JavaScript платформата Deno, който ръководи каталога за пакети JSR.io, обърна внимание на дискриминацията в браузърния двигател Chromium, свързана с предоставянето на допълнителна функционалност на услугите на Google, недостъпна за останалите сайтове без инсталиране на отделен плъгин. Става въпрос за вградения плъгин hangout_services, който е активен по подразбиране и не се показва в списъците с активни плъгини в браузера.
Плъгинът предоставя функции за получаване на информация за натоварването на CPU и GPU в контекста на отделни табове и цялата система, както и за употребата на памет в системата. Предоставеният от плъгина API е отворен за заявки само от поддомейни на „google.com“. Плъгинът е предварително инсталиран в Chrome, различни сборки на Chromium, Microsoft Edge, Brave и вероятно в други браузъри на базата на двигателя Chromium.
Доставката на подобен вграден плъгин е възприета като недобросъвестна конкуренция и нарушение на принципа за предоставяне на единен API за всички сайтове, тъй като благодарение на плъгина услугите на Google получават конкурентно предимство заради достъпа до информация за работата на системата, недостъпна за услугите на други компании. Например, услугата Google Meet може да адаптира работата си в зависимост от натоварването на системата на потребителя, докато за Zoom и други услуги е необходимо инсталирането на външен плъгин с потвърждение на предоставените права (за услугите на Google подобна функционалност е налична от кутията).
Предоставените от плъгина данни се показват в услугата meet.google.com в панела „Troubleshooting“. За проверка на наличието на плъгина hangout_services можем да извършим търсене на идентификатора „nkeimhogjdpnpccoofpliimaahmaaome“ в файла resources.pak, включен в доставката на Chrome, а за проверка на активността трябва да се отвори в браузера всеки сайт, на който се отнася домейн google.com, и да се изпрати заявка до плъгина от конзолата в инструментите за уеб разработчици: chrome.runtime.sendMessage(‘nkeimhogjdpnpccoofpliimaahmaaome’, {method: ‘cpu.getInfo’}, response => {console.log(JSON.stringify(response, null, 2));});
$ strings /opt/google/chrome/resources.pak| grep -A 10 «nkeimhogjdpnpccoofpliimaahmaaome» // Extension ID: nkeimhogjdpnpccoofpliimaahmaaome «key»: «….», «name»: «Google Hangouts», // Note: Always update the version number when this file is updated. Chrome // triggers extension preferences update on the version increase. «version»: «1.3.21», «manifest_version»: 2, «externally_connectable»: { «matches»: [ «https://*.google.com/*» ]
Източник: opennet.ru
