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.

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:
InvalidProxy: Failed to connect to proxy— levantado antes do navegador iniciar, e é um efeito colateral do geoip. O Camoufox resolve seu endereço de saída através de uma lista de APIs públicas de IP para saber o que procurar. Esses endpoints são HTTPS, então um proxy que não pode fazer túnel CONNECT para TLS falha na verificação mesmo quando HTTP simples através dele tem sucesso (discussão #397). Removageoipe o mesmo proxy 'funciona' — exatamente a correção errada.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— a recusa no nível do Firefox. O problema #294 o documenta paralaunch_server(): uma string de proxy que funciona em um lançamento normal falha quando o navegador é iniciado como um servidor e dirigido sobre seu endpoint WebSocket, credenciais válidas. Verifique o proxy em um lançamento direto primeiro para saber qual camada está quebrada.- geoip mais uma saída IPv6 — a consulta falha onde o mesmo banco de dados está bem para IPv4 (discussão #241). Em um pool IPv6, resolva o endereço você mesmo e passe-o.
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:
- Autenticar por lista de permissões de IP. Adicione o endereço da sua máquina ou servidor à lista permitida e o endpoint SOCKS5 não precisa de credenciais. Todo plano QuantumProxies expõe endpoints HTTP e SOCKS5 e suporta lista de permissões como alternativa a usuário:senha, o que torna essa a correção de uma linha em vez da exótica.
- Use a porta HTTP do mesmo gateway. A menos que você precise especificamente de UDP, HTTP(S) com credenciais no dicionário é menos problemático. Nossa análise de SOCKS5 versus proxies HTTP cobre quando a diferença importa.
- Execute um relay local que aceite uma conexão não autenticada em
127.0.0.1e adicione credenciais a montante — a solução alternativa do #334. Aponte o Camoufox parasocks5://127.0.0.1:1080e deixe o relay autenticar.
Obtenha endpoints SOCKS5 com lista de permissões de IP

Uma lista de verificação pré-voo antes de confiar no geoip
- Resolva o IP de saída através do proxy e registre-o com o id da sessão. Se você não pode nomear o endereço que uma execução usou, você não pode depurar o bloqueio que ela recebeu.
- Verifique o país real e o ASN da saída em relação ao que o pool afirma. Inconsistências de país envenenam todos os sinais derivados.
- Fixe uma sessão fixa para toda a vida útil do navegador. Rotacionar no meio da sessão muda o IP sob uma impressão digital calculada para o antigo.
- Carregue uma página de teste de impressão digital uma vez por pool, não uma vez por projeto — o fuso horário, localidade e valores WebRTC mudam com a saída.
- Escolha
block_webrtcou falsificação de WebRTC baseada em geoip por alvo, e mantenha-a consistente dentro de uma sessão.
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.