Camoufox Proxy e GeoIP: Seu IP de Saída é a Impressão Digital

Ative o geoip e o Camoufox deriva seu fuso horário, localidade, coordenadas e endereço WebRTC falsificado a partir do IP de saída do proxy. Isso torna um proxy mal rotulado mais evidente do que nenhum proxy.

A maioria dos tutoriais de proxy Camoufox param nas duas linhas que definem proxy e geoip=True. A consequência é o que ninguém escreve: com geoip ativado, o Camoufox deriva seu fuso horário, localidade, latitude, longitude e o endereço WebRTC falsificado a partir do IP de saída do proxy. O proxy deixa de ser um salto de rede e se torna a fonte de verdade para toda a identidade. Alimente-o com uma saída mal rotulada ou reciclada e o Camoufox constrói uma impressão digital perfeitamente coerente em torno de uma mentira — um sinal mais forte do que nenhuma falsificação. Aqui está a configuração, os erros que as pessoas colam no Google, a lacuna do SOCKS5 e como verificar uma saída primeiro.

O que o geoip realmente deriva do seu proxy

Camoufox é uma versão do Firefox anti-detecção que envolve a API Python do Playwright, então a configuração do proxy tem o formato do Playwright. A camada geo é o que a diferencia. De acordo com a documentação do projeto, geoip=True (ou um endereço IP de destino) faz com que o Camoufox use a longitude, latitude, fuso horário, país e localidade do IP de destino, e falsifique o endereço IP do WebRTC — indo além, calculando o idioma do navegador a partir da distribuição de falantes de idiomas naquela região em vez de padronizar para o idioma oficial do país. As consultas são executadas contra um banco de dados no formato MaxMind que é enviado como um extra opcional:

pip install -U "camoufox[geoip]"
python -m camoufox fetch

O extra [geoip] é opcional apenas no sentido de embalagem — a documentação o recomenda fortemente se você estiver usando proxies, e isso é subestimado. Sem ele, você obtém um navegador furtivo rodando no fuso horário e localidade da sua máquina host enquanto seu IP afirma estar em outro país. Aqui está a configuração mínima funcional com um gateway HTTP autenticado:

from camoufox.sync_api import Camoufox

with Camoufox(
    geoip=True,
    humanize=True,          # cursor movement, not a fingerprint setting
    headless=False,
    proxy={
        "server": "http://gate.quantumproxies.io:PORT",
        "username": "USER",
        "password": "PASS",
    },
) as browser:
    page = browser.new_page()
    page.goto("https://httpbin.org/ip")
    print(page.text_content("body"))   # should be the exit IP, not yours

Observe o formato do dicionário proxy: as credenciais vão em campos separados username e password, nunca dentro da URL do server. Isso é herdado do Playwright e é a razão pela qual proxies autenticados são indolores aqui — sem extensão intermediária, sem diálogo de autenticação para dispensar. A API assíncrona é idêntica via AsyncCamoufox. Para saber como isso se compara com outras pilhas furtivas, veja nosso mapa de suporte a proxies autenticados em frameworks anti-detecção.

Por que o proxy errado te desmascara

Sistemas anti-bot raramente procuram um único valor ruim. Eles procuram por contradições — dois sinais que não podem ser verdadeiros para o mesmo humano. Um navegador relatando Europe/Rome de um IP que se geolocaliza em Ohio é um exemplo. O recurso geoip do Camoufox existe para eliminar essa classe de contradição, e faz o trabalho bem. O problema é que ele sempre resolve a contradição a favor do IP. Se o banco de dados diz que sua saída está na Alemanha, mas o endereço é uma faixa de datacenter reciclada que metade da internet já sinaliza como proxy, o Camoufox vestirá seu navegador como um usuário doméstico alemão sentado em um ASN que nenhum usuário doméstico alemão jamais usou.

Isso torna a qualidade da saída um problema de impressão digital, não apenas de bloqueio. Dois verificações pertencem a cada execução: o ASN real e o país da saída, e se o IP já carrega uma pontuação de fraude ou proxy. Nosso verificador de qualidade de IP gratuito responde a ambos, e proxies residenciais em faixas de ISP reais em mais de 200 países são o que torna a identidade derivada plausível. Nada disso o isenta da camada abaixo — o mecanismo ainda emite um handshake TLS, e a impressão digital JA3/JA4 a lê antes que seus valores falsificados sejam enviados.

Diagrama de fluxo mostrando um IP de saída residencial alimentando a consulta geoip do Camoufox, que deriva fuso horário, localidade, coordenadas e endereço WebRTC antes que a impressão digital seja injetada
Com geoip ativado, cinco sinais de identidade são calculados a partir de uma entrada: o IP de saída. Escolha essa entrada mal e toda a cadeia estará coerentemente errada.

Os erros de proxy do Camoufox que você realmente encontrará

Três falhas dominam o rastreador de problemas, e nenhuma delas significa que suas credenciais estão erradas:

A solução limpa para o primeiro e terceiro caso está documentada, mas subutilizada: geoip aceita um endereço IP, não apenas True. Resolva a saída você mesmo através do mesmo proxy, depois entregue a resposta ao Camoufox. Você pula a consulta interna completamente, e como bônus você pode registrar qual saída cada sessão usou:

