# 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:

```bash
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:

```python
from camoufox.sync_api import Camoufox

with Camoufox(
    geoip=True,
    humanize=True,          # cursor movement, not a fingerprint setting
    headless=False,
    proxy={
        "server": "http://residentialpremium.quantumproxies.io:8080",
        "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](https://quantumproxies.io/blog/anti-detect-frameworks-authenticated-proxies-map).

## 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](https://quantumproxies.io/ip-checker) gratuito responde a ambos, e [proxies residenciais](https://quantumproxies.io/residential-proxies) 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](https://quantumproxies.io/blog/tls-ja3-fingerprinting-scraping) a lê antes que seus valores falsificados sejam enviados.

![O geoip do Camoufox deriva sinais de identidade de uma única entrada, o IP de saída residencial: fuso horário e país, localidade e idioma, latitude e longitude, e o endereço WebRTC falsificado, tudo definido antes que a impressão digital seja injetada. O quadro mostra de onde vem cada valor, de modo que uma saída ruim deixa toda a cadeia errada.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776554/blog/generated/qp-b10-008-diag1.png)
*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:

- **`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). Remova `geoip` e 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 para `launch_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:

```python
import requests
from camoufox.sync_api import Camoufox

HOST = "residentialpremium.quantumproxies.io:8080"
USER, PASS = "USER-sid-a1b2-ttl-30m", "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](https://quantumproxies.io/blog/socks5-vs-http-proxy-difference) cobre quando a diferença importa.
- **Execute um relay local** que aceite uma conexão não autenticada em `127.0.0.1` e adicione credenciais a montante — a solução alternativa do #334. Aponte o Camoufox para `socks5://127.0.0.1:1080` e deixe o relay autenticar.

[Obtenha endpoints SOCKS5 com lista de permissões de IP](https://quantumproxies.io/socks5-proxies)

![Duas identidades do Camoufox construídas pelo geoip: uma em uma saída residencial verificada, onde IP, fuso horário e ASN concordam, e outra em um proxy de datacenter reciclado e mal rotulado, que produz uma impressão digital convincente, mas contraditória. O quadro lista as verificações que a mantêm coerente: país e ASN verificados e uma sessão fixa.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776554/blog/generated/qp-b10-008-diag2.png)
*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

1. 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.
2. 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.
3. 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.
4. 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.
5. Escolha `block_webrtc` ou 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](https://quantumproxies.io/blog/patchright-proxy-setup). 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](https://quantumproxies.io/residential-proxies)
