Camoufox Proxy et GeoIP : Votre IP de sortie est l'empreinte
Activez geoip et Camoufox dérive votre fuseau horaire, votre langue, vos coordonnées et l'adresse WebRTC usurpée à partir de l'IP de sortie du proxy. Cela rend un proxy mal étiqueté plus bruyant qu'aucun proxy du tout.
La plupart des tutoriels sur le proxy Camoufox s'arrêtent aux deux lignes qui définissent proxy et geoip=True. La conséquence est ce que personne n'écrit : avec geoip activé, Camoufox dérive votre fuseau horaire, votre langue, votre latitude, votre longitude et l'adresse WebRTC usurpée à partir de l'IP de sortie du proxy. Le proxy cesse d'être un saut réseau et devient la source de vérité pour toute l'identité. Donnez-lui une sortie mal étiquetée ou recyclée et Camoufox construit une empreinte parfaitement cohérente autour d'un mensonge — un signal plus fort qu'aucune usurpation du tout. Voici la configuration, les erreurs que les gens collent dans Google, l'écart SOCKS5, et comment vérifier une sortie d'abord.
Ce que geoip dérive réellement de votre proxy
Camoufox est une version anti-détection de Firefox qui enveloppe l'API Python de Playwright, donc la configuration du proxy est de forme Playwright. La couche géo est ce qui la rend différente. Selon la documentation du projet, geoip=True (ou une adresse IP cible) fait que Camoufox utilise la longitude, la latitude, le fuseau horaire, le pays et la langue de l'IP cible, et usurpe l'adresse IP WebRTC — puis va plus loin, calculant la langue du navigateur à partir de la répartition des locuteurs de la langue dans cette région plutôt que de se contenter de la langue officielle du pays. Les recherches se font contre une base de données au format MaxMind qui est livrée en option :
pip install -U "camoufox[geoip]"
python -m camoufox fetch
L'extra [geoip] est optionnel uniquement dans le sens de l'emballage — la documentation le recommande fortement si vous utilisez des proxies, et c'est un euphémisme. Sans cela, vous obtenez un navigateur furtif fonctionnant sur le fuseau horaire et la langue de votre machine hôte tandis que son IP prétend être dans un autre pays. Voici la configuration minimale fonctionnelle avec une passerelle HTTP authentifiée :
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
Notez la forme du dictionnaire proxy : les identifiants vont dans des champs username et password séparés, jamais à l'intérieur de l'URL du server. Cela est hérité de Playwright et c'est la raison pour laquelle les proxies authentifiés sont sans douleur ici — pas de shim d'extension, pas de dialogue d'authentification à rejeter. L'API asynchrone est identique via AsyncCamoufox. Pour savoir comment cela se compare avec les autres piles furtives, consultez notre carte du support des proxies authentifiés à travers les frameworks anti-détection.
Pourquoi le mauvais proxy vous démasque
Les systèmes anti-bot recherchent rarement une seule mauvaise valeur. Ils recherchent des contradictions — deux signaux qui ne peuvent pas être vrais pour le même humain. Un navigateur rapportant Europe/Rome à partir d'une IP qui se géolocalise dans l'Ohio en est un. La fonctionnalité geoip de Camoufox existe pour éliminer cette classe de contradiction, et elle fait bien le travail. Le piège est qu'elle résout toujours la contradiction en faveur de l'IP. Si la base de données dit que votre sortie est en Allemagne mais que l'adresse est une plage de centre de données recyclée que la moitié de l'internet signale déjà comme un proxy, Camoufox habillera fidèlement votre navigateur comme un utilisateur domestique allemand assis sur un ASN qu'aucun utilisateur domestique allemand n'a jamais utilisé.
Cela fait de la qualité de sortie un problème d'empreinte, pas seulement un problème de blocage. Deux vérifications appartiennent à chaque exécution : le véritable ASN et pays de la sortie, et si l'IP porte déjà un score de fraude ou de proxy. Notre vérificateur de qualité IP gratuit répond aux deux, et les proxies résidentiels sur des plages de FAI réelles dans plus de 200 pays sont ce qui rend l'identité dérivée plausible. Rien de tout cela ne vous exempte de la couche inférieure — le moteur émet toujours une poignée de main TLS, et le fingerprinting JA3/JA4 le lit avant que vos valeurs usurpées ne soient jamais envoyées.

