Camoufox Proxy i GeoIP: Twój adres IP wyjściowy to odcisk palca
Włącz geoip, a Camoufox wyprowadzi twoją strefę czasową, lokalizację, współrzędne i fałszywy adres WebRTC z adresu IP wyjściowego proxy. To sprawia, że błędnie oznaczone proxy jest bardziej widoczne niż brak proxy.
Większość poradników dotyczących proxy Camoufox kończy się na dwóch linijkach, które ustawiają proxy i geoip=True. Konsekwencją jest to, czego nikt nie zapisuje: z włączonym geoip, Camoufox wyprowadza twoją strefę czasową, lokalizację, szerokość i długość geograficzną oraz fałszywy adres WebRTC z adresu IP wyjściowego proxy. Proxy przestaje być przeskokiem sieciowym i staje się źródłem prawdy dla całej tożsamości. Podaj mu błędnie oznaczone lub zrecyklingowane wyjście, a Camoufox zbuduje idealnie spójny odcisk palca wokół kłamstwa — silniejszy sygnał niż brak fałszowania. Oto konfiguracja, błędy, które ludzie wklejają do Google, luka SOCKS5 i jak najpierw sprawdzić wyjście.
Co geoip faktycznie wyprowadza z twojego proxy
Camoufox to wersja Firefox z funkcją anty-detect, która opiera się na Playwright's Python API, więc konfiguracja proxy ma kształt Playwright. Warstwa geo to to, co ją wyróżnia. Zgodnie z dokumentacją projektu, geoip=True (lub docelowy adres IP) sprawia, że Camoufox używa szerokości, długości geograficznej, strefy czasowej, kraju i lokalizacji docelowego IP oraz fałszuje adres IP WebRTC — a następnie idzie dalej, obliczając język przeglądarki na podstawie rozkładu użytkowników języka w tym regionie, zamiast domyślnie przyjmować oficjalny język kraju. Wyszukiwania są przeprowadzane w bazie danych w formacie MaxMind, która jest dostarczana jako opcjonalny dodatek:
pip install -U "camoufox[geoip]"
python -m camoufox fetch
Dodatek [geoip] jest opcjonalny tylko w sensie pakowania — dokumentacja nazywa go mocno zalecanym, jeśli używasz proxy, i to jest niedopowiedzenie. Bez niego masz przeglądarkę stealth działającą na strefie czasowej i lokalizacji twojego komputera, podczas gdy jej IP twierdzi, że znajduje się w innym kraju. Oto minimalna działająca konfiguracja z uwierzytelnioną bramą HTTP:
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
Zwróć uwagę na kształt słownika proxy: dane uwierzytelniające umieszcza się w osobnych polach username i password, nigdy wewnątrz URL server. To jest dziedziczone z Playwright i to jest powód, dla którego uwierzytelnione proxy są tutaj bezproblemowe — bez rozszerzenia, bez dialogu uwierzytelniania do odrzucenia. Asynchroniczne API jest identyczne przez AsyncCamoufox. Jak to się ma do innych stosów stealth, zobacz naszą mapę wsparcia dla uwierzytelnionych proxy w ramach anty-detect.
Dlaczego złe proxy cię demaskuje
Systemy anty-bot rzadko polują na pojedynczą złą wartość. Polują na sprzeczności — dwa sygnały, które nie mogą być jednocześnie prawdziwe dla tego samego człowieka. Przeglądarka raportująca Europe/Rome z IP, które geolokalizuje się do Ohio, to jeden z nich. Funkcja geoip Camoufox istnieje, aby zabić tę klasę sprzeczności, i robi to dobrze. Haczyk polega na tym, że zawsze rozwiązuje sprzeczność na korzyść IP. Jeśli baza danych mówi, że twoje wyjście jest w Niemczech, ale adres jest zrecyklingowanym zakresem centrum danych, który połowa internetu już oznaczyła jako proxy, Camoufox sumiennie ubierze twoją przeglądarkę jako niemieckiego użytkownika domowego siedzącego na ASN, którego żaden niemiecki użytkownik domowy nigdy nie używał.
To sprawia, że jakość wyjścia jest problemem odcisków palców, a nie tylko blokowania. Dwa sprawdzenia należą do każdego uruchomienia: prawdziwy ASN i kraj wyjścia oraz czy IP już ma ocenę oszustwa lub proxy. Nasz darmowy sprawdzacz jakości IP odpowiada na oba, a proxy rezydencyjne na prawdziwych zakresach ISP w ponad 200 krajach to to, co sprawia, że wyprowadzona tożsamość jest w ogóle wiarygodna. Nic z tego nie zwalnia cię z warstwy poniżej — silnik nadal emituje uścisk dłoni TLS, a odcisk palca JA3/JA4 odczytuje go, zanim twoje fałszywe wartości zostaną kiedykolwiek wysłane.

