Camoufox Proxy e GeoIP: Il tuo IP di uscita è l'impronta digitale
Attiva geoip e Camoufox deriva il tuo fuso orario, la tua località, le coordinate e l'indirizzo WebRTC falsificato dall'IP di uscita del proxy. Questo rende un proxy etichettato erroneamente più evidente di nessun proxy.
La maggior parte dei tutorial su Camoufox proxy si fermano alle due righe che impostano proxy e geoip=True. La conseguenza è ciò che nessuno scrive: con geoip abilitato, Camoufox deriva il tuo fuso orario, località, latitudine, longitudine e l'indirizzo WebRTC falsificato dall'IP di uscita del proxy. Il proxy smette di essere un passaggio di rete e diventa la fonte di verità per l'intera identità. Forniscigli un'uscita etichettata erroneamente o riciclata e Camoufox costruisce un'impronta perfettamente coerente attorno a una bugia — un segnale più forte di nessun mascheramento. Ecco la configurazione, gli errori che le persone incollano su Google, il gap SOCKS5 e come controllare un'uscita prima.
Cosa deriva realmente geoip dal tuo proxy
Camoufox è una build anti-detect di Firefox che avvolge l'API Python di Playwright, quindi la configurazione del proxy è modellata su Playwright. Il livello geo è ciò che lo rende diverso. Secondo la documentazione del progetto, geoip=True (o un indirizzo IP di destinazione) fa sì che Camoufox utilizzi la longitudine, latitudine, fuso orario, paese e località dell'IP di destinazione, e falsifichi l'indirizzo IP WebRTC — poi va oltre, calcolando la lingua del browser dalla distribuzione dei parlanti di lingua in quella regione piuttosto che predefinire la lingua ufficiale del paese. Le ricerche vengono eseguite contro un database in formato MaxMind che viene fornito come extra opzionale:
pip install -U "camoufox[geoip]"
python -m camoufox fetch
L'extra [geoip] è opzionale solo nel senso del packaging — la documentazione lo definisce fortemente raccomandato se si utilizzano proxy, e questo è un eufemismo. Senza di esso si ottiene un browser stealth che funziona sul fuso orario e la località della macchina host mentre il suo IP afferma di essere in un altro paese. Ecco la configurazione minima funzionante con un gateway HTTP autenticato:
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 dizionario proxy: le credenziali vanno in campi separati username e password, mai all'interno dell'URL del server. Questo è ereditato da Playwright ed è il motivo per cui i proxy autenticati sono indolori qui — nessun shim di estensione, nessun dialogo di autenticazione da chiudere. L'API asincrona è identica tramite AsyncCamoufox. Per come questo si confronta con gli altri stack stealth, vedi la nostra mappa del supporto proxy autenticato tra i framework anti-detect.
Perché il proxy sbagliato ti smaschera
I sistemi anti-bot raramente cercano un singolo valore errato. Cercano contraddizioni — due segnali che non possono entrambi essere veri per lo stesso umano. Un browser che riporta Europe/Rome da un IP che si geolocalizza in Ohio è uno. La funzione geoip di Camoufox esiste per eliminare quella classe di contraddizioni, e lo fa bene. Il problema è che risolve sempre la contraddizione a favore dell'IP. Se il database dice che la tua uscita è in Germania ma l'indirizzo è una gamma di datacenter riciclata che metà di internet già segnala come proxy, Camoufox vestirà diligentemente il tuo browser come un utente domestico tedesco seduto su un ASN che nessun utente domestico tedesco ha mai usato.
Questo rende la qualità dell'uscita un problema di fingerprinting, non solo di blocco. Due controlli appartengono a ogni esecuzione: l'ASN reale e il paese dell'uscita, e se l'IP ha già un punteggio di frode o proxy. Il nostro controllo qualità IP gratuito risponde a entrambi, e i proxy residenziali su gamme ISP reali in oltre 200 paesi sono ciò che rende plausibile l'identità derivata. Nulla di tutto ciò ti esonera dal livello sottostante — il motore emette ancora una stretta di mano TLS, e il fingerprinting JA3/JA4 lo legge prima che i tuoi valori falsificati vengano mai inviati.