Les erreurs de proxy Camoufox que vous rencontrerez réellement
Trois échecs dominent le suivi des problèmes, et aucun d'eux ne signifie que vos identifiants sont incorrects :
InvalidProxy: Failed to connect to proxy— soulevé avant que le navigateur ne démarre, et c'est un effet secondaire de geoip. Camoufox résout votre adresse de sortie à travers une liste d'API IP publiques pour savoir quoi rechercher. Ces points de terminaison sont HTTPS, donc un proxy qui ne peut pas CONNECT-tunnel TLS échoue au test même lorsque HTTP simple à travers lui réussit (discussion #397). Supprimezgeoipet le même proxy 'fonctionne' — exactement la mauvaise solution.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— le refus au niveau de Firefox. Le problème #294 le documente pourlaunch_server(): une chaîne de proxy qui fonctionne dans un lancement normal échoue lorsque le navigateur est démarré en tant que serveur et piloté sur son point de terminaison WebSocket, identifiants valides. Vérifiez le proxy dans un lancement direct d'abord pour savoir quelle couche est cassée.- geoip plus une sortie IPv6 — les erreurs de recherche là où la même base de données est correcte pour IPv4 (discussion #241). Sur un pool IPv6, résolvez l'adresse vous-même et passez-la.
La solution de contournement propre pour le premier et le troisième cas est documentée mais sous-utilisée : geoip accepte une adresse IP, pas seulement True. Résolvez la sortie vous-même à travers le même proxy, puis donnez la réponse à Camoufox. Vous sautez complètement la recherche interne, et en bonus vous pouvez enregistrer quelle sortie chaque session a utilisée :
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)
Deux détails importent. Utilisez une session collante pour que l'IP résolue à l'étape un soit toujours la sortie à l'étape deux — sous rotation par requête, ce sont des adresses différentes et la géo dérivée est fausse dès le premier chargement de page. Et encodez en pourcentage les identifiants contenant @, : ou # : la forme dictionnaire est immunisée, la forme URL ne l'est pas.
Camoufox et SOCKS5 : l'écart WebRTC et auth
SOCKS5 est là où les utilisateurs de Camoufox se bloquent, et la raison est plus intéressante qu'une fonctionnalité manquante. Le problème #368 le cadre exactement : sans un proxy qui transporte UDP, WebRTC peut vous exposer. WebRTC négocie sur UDP, les proxies HTTP sont uniquement TCP, et SOCKS5 est le seul protocole commun avec un mode d'association UDP — c'est pourquoi les gens le veulent ici spécifiquement. La réponse de Camoufox est d'usurper l'adresse WebRTC à partir des données geoip au lieu de router le chemin média, et cela couvre la fuite commune. L'option block_webrtc supprime complètement la surface, au prix de ressembler à un navigateur avec WebRTC désactivé.
L'authentification SOCKS5 est l'écart le plus difficile. La discussion #334 est un utilisateur demandant l'astuce et rapportant que la seule chose qui a fonctionné était de faire fonctionner un serveur proxy local pour transférer le trafic du navigateur vers un point de terminaison SOCKS5 avec identifiant et mot de passe. C'est toujours l'état des lieux, et cela vous laisse trois options, par ordre de préférence :
- Authentifiez par liste blanche IP. Ajoutez l'adresse de votre machine ou serveur à la liste autorisée et le point de terminaison SOCKS5 n'a besoin d'aucun identifiant. Chaque plan QuantumProxies expose des points de terminaison HTTP et SOCKS5 et prend en charge la liste blanche comme alternative à user:pass, ce qui en fait la solution en une ligne plutôt que l'exotique.
- Utilisez le port HTTP de la même passerelle. À moins que vous n'ayez spécifiquement besoin d'UDP, HTTP(S) avec des identifiants dans le dictionnaire est moins problématique. Notre analyse de la différence entre SOCKS5 et HTTP proxies couvre quand la différence compte.
- Exécutez un relais local qui accepte une connexion non authentifiée sur
127.0.0.1et ajoute des identifiants en amont — la solution de contournement de #334. Pointez Camoufox sursocks5://127.0.0.1:1080et laissez le relais authentifier.
Obtenez des points de terminaison SOCKS5 avec liste blanche IP