Błędy proxy Camoufox, które faktycznie napotkasz
Trzy awarie dominują w trackerze problemów, a żadna z nich nie oznacza, że twoje dane uwierzytelniające są błędne:
InvalidProxy: Failed to connect to proxy— zgłoszone przed uruchomieniem przeglądarki i jest to efekt uboczny geoip. Camoufox rozwiązuje twój adres wyjściowy przez listę publicznych API IP, aby wiedzieć, co wyszukać. Te punkty końcowe są HTTPS, więc proxy, które nie może tunelować TLS przez CONNECT, nie przechodzi testu, nawet gdy zwykłe HTTP przez nie działa (dyskusja #397). Usuńgeoip, a to samo proxy 'działa' — dokładnie zły sposób naprawy.Page.goto: NS_ERROR_PROXY_CONNECTION_REFUSED— odmowa na poziomie Firefox. Problem #294 dokumentuje to dlalaunch_server(): ciąg proxy, który działa przy normalnym uruchomieniu, zawodzi, gdy przeglądarka jest uruchamiana jako serwer i sterowana przez jej punkt końcowy WebSocket, dane uwierzytelniające są ważne. Zweryfikuj proxy w bezpośrednim uruchomieniu najpierw, aby wiedzieć, która warstwa jest uszkodzona.- geoip plus wyjście IPv6 — błąd wyszukiwania tam, gdzie ta sama baza danych jest w porządku dla IPv4 (dyskusja #241). Na puli IPv6, rozwiąż adres samodzielnie i przekaż go.
Czyste obejście dla pierwszego i trzeciego przypadku jest udokumentowane, ale niedostatecznie używane: geoip akceptuje adres IP, a nie tylko True. Rozwiąż wyjście samodzielnie przez to samo proxy, a następnie przekaż Camoufox odpowiedź. Całkowicie pomijasz wewnętrzne wyszukiwanie, a jako bonus możesz zarejestrować, na którym wyjściu działała każda sesja:
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)
Dwa szczegóły mają znaczenie. Użyj sticky session, aby IP rozwiązane w kroku pierwszym było nadal wyjściem w kroku drugim — przy rotacji na żądanie są to różne adresy, a wyprowadzone geo jest błędne od pierwszego załadowania strony. I zakoduj procentowo dane uwierzytelniające zawierające @, : lub #: forma słownika jest odporna, forma URL nie.
Camoufox i SOCKS5: luka WebRTC i uwierzytelniania
SOCKS5 to miejsce, gdzie użytkownicy Camoufox utknęli, a powód jest ciekawszy niż brakująca funkcja. Problem #368 przedstawia to dokładnie: bez proxy, które obsługuje UDP, WebRTC może cię ujawnić. WebRTC negocjuje przez UDP, proxy HTTP są tylko TCP, a SOCKS5 to jedyny powszechny protokół z trybem skojarzenia UDP — dlatego ludzie chcą go tutaj szczególnie. Odpowiedzią Camoufox jest fałszowanie adresu WebRTC z danych geoip zamiast trasowania ścieżki multimediów, co pokrywa powszechny wyciek. Opcja block_webrtc usuwa powierzchnię całkowicie, kosztem wyglądania jak przeglądarka z wyłączonym WebRTC.
Uwierzytelnione SOCKS5 to trudniejsza luka. Dyskusja #334 to użytkownik pytający o sztuczkę i zgłaszający, że jedyną rzeczą, która zadziałała, było uruchomienie lokalnego serwera proxy do przekierowania ruchu przeglądarki do punktu końcowego SOCKS5 z loginem i hasłem. To nadal jest stan gry i pozostawia ci trzy opcje, w kolejności preferencji:
- Uwierzytelniaj przez białą listę IP. Dodaj adres swojego komputera lub serwera do listy dozwolonych, a punkt końcowy SOCKS5 nie potrzebuje żadnych danych uwierzytelniających. Każdy plan QuantumProxies udostępnia punkty końcowe HTTP i SOCKS5 oraz obsługuje białą listę jako alternatywę dla user:pass, co czyni to jednolinijkowym rozwiązaniem, a nie egzotycznym.
- Użyj portu HTTP tej samej bramy. O ile nie potrzebujesz konkretnie UDP, HTTP(S) z danymi uwierzytelniającymi w słowniku to mniej kłopotów. Nasze zestawienie SOCKS5 versus HTTP proxies omawia, kiedy różnica ma znaczenie.
- Uruchom lokalny przekaźnik, który akceptuje nieautoryzowane połączenie na
127.0.0.1i dodaje dane uwierzytelniające w górę — obejście z #334. Wskaż Camoufox nasocks5://127.0.0.1:1080i pozwól przekaźnikowi uwierzytelnić.
Uzyskaj punkty końcowe SOCKS5 z białą listą IP