import requests
from camoufox.sync_api import Camoufox

HOST = "gate.quantumproxies.io:PORT"
USER, PASS = "USER-session-a1b2", "PASS"     # sticky session id in the username

PROXY = {"server": f"http://{HOST}", "username": USER, "password": PASS}
url = f"http://{USER}:{PASS}@{HOST}"          # percent-encode odd characters

# 1) resolve the exit through the same gateway and session
exit_ip = requests.get(
    "https://api.ipify.org", proxies={"http": url, "https": url}, timeout=15
).text.strip()

# 2) hand Camoufox the address instead of letting it discover one
with Camoufox(geoip=exit_ip, proxy=PROXY, humanize=True) as browser:
    page = browser.new_page()
    page.goto("https://browserscan.net")
    print("session exit:", exit_ip)

Dois detalhes importam. Use uma sessão fixa para que o IP resolvido na etapa um ainda seja a saída na etapa dois — sob rotação por solicitação, esses são endereços diferentes e o geo derivado está errado desde o primeiro carregamento de página. E codifique em percentagem credenciais contendo @, : ou #: a forma de dicionário é imune, a forma de URL não é.

Camoufox e SOCKS5: a lacuna do WebRTC e autenticação

SOCKS5 é onde os usuários do Camoufox ficam presos, e a razão é mais interessante do que uma funcionalidade ausente. O problema #368 o enquadra exatamente certo: sem um proxy que suporte UDP, o WebRTC pode expor você. O WebRTC negocia sobre UDP, proxies HTTP são apenas TCP, e SOCKS5 é o único protocolo comum com um modo de associação UDP — razão pela qual as pessoas o querem aqui especificamente. A resposta do Camoufox é falsificar o endereço WebRTC a partir dos dados geoip em vez de rotear o caminho de mídia, e isso cobre o vazamento comum. A opção block_webrtc remove a superfície completamente, ao custo de parecer um navegador com WebRTC desativado.

SOCKS5 autenticado é a lacuna mais difícil. A discussão #334 é um usuário pedindo o truque e relatando que a única coisa que funcionou foi executar um servidor proxy local para encaminhar o tráfego do navegador para um endpoint SOCKS5 com login e senha. Esse ainda é o estado das coisas, e deixa você com três opções, em ordem de preferência:

Obtenha endpoints SOCKS5 com lista de permissões de IP

Lista de verificação comparando uma identidade coerente do Camoufox construída em uma saída residencial verificada contra sinais contraditórios de um proxy mal rotulado
O modo de falha não é um valor ausente. É um valor confiante que discorda do IP por trás dele.

Uma lista de verificação pré-voo antes de confiar no geoip

Perguntas frequentes

Como configuro um proxy no Camoufox?

Passe um dicionário no estilo Playwright para o construtor Camoufox(): proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. As credenciais pertencem aos campos separados, não na URL do servidor. Adicione geoip=True junto para que fuso horário, localidade e coordenadas sejam derivados dessa saída em vez da sua máquina host.

O Camoufox suporta proxies SOCKS5?

O dicionário de proxy aceita um servidor socks5://, mas SOCKS5 autenticado é o ponto fraco conhecido — a discussão #334 relata um relay local como a única rota confiável, e o suporte completo a SOCKS5 ainda é um pedido de melhoria aberto (#368). A correção prática é a lista de permissões de IP, que remove completamente a necessidade de credenciais, ou usar a porta HTTP do gateway.

O que geoip=True faz no Camoufox?

Ele consulta o IP de saída em um banco de dados no formato MaxMind e usa o resultado para definir a longitude, latitude, fuso horário, país e localidade do navegador, falsificar o endereço WebRTC e escolher um idioma plausível para a região. Ele precisa do extra camoufox[geoip] instalado. Você também pode passar uma string de IP em vez de True para pular a etapa de autodescoberta.

Por que recebo InvalidProxy: Failed to connect to proxy?

Porque a pré-verificação do geoip não conseguiu alcançar uma API pública de IP através do seu proxy. Esses endpoints são HTTPS, então o proxy deve suportar tunelamento CONNECT; um gateway que apenas encaminha HTTP simples falha aqui enquanto parece funcionar em outros lugares. Teste com uma solicitação HTTPS através do mesmo proxy, ou resolva a saída você mesmo e passe-a como geoip="1.2.3.4".

A opção geoip do Camoufox é o melhor argumento no ecossistema para gastar dinheiro na qualidade do IP em vez de mais código de evasão. Ela resolve automaticamente a parte mais difícil da consistência de impressão digital — fazer o navegador concordar com a rede — sob a condição de que a rede esteja dizendo a verdade. Compre a saída primeiro, depois ative o geoip. Se você precisar de Chromium em vez de Firefox, a mesma disciplina se aplica ao nosso guia de configuração de proxy Patchright. Esta é uma orientação técnica, não um conselho legal: faça scraping dentro da lei e dos termos do alvo.

Execute o Camoufox em saídas residenciais verificadas