Mozilla resolve o quebra-cabeças do Manifest V3 para salvar os bloqueadores de anúncios
A Mozilla cumpriu sua promessa de implementar a nova plataforma de extensão do Google, Manifest V3, de uma forma que não compromete a funcionalidade dos bloqueadores de anúncios. A nova versão do Firefox, que começou a ser lançada no mês passado, garantirá que os usuários ainda tenham acesso a ferramentas populares de preservação da privacidade, principalmente extensões de bloqueio de conteúdo.
Por um lado, ao implementar o Manifesto V3 em seus próprios termos, a Mozilla evita que os desenvolvedores que estão mudando para a nova plataforma tenham que garantir a compatibilidade com duas versões diferentes de suas extensões (para Google Chrome e Firefox) ao mesmo tempo. Por outro, permite que extensões de bloqueio de conteúdo que foram originalmente construídas usando o Manifesto V2, menos restritivo, continuem funcionando em toda a sua extensão.
Antes de continuarmos, vamos relembrar o que é o Manifesto V3, e por que ele tem atraído tantas críticas dos defensores da privacidade e desenvolvedores de extensões de bloqueio de conteúdo, incluindo o AdGuard.
O Manifest problemático
O Manifest V3 é a nova extensão API do Chrome, anunciada pela primeira vez em 2018. Ela está agora sendo implementada em todos os navegadores baseados no Chrome, incluindo, é claro, o próprio Google Chrome.
A API introduz mudanças significativas nas regras que as extensões têm que seguir, tais como a quais características do navegador uma extensão tem acesso e pode modificar. Antes, por exemplo, o navegador perguntava a uma extensão de bloqueio de conteúdo o que fazer com uma determinada solicitação da web, e a extensão respondia bloqueando-a ou redirecionando-a. A nova API mais restrita dá o direito de modificar solicitações somente ao próprio navegador, enquanto a extensão simplesmente anuncia ou "declara" um conjunto de regras pelas quais o navegador deve responder. O Google afirma que isto impedirá que extensões, incluindo bloqueadores de anúncios, acessem "dados de usuários potencialmente sensíveis," e os torne "mais seguros para todos" A desvantagem é que essa mudança também fará com que os bloqueadores de anúncios percam parte de sua funcionalidade.
Regras nunca são demais
O problema com o Manifest V3 é que ele limita o número de regras incorporadas e adicionadas pelo usuário para extensões instaladas por um usuário individual. Isso quer dizer que o Chrome estabeleceu um limite mínimo garantido de 30.000 regras embutidas ("estáticas") por extensão e um limite total de 330.000 regras estáticas. Quanto às regras incorporadas pelo usuário ("dinâmicas"), elas são limitadas a apenas 5.000. Uma vez que a parte mais essencial de qualquer extensão de bloqueio são as regras de filtragem que "ensinam" a detectar anúncios, tais restrições podem se tornar um verdadeiro obstáculo.
O número fornecido pelo Google é suficiente se você tiver apenas uma extensão que dependa da API NetRequest declarativa no Manifest V3 para bloquear anúncios. Entretanto, se você usar mais de uma extensão, isto pode se tornar um problema: as extensões competirão pelas regras restantes, e algumas não serão capazes de trabalhar com seu potencial máximo.
Outro problema é que o Google quer que os desenvolvedores tenham todas as regras já incorporadas na extensão no momento da instalação. Essencialmente, os desenvolvedores terão que definir antecipadamente o que sua extensão fará com pedidos específicos, e não ad-lib como costumava ser antes. Isto significa que os bloqueadores de anúncios serão mais lentos para responder às mudanças no site, pois os desenvolvedores terão que carregar uma nova versão da extensão cada vez que algo mudar, além de esperar até que ela passe por uma revisão, o que não é um processo rápido por si só.
No entanto, ainda há um lampejo de esperança de que a situação melhore. Propusemos um aumento do número de regras dinâmicas e conjuntos de regras e estamos defendendo estas mudanças no Manifest V3 nas discussões em andamento entre os navegadores e a comunidade de bloqueio de conteúdo. Esperamos que nossos argumentos sejam levados em conta.
Finalmente, sendo o Chrome uma força dominante no mercado de navegadores, uma vez que o Google decarte o Manifest V2, os desenvolvedores de extensão terão que se adaptar ao Manifest V3 ou perder usuários. E gostaríamos de ver essa transição correr da maneira mais suave possível.
Considerações sobre o Chrome
O Google alega que as mudanças na API tornarão as extensões "mais seguras, mais performantes e mais privadas por padrão". No entanto, preocupações persistentes sobre seu impacto no bloqueio de umd impedem alguns especialistas de abraçar a nova plataforma. Nós também temos alertado repetidamente sobre o impacto negativo do Manifest V3 sobre os desenvolvedores e usuários do Chrome.
No entanto, para seu crédito, o Google tem procurado atender a estas preocupações. Sendo um dos fundadores do The World Wide Web Consortium (W3C) WebExtensions Community Group (no mesmo nível da Apple, Mozilla e Microsoft), o Chrome solicitou feedback sobre o Manifest V3 dos desenvolvedores de extensões e recebeu críticas bem-vindas.
Ainda assim, a resposta do Google tem sido muito lenta e, até agora, não tem conseguido amenizar as preocupações dos desenvolvedores. Reconhecendo estas demandas, a Mozilla anunciou no ano passado que o Firefox continuaria a suportar a API do webRequest para bloquear categorias inteiras de solicitações HTTP em sua implementação do Manifest V3, mas também suportaria uma versão compatível da API declarativa daNetRequest, proposta pelo Google como um substituto para o webRequest.
Em comparação com os usuários do Firefox, que continuarão a se beneficiar da funcionalidade completa das extensões de bloqueio de anúncios, os 3 bilhões de usuários do Chrome podem logo se encontrar em desvantagem quando se trata de bloqueio de anúncios. A longo prazo, isto pode se tornar um catalisador para que alguns usuários de Chrome migrem o Firefox.
Um fim que nunca chega
Em novembro, a Mozilla anunciou que continuaria a ser compatível com as extensões do Manifest V2 "no futuro próximo" e prometeu estabelecer um prazo para desativar o antigo Manifest "até o final de 2023".
Quanto ao Google Chrome, suas promessas de desligar de vez o Manifest V2 foram adiadas tantas vezes que é difícil acompanhar. Em janeiro de 2022, o Google deixou de aceitar novas extensões baseadas no Manifest V2 para a Loja Web Chrome. Em junho de 2023, o gigante tecnológico deveria estar experimentando desligar o suporte para as extensões do Manifest V2 no Chrome. Entretanto, em dezembro todos os prazos foram revisados e adiados indefinidamente.
Dito isto, a ameaça de um eventual desaparecimento do Manifest V2 é real. Tendo em vista os adiamentos, o Manifest V2 pode até parar de funcionar, mas o Google pode retomá-lo a qualquer momento, por isso achamos importante ter uma solução pronta se e quando isso acontecer.
O bloqueio de anúncios na era do Manifest V3
Acreditando que as chances de uma reviravolta repentina no Google eram pequenas, a AdGuard começou a trabalhar em um protótipo de uma nova extensão compatível com o Manifest V3 já em meados de 2021. Em agosto do ano passado, lançamos uma extensão experimental de bloqueio de anúncios que atendia a todos os requisitos do Manifest V3, tornando-se o primeiro bloqueador de anúncios a fazer isso. Por ser baseado no Manifest V3, com todas as suas infelizes limitações, esta nova extensão pode não ser tão eficaz quanto a antiga, experimentada e testada. A extensão, entretanto, ainda bloqueará proativamente pedidos de rastreadores e esconderá widgets, banners e anúncios em vídeo. Em outras palavras, ela fará tudo o que você esperaria que uma extensão de bloqueio de anúncios fizesse.
Podemos ter sido os primeiros, mas outros bloqueadores de anúncios logo seguiram o exemplo, provando que o bloqueio de anúncios e o Manifest V3 podem não ser uma combinação perfeita, mas nem sua chegada é uma sentença de morte.
Um mês depois, o autor do popular bloqueador de anúncios uBlock Origin publicou uma extensão experimental uBO Minus, compatível com o Manifest V3. O AdBlock Plus também tem trabalhado em uma versão da extensão que funciona no Manifest V3.
Google decepciona, Mozilla salva o dia
O Google alega que o único objetivo de substituir o antigo Manifest por uma nova plataforma de extensão que limita o bloqueio de anúncios é proporcionar maior segurança e privacidade para os usuários. Talvez isso seja verdade, e o Google quer melhorar a plataforma de extensão para torná-la mais segura e privada.
Infelizmente, o Google tomou muitas decisões sobre o projeto de sua nova plataforma sem levar em conta os desejos e preocupações dos desenvolvedores de extensões e, é claro, de seus próprios usuários. Como resultado, as extensões de bloqueio de anúncios perderão algumas de suas funcionalidades.
Por sua vez, a Mozilla adotou uma abordagem mais ponderada e menos conflituosa em relação ao bloqueio de anúncios. O proprietário do Firefox demonstrou que não é impossível implementar o Manifest V3 de uma forma que não limite a funcionalidade dos bloqueadores de anúncios e, ao mesmo tempo, aumente a segurança dos usuários.