Em parte, a definição de um navegador anti-detecção é dada pelo próprio nome. Cada navegador normal (por exemplo, o Chrome ou o Firefox) tem a sua própria identidade online. Chamamos a isto de impressão digital. A forma como o seu navegador é identificado é muito complexa. Tem a ver com coisas como:
- O seu endereço IP
- O User Agent que está a enviar com os seus pedidos
- As propriedades dos vossos navegadores
Diria que o último é o mais importante. Isto porque qualquer pessoa na Internet pode criar um script relativamente simples para obter determinadas propriedades de um navegador. E o mais importante é que, na maioria das vezes, a combinação destes valores gera uma configuração de sistema única. Na prática, é possível gerar um hash dos valores combinados e transformados em cadeia de caracteres destas propriedades e criar uma impressão digital. Veja-se, por exemplo, o FingerprintJS ou o CreepJS.
Além disso, a deteção não se limita ao âmbito da janela. Eu próprio criei esta ferramenta que consegue detetar evasões, como as implementadas com o `puppeteer-extra-plugin-stealth`, comparando valores recolhidos da janela e dos workers. Mas essa é uma discussão mais complexa. Por agora, parece que a melhor forma de passar despercebido online é usar um navegador anti-detecção.
E voltamos ao tema. Os navegadores anti-detecção são aplicações baseadas em navegadores conhecidos que foram modificados para aceitar valores personalizados para as propriedades que discutimos anteriormente. Como projetos como o Chromium ou o Mozilla são de código aberto, qualquer pessoa pode fazer um fork e criar a sua própria versão de um navegador. E é exatamente isso que acontece também com os navegadores anti-detecção.
Você também pode clonar o Chromium, por exemplo, e ajustá-lo para fornecer valores aleatórios para várias propriedades do navegador. Mas, na prática, isso requer muito conhecimento e recursos. É por isso que existem alguns fornecedores conhecidos e falaremos sobre eles daqui a pouco. Mas primeiro: