Camoufox Proxy y GeoIP: Tu IP de Salida es la Huella Digital
Activa geoip y Camoufox deriva tu zona horaria, configuración regional, coordenadas y dirección WebRTC falsificada de la IP de salida del proxy. Eso hace que un proxy mal etiquetado sea más ruidoso que no usar ningún proxy.
La mayoría de los tutoriales de proxy Camoufox se detienen en las dos líneas que configuran proxy y geoip=True. La consecuencia es lo que nadie escribe: con geoip habilitado, Camoufox deriva tu zona horaria, configuración regional, latitud, longitud y la dirección WebRTC falsificada de la IP de salida del proxy. El proxy deja de ser un salto de red y se convierte en la fuente de verdad para toda la identidad. Si le das una salida mal etiquetada o reciclada, Camoufox construye una huella digital perfectamente coherente alrededor de una mentira — una señal más fuerte que no falsificar nada. Aquí está la configuración, los errores que la gente pega en Google, la brecha de SOCKS5, y cómo verificar una salida primero.
Lo que geoip realmente deriva de tu proxy
Camoufox es una versión de Firefox anti-detección que envuelve la API de Python de Playwright, por lo que la configuración del proxy tiene forma de Playwright. La capa geo es lo que lo hace diferente. Según la documentación del proyecto, geoip=True (o una dirección IP objetivo) hace que Camoufox use la longitud, latitud, zona horaria, país y configuración regional de la IP objetivo, y falsifique la dirección IP de WebRTC — luego va más allá, calculando el idioma del navegador a partir de la distribución de hablantes de idiomas en esa región en lugar de predeterminar el idioma oficial del país. Las búsquedas se realizan contra una base de datos en formato MaxMind que se envía como un extra opcional:
pip install -U "camoufox[geoip]"
python -m camoufox fetch
El extra [geoip] es opcional solo en el sentido del empaquetado — la documentación lo llama altamente recomendado si estás usando proxies, y eso es un eufemismo. Sin él, obtienes un navegador sigiloso que se ejecuta en la zona horaria y configuración regional de tu máquina anfitriona mientras su IP afirma estar en otro país. Aquí está la configuración mínima funcional con un 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
Nota la forma del diccionario proxy: las credenciales van en campos separados username y password, nunca dentro de la URL del server. Eso se hereda de Playwright y es la razón por la que los proxies autenticados son indoloros aquí — sin extensión intermedia, sin diálogo de autenticación para descartar. La API asíncrona es idéntica a través de AsyncCamoufox. Para ver cómo se compara esto con otras pilas sigilosas, consulta nuestro mapa de soporte de proxies autenticados en marcos anti-detección.
Por qué el proxy incorrecto te desenmascara
Los sistemas anti-bot rara vez buscan un solo valor incorrecto. Buscan contradicciones — dos señales que no pueden ser verdaderas al mismo tiempo para el mismo humano. Un navegador que informa Europe/Rome desde una IP que se geolocaliza en Ohio es una. La función geoip de Camoufox existe para eliminar esa clase de contradicción, y hace bien el trabajo. El problema es que siempre resuelve la contradicción a favor de la IP. Si la base de datos dice que tu salida está en Alemania pero la dirección es un rango reciclado de centro de datos que la mitad de internet ya marca como proxy, Camoufox vestirá diligentemente tu navegador como un usuario doméstico alemán sentado en un ASN que ningún usuario doméstico alemán ha usado jamás.
Eso convierte la calidad de salida en un problema de huellas digitales, no solo de bloqueo. Dos verificaciones pertenecen a cada ejecución: el ASN real y el país de la salida, y si la IP ya tiene una puntuación de fraude o proxy. Nuestro verificador de calidad de IP gratuito responde a ambos, y los proxies residenciales en rangos de ISP reales en más de 200 países son lo que hace que la identidad derivada sea plausible en absoluto. Nada de esto te exime de la capa inferior — el motor aún emite un apretón de manos TLS, y la huella digital JA3/JA4 lo lee antes de que se envíen tus valores falsificados.

Los errores de proxy de Camoufox que realmente enfrentarás
Tres fallos dominan el rastreador de problemas, y ninguno de ellos significa que tus credenciales sean incorrectas:
InvalidProxy: Failed to connect to proxy— se genera antes de que el navegador comience, y es un efecto secundario de geoip. Camoufox resuelve tu dirección de salida a través de una lista de APIs públicas de IP para saber qué buscar. Esos endpoints son HTTPS, por lo que un proxy que no puede hacer túnel CONNECT de TLS falla la verificación incluso cuando el HTTP simple a través de él tiene éxito (discusión #397). Eliminageoipy el mismo proxy 'funciona' — exactamente la solución incorrecta.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— el rechazo a nivel de Firefox. El problema #294 lo documenta paralaunch_server(): una cadena de proxy que funciona en un lanzamiento normal falla cuando el navegador se inicia como un servidor y se maneja a través de su endpoint WebSocket, credenciales válidas. Verifica el proxy en un lanzamiento directo primero para saber qué capa está rota.- geoip más una salida IPv6 — la búsqueda falla donde la misma base de datos está bien para IPv4 (discusión #241). En un grupo IPv6, resuelve la dirección tú mismo y pásala.
La solución limpia para el primer y tercer caso está documentada pero infrautilizada: geoip acepta una dirección IP, no solo True. Resuelve la salida tú mismo a través del mismo proxy, luego entrega a Camoufox la respuesta. Te saltas la búsqueda interna por completo, y como beneficio adicional puedes registrar qué salida usó cada sesión:
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)
Dos detalles importan. Usa una sesión pegajosa para que la IP resuelta en el primer paso siga siendo la salida en el segundo — bajo rotación por solicitud esas son direcciones diferentes y el geo derivado está mal desde la primera carga de página. Y codifica porcentualmente las credenciales que contienen @, : o #: la forma de diccionario es inmune, la forma de URL no lo es.
Camoufox y SOCKS5: la brecha de WebRTC y autenticación
SOCKS5 es donde los usuarios de Camoufox se quedan atascados, y la razón es más interesante que una característica faltante. El problema #368 lo enmarca exactamente bien: sin un proxy que lleve UDP, WebRTC puede exponerte. WebRTC negocia sobre UDP, los proxies HTTP son solo TCP, y SOCKS5 es el único protocolo común con un modo de asociación UDP — por eso la gente lo quiere aquí específicamente. La respuesta de Camoufox es falsificar la dirección WebRTC a partir de los datos geoip en lugar de enrutar la ruta de medios, y eso cubre la fuga común. La opción block_webrtc elimina la superficie por completo, a costa de parecer un navegador con WebRTC deshabilitado.
SOCKS5 autenticado es la brecha más difícil. La discusión #334 es un usuario pidiendo el truco e informando que lo único que funcionó fue ejecutar un servidor proxy local para reenviar el tráfico del navegador a un endpoint SOCKS5 con inicio de sesión y contraseña. Esa sigue siendo la situación actual, y te deja tres opciones, en orden de preferencia:
- Autenticar por lista blanca de IP. Agrega la dirección de tu máquina o servidor a la lista permitida y el endpoint SOCKS5 no necesita credenciales en absoluto. Cada plan de QuantumProxies expone endpoints HTTP y SOCKS5 y admite listas blancas como alternativa a usuario:contraseña, lo que hace que esta sea la solución de una línea en lugar de la exótica.
- Usa el puerto HTTP del mismo gateway. A menos que necesites específicamente UDP, HTTP(S) con credenciales en el diccionario es menos problemático. Nuestro desglose de SOCKS5 versus proxies HTTP cubre cuándo la diferencia importa.
- Ejecuta un relé local que acepte una conexión no autenticada en
127.0.0.1y agregue credenciales aguas arriba — la solución alternativa de #334. Apunta Camoufox asocks5://127.0.0.1:1080y deja que el relé autentique.
Obtén endpoints SOCKS5 con lista blanca de IP

Una lista de verificación previa al vuelo antes de confiar en geoip
- Resuelve la IP de salida a través del proxy y regístrala con el id de sesión. Si no puedes nombrar la dirección que usó una ejecución, no puedes depurar el bloqueo que obtuvo.
- Verifica el país real y el ASN de la salida contra lo que afirma el grupo. Las discrepancias de país envenenan cada señal derivada.
- Fija una sesión pegajosa para toda la vida del navegador. Rotar a mitad de sesión cambia la IP bajo una huella digital calculada para la anterior.
- Carga una página de prueba de huella digital una vez por grupo, no una vez por proyecto — la zona horaria, configuración regional y valores de WebRTC cambian con la salida.
- Elige
block_webrtco falsificación de WebRTC basada en geoip por objetivo, y mantenlo consistente dentro de una sesión.
Preguntas frecuentes
¿Cómo configuro un proxy en Camoufox?
Pasa un diccionario al estilo Playwright al constructor Camoufox(): proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. Las credenciales pertenecen a los campos separados, no en la URL del servidor. Agrega geoip=True junto a él para que la zona horaria, configuración regional y coordenadas se deriven de esa salida en lugar de tu máquina anfitriona.
¿Camoufox admite proxies SOCKS5?
El diccionario de proxy acepta un servidor socks5://, pero SOCKS5 autenticado es el punto débil conocido — la discusión #334 informa un relé local como la única ruta confiable, y el soporte completo de SOCKS5 sigue siendo una solicitud de mejora abierta (#368). La solución práctica es la lista blanca de IP, que elimina por completo el requisito de credenciales, o usar el puerto HTTP del gateway.
¿Qué hace geoip=True en Camoufox?
Busca la IP de salida en una base de datos en formato MaxMind y usa el resultado para establecer la longitud, latitud, zona horaria, país y configuración regional del navegador, falsificar la dirección WebRTC, y elegir un idioma plausible para la región. Necesita el extra camoufox[geoip] instalado. También puedes pasar una cadena IP en lugar de True para omitir el paso de autodescubrimiento.
¿Por qué recibo InvalidProxy: Failed to connect to proxy?
Porque la pre-verificación geoip no pudo alcanzar una API pública de IP a través de tu proxy. Esos endpoints son HTTPS, por lo que el proxy debe admitir el túnel CONNECT; un gateway que solo reenvía HTTP simple falla aquí mientras parece funcionar en otros lugares. Prueba con una solicitud HTTPS a través del mismo proxy, o resuelve la salida tú mismo y pásala como geoip="1.2.3.4".
La opción geoip de Camoufox es el mejor argumento en el ecosistema para gastar dinero en calidad de IP en lugar de en más código de evasión. Toma la parte más difícil de la consistencia de huellas digitales — hacer que el navegador esté de acuerdo con la red — y lo resuelve automáticamente, con la condición de que la red esté diciendo la verdad. Compra la salida primero, luego activa geoip. Si necesitas Chromium en lugar de Firefox, la misma disciplina se aplica a nuestra guía de configuración de proxy Patchright. Esta es una guía técnica, no un consejo legal: raspa dentro de la ley y los términos del objetivo.