Lista kontrolna przed uruchomieniem, zanim zaufasz geoip
- Rozwiąż adres IP wyjściowy przez proxy i zarejestruj go z identyfikatorem sesji. Jeśli nie możesz nazwać adresu, którego użyła sesja, nie możesz debugować blokady, którą otrzymała.
- Sprawdź prawdziwy kraj i ASN wyjścia w porównaniu z tym, co twierdzi pula. Niezgodności krajów zatruwają każdy wyprowadzony sygnał.
- Przypnij sticky session na całe życie przeglądarki. Rotacja w trakcie sesji zmienia IP pod odciskiem palca obliczonym dla starego.
- Załaduj stronę testową odcisków palców raz na pulę, a nie raz na projekt — strefa czasowa, lokalizacja i wartości WebRTC zmieniają się z wyjściem.
- Wybierz
block_webrtclub fałszowanie WebRTC oparte na geoip dla każdego celu i utrzymuj to spójne w ramach sesji.
Często zadawane pytania
Jak ustawić proxy w Camoufox?
Przekaż słownik w stylu Playwright do konstruktora Camoufox(): proxy={"server": "http://host:port", "username": "USER", "password": "PASS"}. Dane uwierzytelniające należą do osobnych pól, a nie do URL serwera. Dodaj geoip=True obok, aby strefa czasowa, lokalizacja i współrzędne były wyprowadzane z tego wyjścia zamiast z twojego komputera.
Czy Camoufox obsługuje proxy SOCKS5?
Słownik proxy akceptuje serwer socks5://, ale uwierzytelnione SOCKS5 to znany punkt bólu — dyskusja #334 zgłasza lokalny przekaźnik jako jedyną niezawodną trasę, a pełne wsparcie dla SOCKS5 to nadal otwarte żądanie ulepszenia (#368). Praktycznym rozwiązaniem jest biała lista IP, która całkowicie usuwa wymóg danych uwierzytelniających, lub użycie portu HTTP bramy.
Co robi geoip=True w Camoufox?
Wyszukuje adres IP wyjściowy w bazie danych w formacie MaxMind i używa wyniku do ustawienia szerokości, długości geograficznej, strefy czasowej, kraju i lokalizacji przeglądarki, fałszuje adres WebRTC i wybiera prawdopodobny język dla regionu. Wymaga zainstalowanego dodatku camoufox[geoip]. Możesz również przekazać ciąg IP zamiast True, aby pominąć krok samodzielnego odkrywania.
Dlaczego otrzymuję InvalidProxy: Failed to connect to proxy?
Ponieważ wstępne sprawdzenie geoip nie mogło dotrzeć do publicznego API IP przez twoje proxy. Te punkty końcowe są HTTPS, więc proxy musi obsługiwać tunelowanie CONNECT; brama, która tylko przekazuje zwykłe HTTP, zawodzi tutaj, podczas gdy wydaje się działać gdzie indziej. Przetestuj z żądaniem HTTPS przez to samo proxy lub rozwiąż wyjście samodzielnie i przekaż je jako geoip="1.2.3.4".
Opcja geoip Camoufox to najlepszy argument w ekosystemie za wydawaniem pieniędzy na jakość IP zamiast na więcej kodu unikania. Rozwiązuje najtrudniejszą część spójności odcisków palców — sprawienie, by przeglądarka zgadzała się z siecią — automatycznie, pod warunkiem, że sieć mówi prawdę. Kup wyjście najpierw, a potem włącz geoip. Jeśli potrzebujesz Chromium zamiast Firefox, ta sama dyscyplina przenosi się do naszego przewodnika konfiguracji proxy Patchright. To jest techniczne doradztwo, a nie porada prawna: skrob w ramach prawa i warunków celu.
Uruchom Camoufox na zweryfikowanych wyjściach rezydencyjnych