Camoufox Proxy en GeoIP: Uw Exit IP Is de Vingerafdruk
Schakel geoip in en Camoufox haalt uw tijdzone, taalinstelling, coördinaten en gespoofde WebRTC-adres afgeleid van het exit IP van de proxy. Dat maakt een verkeerd gelabelde proxy luider dan helemaal geen proxy.
De meeste Camoufox proxy tutorials stoppen bij de twee regels die proxy en geoip=True instellen. Het gevolg is wat niemand opschrijft: met geoip ingeschakeld, haalt Camoufox uw tijdzone, taalinstelling, breedtegraad, lengtegraad en het gespoofde WebRTC-adres van het exit IP van de proxy. De proxy stopt met een netwerkhop te zijn en wordt de bron van waarheid voor de hele identiteit. Voer een verkeerd gelabelde of gerecyclede exit in en Camoufox bouwt een perfect samenhangende vingerafdruk rond een leugen — een sterker signaal dan helemaal geen spoofing. Hier is de installatie, de fouten die mensen in Google plakken, de SOCKS5 kloof, en hoe een exit eerst te controleren.
Wat geoip daadwerkelijk afleidt van uw proxy
Camoufox is een anti-detect Firefox build die Playwright's Python API omhult, dus de proxyconfiguratie is Playwright-vormig. De geo-laag is wat het anders maakt. Volgens de projectdocumentatie zorgt geoip=True (of een doel-IP-adres) ervoor dat Camoufox de lengtegraad, breedtegraad, tijdzone, land en taalinstelling van het doel-IP gebruikt en het WebRTC IP-adres spooft — en gaat verder door de browsertaal te berekenen op basis van de verdeling van taalspeakers in die regio in plaats van standaard de officiële taal van het land te gebruiken. De opzoekingen worden uitgevoerd tegen een MaxMind-formaat database die als optionele extra wordt meegeleverd:
pip install -U "camoufox[geoip]"
python -m camoufox fetch
De [geoip] extra is alleen optioneel in de zin van verpakking — de documentatie noemt het sterk aanbevolen als u proxies gebruikt, en dat is een understatement. Zonder dat krijgt u een stealth browser die draait op de tijdzone en taalinstelling van uw hostmachine terwijl zijn IP beweert in een ander land te zijn. Hier is de minimale werkende installatie met een geauthenticeerde HTTP-gateway:
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
Let op de vorm van het proxy dict: inloggegevens gaan in aparte username en password velden, nooit binnen de server URL. Dat is geërfd van Playwright en het is de reden dat geauthenticeerde proxies hier probleemloos zijn — geen extensie shim, geen auth dialoog om te sluiten. De async API is identiek via AsyncCamoufox. Voor hoe dit zich verhoudt tot de andere stealth stacks, zie onze kaart van geauthenticeerde proxy-ondersteuning over anti-detect frameworks.
Waarom de verkeerde proxy u ontmaskert
Anti-bot systemen jagen zelden op een enkele slechte waarde. Ze jagen op tegenstrijdigheden — twee signalen die niet beide waar kunnen zijn voor dezelfde persoon. Een browser die Europe/Rome rapporteert van een IP dat geolokaliseerd is naar Ohio is er een. Camoufox's geoip functie bestaat om die klasse van tegenstrijdigheid te doden, en het doet het goed. De vangst is dat het altijd de tegenstrijdigheid oplost ten gunste van het IP. Als de database zegt dat uw exit in Duitsland is, maar het adres is een gerecycled datacenterbereik dat de halve internet al als proxy markeert, zal Camoufox uw browser trouw aankleden als een Duitse thuisgebruiker die op een ASN zit dat geen enkele Duitse thuisgebruiker ooit heeft gebruikt.
Dat maakt exitkwaliteit een vingerafdrukprobleem, niet alleen een blokkeringsprobleem. Twee controles horen bij elke run: het echte ASN en land van de exit, en of het IP al een fraude- of proxyscore heeft. Onze gratis IP kwaliteitschecker beantwoordt beide, en residential proxies op echte ISP-bereiken in 200+ landen zijn wat de afgeleide identiteit überhaupt geloofwaardig maakt. Geen van dit alles vrijwaart u van de laag eronder — de engine zendt nog steeds een TLS-handshake uit, en JA3/JA4 vingerafdrukken leest het voordat uw gespoofde waarden ooit worden verzonden.