Gli errori del proxy Camoufox che incontrerai effettivamente
Tre fallimenti dominano il tracker dei problemi, e nessuno di essi significa che le tue credenziali sono sbagliate:
InvalidProxy: Failed to connect to proxy— sollevato prima che il browser inizi, ed è un effetto collaterale di geoip. Camoufox risolve il tuo indirizzo di uscita attraverso una lista di API pubbliche IP in modo da sapere cosa cercare. Quegli endpoint sono HTTPS, quindi un proxy che non può connettere-tunnel TLS fallisce il controllo anche quando HTTP semplice attraverso di esso riesce (discussione #397). Rimuovigeoipe lo stesso proxy 'funziona' — esattamente la soluzione sbagliata.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— il rifiuto a livello di Firefox. Il problema #294 lo documenta perlaunch_server(): una stringa proxy che funziona in un lancio normale fallisce quando il browser viene avviato come server e guidato sul suo endpoint WebSocket, credenziali valide. Verifica il proxy in un lancio diretto prima in modo da sapere quale livello è rotto.- geoip più un'uscita IPv6 — l'errore di ricerca si verifica dove lo stesso database va bene per IPv4 (discussione #241). Su un pool IPv6, risolvi l'indirizzo da solo e passalo.
La soluzione pulita per il primo e il terzo caso è documentata ma poco utilizzata: geoip accetta un indirizzo IP, non solo True. Risolvi l'uscita da solo attraverso lo stesso proxy, poi consegna a Camoufox la risposta. Salti completamente la ricerca interna, e come bonus puoi registrare su quale uscita ogni sessione è stata eseguita:
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)
Due dettagli contano. Usa una sessione sticky in modo che l'IP risolto nel primo passaggio sia ancora l'uscita nel secondo — sotto rotazione per richiesta quelli sono indirizzi diversi e il geo derivato è sbagliato dal primo caricamento della pagina. E codifica in percentuale le credenziali contenenti @, : o #: la forma del dizionario è immune, la forma URL no.
Camoufox e SOCKS5: il gap WebRTC e auth
SOCKS5 è dove gli utenti di Camoufox si bloccano, e la ragione è più interessante di una funzione mancante. Il problema #368 lo inquadra esattamente: senza un proxy che trasporta UDP, WebRTC può esporre te. WebRTC negozia su UDP, i proxy HTTP sono solo TCP, e SOCKS5 è l'unico protocollo comune con una modalità di associazione UDP — ecco perché le persone lo vogliono qui specificamente. La risposta di Camoufox è falsificare l'indirizzo WebRTC dai dati geoip invece di instradare il percorso multimediale, e questo copre la perdita comune. L'opzione block_webrtc rimuove completamente la superficie, al costo di sembrare un browser con WebRTC disabilitato.
SOCKS5 autenticato è il gap più difficile. La discussione #334 è un utente che chiede il trucco e riporta che l'unica cosa che ha funzionato è stata eseguire un server proxy locale per inoltrare il traffico del browser a un endpoint SOCKS5 con login e password. Questo è ancora lo stato delle cose, e ti lascia tre opzioni, in ordine di preferenza:
- Autenticare tramite whitelist IP. Aggiungi l'indirizzo della tua macchina o server alla lista consentita e l'endpoint SOCKS5 non ha bisogno di credenziali. Ogni piano QuantumProxies espone endpoint HTTP e SOCKS5 e supporta la whitelist come alternativa a user:pass, il che rende questa la soluzione in una riga piuttosto che quella esotica.
- Usa la porta HTTP dello stesso gateway. A meno che tu non abbia specificamente bisogno di UDP, HTTP(S) con credenziali nel dizionario è meno problematico. La nostra analisi di SOCKS5 rispetto ai proxy HTTP copre quando la differenza è importante.
- Esegui un relay locale che accetta una connessione non autenticata su
127.0.0.1e aggiunge credenziali a monte — la soluzione dalla #334. Punta Camoufox asocks5://127.0.0.1:1080e lascia che il relay autentichi.
Ottieni endpoint SOCKS5 con whitelist IP

Una checklist pre-volo prima di fidarti di geoip
- Risolvi l'IP di uscita attraverso il proxy e registralo con l'id della sessione. Se non puoi nominare l'indirizzo utilizzato in un'esecuzione, non puoi debugare il blocco che ha ottenuto.
- Controlla il vero paese e ASN dell'uscita rispetto a ciò che afferma il pool. Le discrepanze di paese avvelenano ogni segnale derivato.
- Fissa una sessione sticky per l'intera durata del browser. Ruotare a metà sessione cambia l'IP sotto un'impronta calcolata per quello vecchio.
- Carica una pagina di test dell'impronta una volta per pool, non una volta per progetto — il fuso orario, la località e i valori WebRTC cambiano con l'uscita.
- Scegli
block_webrtco falsificazione WebRTC basata su geoip per target, e mantienilo coerente all'interno di una sessione.
Domande frequenti
Come imposto un proxy in Camoufox?
Passa un dizionario in stile Playwright al costruttore Camoufox(): proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. Le credenziali appartengono ai campi separati, non nell'URL del server. Aggiungi geoip=True accanto in modo che fuso orario, località e coordinate siano derivati da quell'uscita invece che dalla tua macchina host.
Camoufox supporta i proxy SOCKS5?
Il dizionario proxy accetta un server socks5://, ma SOCKS5 autenticato è il noto punto dolente — la discussione #334 riporta un relay locale come l'unica via affidabile, e il supporto completo SOCKS5 è ancora una richiesta di miglioramento aperta (#368). La soluzione pratica è la whitelist IP, che rimuove completamente il requisito delle credenziali, o utilizzare la porta HTTP del gateway.
Cosa fa geoip=True in Camoufox?
Cerca l'IP di uscita in un database in formato MaxMind e utilizza il risultato per impostare la longitudine, latitudine, fuso orario, paese e località del browser, falsificare l'indirizzo WebRTC e scegliere una lingua plausibile per la regione. Ha bisogno dell'extra camoufox[geoip] installato. Puoi anche passare una stringa IP invece di True per saltare il passaggio di auto-scoperta.
Perché ricevo InvalidProxy: Failed to connect to proxy?
Perché il pre-controllo geoip non è riuscito a raggiungere un'API pubblica IP attraverso il tuo proxy. Quegli endpoint sono HTTPS, quindi il proxy deve supportare il tunnelling CONNECT; un gateway che inoltra solo HTTP semplice fallisce qui mentre sembra funzionare altrove. Testa con una richiesta HTTPS attraverso lo stesso proxy, o risolvi l'uscita da solo e passala come geoip="1.2.3.4".
L'opzione geoip di Camoufox è il miglior argomento nell'ecosistema per spendere soldi sulla qualità degli IP invece che su più codice di evasione. Risolve automaticamente la parte più difficile della coerenza delle impronte — far concordare il browser con la rete — a condizione che la rete dica la verità. Acquista l'uscita prima, poi attiva geoip. Se hai bisogno di Chromium piuttosto che Firefox, la stessa disciplina si applica alla nostra guida alla configurazione del proxy Patchright. Questa è una guida tecnica, non un consiglio legale: effettua scraping nel rispetto della legge e dei termini del target.