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

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

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

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](https://quantumproxies.io/blog/anti-detect-frameworks-authenticated-proxies-map).

## 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](https://quantumproxies.io/ip-checker) gratuit répond aux deux, et les [proxies résidentiels](https://quantumproxies.io/residential-proxies) 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](https://quantumproxies.io/blog/tls-ja3-fingerprinting-scraping) le lit avant que vos valeurs usurpées ne soient jamais envoyées.

![Le geoip de Camoufox dérive les signaux d'identité d'une seule entrée, l'IP de sortie résidentielle : fuseau horaire et pays, locale et langue, latitude et longitude, et l'adresse WebRTC usurpée, le tout défini avant l'injection de l'empreinte. La carte montre d'où vient chaque valeur, si bien qu'une mauvaise sortie fausse toute la chaîne.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776554/blog/generated/qp-b10-008-diag1.png)
*Avec geoip activé, cinq signaux d'identité sont calculés à partir d'une entrée : l'IP de sortie. Choisissez mal cette entrée et toute la chaîne est cohérente mais fausse.*

## 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). Supprimez `geoip` et 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 pour `launch_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 :

```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)
```

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](https://quantumproxies.io/blog/socks5-vs-http-proxy-difference) couvre quand la différence compte.
- **Exécutez un relais local** qui accepte une connexion non authentifiée sur `127.0.0.1` et ajoute des identifiants en amont — la solution de contournement de #334. Pointez Camoufox sur `socks5://127.0.0.1:1080` et laissez le relais authentifier.

[Obtenez des points de terminaison SOCKS5 avec liste blanche IP](https://quantumproxies.io/socks5-proxies)

![Deux identités Camoufox construites par geoip : l'une sur une sortie résidentielle vérifiée où IP, fuseau horaire et ASN concordent, l'autre sur un proxy datacenter recyclé et mal étiqueté qui produit une empreinte assurée mais contradictoire. La carte liste les vérifications qui la gardent cohérente : pays et ASN vérifiés, et une session persistante.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785776554/blog/generated/qp-b10-008-diag2.png)
*Le mode d'échec n'est pas une valeur manquante. C'est une valeur confiante qui est en désaccord avec l'IP derrière elle.*

## Une liste de contrôle avant de faire confiance à geoip

1. 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.
2. 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é.
3. É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.
4. 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.
5. Choisissez `block_webrtc` ou 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](https://quantumproxies.io/blog/patchright-proxy-setup). Ceci est un guide technique, pas un conseil juridique : grattez dans le respect de la loi et des conditions de la cible.

[Exécutez Camoufox sur des sorties résidentielles vérifiées](https://quantumproxies.io/residential-proxies)