De Camoufox proxy fouten die u daadwerkelijk zult tegenkomen
Drie fouten domineren de issue tracker, en geen van hen betekent dat uw inloggegevens verkeerd zijn:
InvalidProxy: Failed to connect to proxy— opgeworpen voordat de browser start, en het is een geoip neveneffect. Camoufox lost uw exitadres op via een lijst van publieke IP API's zodat het weet wat het moet opzoeken. Die eindpunten zijn HTTPS, dus een proxy die geen TLS kan CONNECT-tunnelen faalt de controle zelfs als plain HTTP erdoorheen slaagt (discussie #397). Laatgeoipvallen en dezelfde proxy 'werkt' — precies de verkeerde oplossing.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— de Firefox-niveau weigering. Issue #294 documenteert het voorlaunch_server(): een proxy string die werkt in een normale lancering faalt wanneer de browser als een server wordt gestart en over zijn WebSocket eindpunt wordt aangestuurd, inloggegevens geldig. Verifieer de proxy in een directe lancering eerst zodat u weet welke laag gebroken is.- geoip plus een IPv6 exit — de lookup faalt waar dezelfde database prima is voor IPv4 (discussie #241). Op een IPv6 pool, los het adres zelf op en geef het door.
De schone oplossing voor de eerste en derde geval is gedocumenteerd maar onderbenut: geoip accepteert een IP-adres, niet alleen True. Los de exit zelf op via dezelfde proxy, en geef Camoufox het antwoord. U slaat de interne lookup volledig over, en als bonus kunt u loggen welke exit elke sessie draaide op:
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)
Twee details zijn belangrijk. Gebruik een sticky session zodat het IP dat in stap één is opgelost nog steeds de exit is in stap twee — onder per-verzoek rotatie zijn dat verschillende adressen en is de afgeleide geo verkeerd vanaf de eerste paginalading. En percent-encode inloggegevens die @, : of # bevatten: de dict-vorm is immuun, de URL-vorm niet.
Camoufox en SOCKS5: de WebRTC en auth kloof
SOCKS5 is waar Camoufox gebruikers vastlopen, en de reden is interessanter dan een ontbrekende functie. Issue #368 kadert het precies goed: zonder een proxy die UDP draagt, kan WebRTC u blootstellen. WebRTC onderhandelt over UDP, HTTP proxies zijn TCP-only, en SOCKS5 is het enige gangbare protocol met een UDP associatiemodus — wat de reden is dat mensen het hier specifiek willen. Camoufox's antwoord is om het WebRTC adres te spoofen vanuit de geoip data in plaats van het mediapad te routeren, en dat dekt het gebruikelijke lek. De block_webrtc optie verwijdert het oppervlak helemaal, ten koste van eruitzien als een browser met WebRTC uitgeschakeld.
Geauthenticeerde SOCKS5 is de moeilijkere kloof. Discussie #334 is een gebruiker die vraagt om de truc en meldt dat het enige dat werkte het draaien van een lokale proxyserver was om browserverkeer door te sturen naar een SOCKS5 eindpunt met login en wachtwoord. Dat is nog steeds de stand van zaken, en het laat u drie opties, in volgorde van voorkeur:
- Authenticeer door IP-whitelist. Voeg uw machine- of serveradres toe aan de toegestane lijst en het SOCKS5 eindpunt heeft helemaal geen inloggegevens nodig. Elk QuantumProxies plan biedt HTTP en SOCKS5 eindpunten en ondersteunt whitelisting als alternatief voor user:pass, wat dit de eenregelige oplossing maakt in plaats van de exotische.
- Gebruik de HTTP-poort van dezelfde gateway. Tenzij u specifiek UDP nodig heeft, is HTTP(S) met inloggegevens in de dict minder gedoe. Onze uiteenzetting van SOCKS5 versus HTTP proxies behandelt wanneer het verschil ertoe doet.
- Draai een lokale relay die een niet-geauthenticeerde verbinding op
127.0.0.1accepteert en inloggegevens upstream toevoegt — de oplossing van #334. Richt Camoufox opsocks5://127.0.0.1:1080en laat de relay authenticeren.
Verkrijg SOCKS5 eindpunten met IP-whitelisting

