Um proxy de bloqueio de anĂșncios
Hoje em dia Uma das principais preocupaçÔes dos usuĂĄrios da rede Ă© a questĂŁo relacionada Ă privacidade de suas informaçÔes e diante disso existe um grande nĂșmero de soluçÔes que vĂŁo desde aquelas implementadas pelos prĂłprios navegadores da web, atĂ© opçÔes como o uso de aplicativos de terceiros, entre outras coisas.
Dia hoje vamos falar sobre Privaxy que Ă© um proxy de bloqueio de anĂșncios e um cĂłdigo de rastreamento entre sites.
O Privaxy atualizou recentemente para sua versĂŁo 0.5 e posso mencionar que Ă© um proxy MITM HTTP(s) que fica entre os aplicativos de bate-papo HTTP(s), como um navegador da Web e servidores HTTP, como sites de serviço. Ao estabelecer um tĂșnel bidirecional entre os dois terminais, o Privaxy pode bloquear solicitaçÔes de rede com base em padrĂ”es de URL e injetar scripts e estilos em documentos HTML.
Operando em um nĂvel inferior, o Privaxy Ă© mais eficiente e mais otimizado do que os bloqueadores baseados em plug-ins de navegador. Uma Ășnica instĂąncia do Privaxy em uma pequena mĂĄquina virtual, servidor ou atĂ© mesmo no mesmo computador de origem do trĂĄfego pode filtrar milhares de solicitaçÔes por segundo e requer uma quantidade muito pequena de memĂłria.
A implementação do bloqueador estå na forma de um servidor proxy separado que permite que ele seja usado como uma solução universal que permite ao usuårio filtrar solicitaçÔes não apenas de navegadores da web. O proxy também é independente das restriçÔes do navegador, como as impostas pela terceira versão do manifesto do Chrome, e oferece melhor desempenho e requisitos de recursos mais baixos.
Por exemplo, ao carregar 320 mil filtros, o consumo de memĂłria Ă© de 50 MB e Ă© possĂvel filtrar milhares de requisiçÔes por segundo.

A maneira como o Privaxy funciona Ă© implementar um filtro intermediĂĄrio entre o usuĂĄrio e os sites, usando falsificação de certificado TLS para interceptar o conteĂșdo de sessĂ”es HTTPS criptografadas e ocultar o aviso MITM.
O Privaxy gera seu prĂłprio certificado, que o usuĂĄrio instala no armazenamento de certificados do seu sistema (/usr/local/share/ca-certificates/) e prescreve que os aplicativos funcionem por meio do proxy localhost:8100. Duas opçÔes de compilação sĂŁo fornecidas: um utilitĂĄrio de console e uma interface grĂĄfica que permite gerenciar configuraçÔes, rastrear visualmente a atividade atual e visualizar estatĂsticas de travamento.
Quando uma solicitação HTTPS Ă© recebida de um usuĂĄrio, o Privaxy estabelece uma conexĂŁo TLS com o servidor de destino em seu prĂłprio nome e obtĂ©m seu certificado, apĂłs o qual ele usa o nome do host do certificado real recebido do servidor e cria um certificado fictĂcio vinculado por uma cadeia de confiança ao certificado raiz gerado para o usuĂĄrio.
Usando um certificado fictĂcio, o proxy personifica o servidor solicitado ao se comunicar com o cliente, continuando a usar a conexĂŁo TLS estabelecida com o servidor de destino para receber dados. Para hosts e domĂnios selecionados, Ă© possĂvel desabilitar o encaminhamento usando a tĂ©cnica MITM.
AlĂ©m de remover anĂșncios baseados em mĂĄscaras de URL, o Privaxy tambĂ©m oferece a capacidade de inserir cĂłdigo JavaScript e estilos CSS em documentos HTML renderizados.
Filtros compatĂveis com Adblock Plus, como Easylist, sĂŁo suportados. A substituição de conteĂșdo suporta a sintaxe do uBlock Origin para scripts, controladores e redirecionamentos, bem como sua prĂłpria sintaxe para definir filtros personalizados arbitrĂĄrios. Listas externas conectadas com filtros sĂŁo atualizadas automaticamente.
Das caracterĂsticas que se destacam do Privaxy:
- Suporte para filtros Adblock Plus, como easylist
- Web GUI com uma tela de estatĂsticas, bem como um navegador de solicitação ao vivo.
- Suporte para sintaxe de fonte uBlock js.
- Suporte para sintaxe de fonte de redirecionamento uBlock.
- Suporte para scriptlets de origem uBlock.
- Independente do navegador e do cliente HTTP.
- Suporte para filtros personalizados.
- Suporte para excluir hosts do pipeline MITM.
- Suporte para atualizaçÔes de protocolo, como com websockets.
- AtualizaçÔes automåticas da lista de filtros.
- Consumo de recursos muito baixo.
- Cerca de 50 MB de memĂłria com cerca de 320 filtros habilitados.
- Capaz de filtrar milhares de solicitaçÔes por segundo em uma pequena måquina.
Por fim, se vocĂȘ estiver interessado em saber mais sobre o assunto, consulte os detalhes em o seguinte link.
O cĂłdigo do projeto Ă© escrito em Rust e Ă© distribuĂdo sob a licença AGPLv3, e as compilaçÔes prontas sĂŁo fornecidas para Linux (AppImage, deb), Windows e macOS.