Une liste de contrôle avant de faire confiance à geoip
- Résolvez l'IP de sortie à travers le proxy et enregistrez-la avec l'identifiant de session. Si vous ne pouvez pas nommer l'adresse utilisée par une exécution, vous ne pouvez pas déboguer le blocage qu'elle a obtenu.
- Vérifiez le véritable pays et ASN de la sortie par rapport à ce que le pool prétend. Les discordances de pays empoisonnent chaque signal dérivé.
- Épinglez une session collante pour toute la durée de vie du navigateur. La rotation en milieu de session change l'IP sous une empreinte calculée pour l'ancienne.
- Chargez une page de test d'empreinte une fois par pool, pas une fois par projet — le fuseau horaire, la langue et les valeurs WebRTC changent avec la sortie.
- Choisissez
block_webrtcou l'usurpation WebRTC basée sur geoip par cible, et gardez-la cohérente au sein d'une session.
Questions fréquemment posées
Comment définir un proxy dans Camoufox ?
Passez un dictionnaire de style Playwright au constructeur Camoufox() : proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. Les identifiants appartiennent aux champs séparés, pas dans l'URL du serveur. Ajoutez geoip=True à côté pour que le fuseau horaire, la langue et les coordonnées soient dérivés de cette sortie plutôt que de votre machine hôte.
Camoufox prend-il en charge les proxies SOCKS5 ?
Le dictionnaire proxy accepte un serveur socks5://, mais le SOCKS5 authentifié est le point sensible connu — la discussion #334 rapporte un relais local comme la seule voie fiable, et le support complet de SOCKS5 est encore une demande d'amélioration ouverte (#368). La solution pratique est la liste blanche IP, qui supprime complètement l'exigence d'identifiants, ou l'utilisation du port HTTP de la passerelle.
Que fait geoip=True dans Camoufox ?
Il recherche l'IP de sortie dans une base de données au format MaxMind et utilise le résultat pour définir la longitude, la latitude, le fuseau horaire, le pays et la langue du navigateur, usurper l'adresse WebRTC, et choisir une langue plausible pour la région. Il nécessite l'extra camoufox[geoip] installé. Vous pouvez également passer une chaîne IP au lieu de True pour sauter l'étape d'auto-découverte.
Pourquoi ai-je InvalidProxy: Failed to connect to proxy ?
Parce que le pré-vérification geoip n'a pas pu atteindre une API IP publique à travers votre proxy. Ces points de terminaison sont HTTPS, donc le proxy doit prendre en charge le tunneling CONNECT ; une passerelle qui ne transmet que HTTP simple échoue ici tout en semblant fonctionner ailleurs. Testez avec une requête HTTPS à travers le même proxy, ou résolvez la sortie vous-même et passez-la comme geoip="1.2.3.4".
L'option geoip de Camoufox est le meilleur argument dans l'écosystème pour dépenser de l'argent sur la qualité IP plutôt que sur plus de code d'évasion. Elle prend la partie la plus difficile de la cohérence des empreintes — faire en sorte que le navigateur soit d'accord avec le réseau — et la résout automatiquement, à condition que le réseau dise la vérité. Achetez la sortie d'abord, puis activez geoip. Si vous avez besoin de Chromium plutôt que Firefox, la même discipline s'applique à notre guide de configuration du proxy Patchright. Ceci est un guide technique, pas un conseil juridique : grattez dans le respect de la loi et des conditions de la cible.