Een pre-flight checklist voordat u geoip vertrouwt
- Los het exit IP op via de proxy en log het met de sessie-id. Als u het adres dat een run gebruikte niet kunt benoemen, kunt u de blokkering die het kreeg niet debuggen.
- Controleer het echte land en ASN van de exit tegen wat de pool beweert. Land mismatches vergiftigen elk afgeleid signaal.
- Pin een sticky session voor de hele browserlevensduur. Roterend middenin de sessie verandert het IP onder een vingerafdruk berekend voor de oude.
- Laad een vingerafdruk testpagina één keer per pool, niet één keer per project — de tijdzone, taalinstelling en WebRTC waarden veranderen met de exit.
- Kies
block_webrtcof geoip-gebaseerde WebRTC spoofing per doel, en houd het consistent binnen een sessie.
Veelgestelde vragen
Hoe stel ik een proxy in Camoufox in?
Geef een Playwright-stijl dict door aan de Camoufox() constructor: proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. Inloggegevens horen in de aparte velden, niet in de server URL. Voeg geoip=True eraan toe zodat tijdzone, taalinstelling en coördinaten worden afgeleid van die exit in plaats van uw hostmachine.
Ondersteunt Camoufox SOCKS5 proxies?
Het proxy dict accepteert een socks5:// server, maar geauthenticeerde SOCKS5 is het bekende pijnpunt — discussie #334 meldt een lokale relay als de enige betrouwbare route, en volledige SOCKS5 ondersteuning is nog steeds een open verbeteringsverzoek (#368). De praktische oplossing is IP-whitelisting, wat de inlogvereiste volledig verwijdert, of het gebruik van de HTTP-poort van de gateway.
Wat doet geoip=True in Camoufox?
Het kijkt het exit IP op in een MaxMind-formaat database en gebruikt het resultaat om de lengtegraad, breedtegraad, tijdzone, land en taalinstelling van de browser in te stellen, het WebRTC adres te spoofen, en een plausibele taal voor de regio te kiezen. Het heeft de camoufox[geoip] extra geïnstalleerd nodig. U kunt ook een IP-string doorgeven in plaats van True om de zelfontdekkingsstap over te slaan.
Waarom krijg ik InvalidProxy: Failed to connect to proxy?
Omdat de geoip pre-check geen publieke IP API kon bereiken via uw proxy. Die eindpunten zijn HTTPS, dus de proxy moet CONNECT tunneling ondersteunen; een gateway die alleen plain HTTP doorstuurt faalt hier terwijl het elders lijkt te werken. Test met een HTTPS verzoek via dezelfde proxy, of los de exit zelf op en geef het door als geoip="1.2.3.4".
Camoufox's geoip optie is het beste argument in het ecosysteem om geld uit te geven aan IP-kwaliteit in plaats van aan meer ontwijkingscode. Het neemt het moeilijkste deel van vingerafdrukconsistentie — de browser laten overeenkomen met het netwerk — en lost het automatisch op, op voorwaarde dat het netwerk de waarheid vertelt. Koop eerst de exit, zet dan geoip aan. Als u Chromium nodig heeft in plaats van Firefox, draagt dezelfde discipline over naar onze Patchright proxy installatiegids. Dit is technische begeleiding, geen juridisch advies: scrape binnen de wet en de voorwaarden van het doel.