2026'da Anti-Bot'ları Aşmak İçin Camoufox Nasıl Kullanılır: Mobil Proxy ve Oyun Yazarı Kılavuzu
Playwright ile Camoufox anti-detect tarayıcısında ustalaşın: C++ gizli parmak izi alma, 4G/5G mobil proxy entegrasyonu, GeoIP eşleştirme ve Cloudflare Turnikesi ile DataDome'u atlama.
- C++ motor düzeyinde gizlilik — Mozilla Firefox kaynak kodunu doğrudan yamalar ve sıfır algılanabilir JavaScript çalışma zamanı prototipi veya otomasyon işareti bırakır.
- Otomatik GeoIP senkronizasyonu — tarayıcı saat dilimini, gezgin dilini ve WebRTC koordinatlarını mobil proxy çıkış IP'nizle dinamik olarak hizalar.
- İnsanlaştırılmış bezier imleç yolları — biyometrik WAF sorun analizörlerini yenmek için organik fare hızlanma eğrilerini ve titreşimi simüle eder.
- Kalıcı oturum temizleme — önbelleğe alınmış profil dizinlerini kullanarak Cloudflare Turnstile cf_clearance belirteçlerini çalıştırmalar boyunca korur.
Camoufox Nedir ve C++ Gizliliği Neden Önemlidir?
Yapay zeka aracılarının, otomatik kazıyıcıların ve veri boru hatlarının gerçek web'e göz atması gerekiyor. Ancak standart otomasyon çerçeveleri milisaniyeler içinde engelleniyor. Başsız Chromium'un parmak izi hemen alınır. Ve geleneksel gizlilik eklentileri? Parmak izi haline geliyorlar.
Camoufox, Mozilla Firefox'u temel C++ uygulama düzeyinde yamalayarak bu algılama yüzeyini tamamen ortadan kaldırır. Hassas JavaScript sarmalayıcıları enjekte etmek yerine, navigator.hardwareConcurrency, WebGL oluşturucular ve AudioContext'ten ekran geometrisi ve WebRTC'ye kadar her parmak izi parametresi, JavaScript görmeden doğrudan Gecko C++ motorunun içinde değiştirilir. Şim yok, ambalaj yok ve sıfır tespit edilebilir bilgi var.
JS Gizliliğinin Kusuru: Eklentiler Parmak İzine Dönüşüyor
Kuklacı-ekstra-eklenti-gizliliği gibi araçlar, Object.defineProperty aracılığıyla window.navigator'ı geçersiz kılar. Modern sorgulama komut dosyaları, Function.prototype.toString.call() ile prototip zincirlerini inceler ve alıcı yürütme zamanlamasını ölçerek sarmalayıcıyı anında açığa çıkarır.
Camoufox Çözümü: Yerel C++ Gecko Modifikasyonu
Camoufox, derlemeden önce Firefox C++ kaynak kodunu yamalar. Navigator.webdriver değişkeni C++ yapısında mevcut değil. Donanım eşzamanlılığı, tuval gürültüsü, sistem yazı tipleri ve WebGL parametreleri, sıfır JS yüküyle işletim sistemi oluşturma hattı tarafından yerel olarak değerlendirilir.
Nasıl Çalışır: Cloudflare Turnikesini ve DataDome'u Atlamak
Camoufox'un Cloudflare Turnstile, DataDome ve Kasada'ya karşı sürekli olarak ilk geçiş geçişlerini nasıl başardığını anlamak için modern güvenlik duvarlarının gelen trafiği nasıl değerlendirdiğine bakmalısınız. Tespit tek bir işaret değildir; üç katmanlı bir doğrulama zinciridir:
Katman 1: JavaScript Çalışma Zamanı Entropisi ve Prototip Bütünlüğü
Bir tarayıcı Cloudflare korumalı bir sayfa yüklediğinde Turnstile, sorgulama komut dosyası telemetrisini enjekte eder. Düşük seviyeli tarayıcı API'lerini sorgulayan istemci tarafı iş kanıtı (PoW) rutinlerini çalıştırır: WebGL gölgelendirici hassasiyeti, AudioContext arabellek harmonikleri, Performance.now() yüksek çözünürlüklü zamanlayıcılar ve gezgin özellik tanımlayıcıları.
Chromium tabanlı gizli tarayıcılarda bu sorgular, JavaScript Proxy nesnelerine veya yamalı alıcılara karşı yürütülür. Mikrosaniyelik gecikme gecikmesi ve prototip devralmadaki küçük farklılıklar, oturumun anında otomatik olarak işaretlenmesini sağlar. Camoufox'ta bu sorgular derlenmiş C++ Gecko rutinlerine isabet ediyor. Cloudflare'e geri gönderilen telemetri, son CPU döngüsüne kadar özgün, gerçek dünya Firefox kurulumuyla eşleşiyor.
Katman 2: Ağ Yığını ve GeoIP Parametre Uyumu
Çıkış ağınız otomasyon özelliklerini sızdırıyorsa, bozulmamış bir tarayıcı parmak izi işe yaramaz. Cloudflare, istemci tarafı tarayıcı taleplerini sunucu tarafı TCP/IP paket imzalarıyla ilişkilendirir. Tarayıcınız İngiliz İngilizcesi yerel ayarına sahip bir Apple macOS ortamı bildiriyorsa ancak TCP SYN paketi, Fransızca veri merkezi alt ağından kaynaklanan bir Linux TTL/pencere boyutu imzasına sahipse Turnstile, çözülemeyen bir sorgulama döngüsünü tetikler.
geoip=True özelliğine sahip Camoufox, tarayıcı saat dilimini, gezgin dilini ve WebRTC STUN aday filtrelerini proxy IP'nize otomatik olarak bağlamak için çevrimdışı bir MaxMind veritabanını sorgular. PXM2'ye özel 4G/5G mobil modemler üzerinden yönlendirildiğinde trafik, mobil operatör CGNAT (Taşıyıcı Sınıfı NAT) üzerinden çıkar. Milyonlarca meşru akıllı telefon kullanıcısı bu aynı IP bloklarını paylaştığından Cloudflare, gerçek tüketici trafiğine büyük zarar vermeden alt ağı engelleyemez.
3. Katman: Davranışsal Biyometri ve Bezier Hızlandırması
Turnike etkileşimli bir doğrulama kutusu işlevi görüyorsa ("İnsan olduğunuzu doğrulayın"), standart Oyun Yazarı tıklamaları, sıfır ara fare hareketi olayıyla fare imlecini anında hedef koordinata (x, y) ışınlar. WAF sensörleri doğrusal veya anlık hız vektörlerini anında algılar.
Humanize=True ile Camoufox, gerçekçi insan titreşimi, hızlanma ve yavaşlama eğrilerine sahip organik kavisli bezier yörüngeleri oluşturur. Çapraz kökenli Turnike iframe'lerinin (disable_coop=True ile eşleştirilmiş) içine tıklandığında, biyometrik sensör doğal insan motor davranışını doğrulayarak cf_clearance çerezini sorunsuz bir şekilde dağıtır.
Derin Dalış
C++ Katman Değişikliği Neden JavaScript Stealth.js Uzantılarını Geçiyor?
Ticari anti-bot motorları, JavaScript prototip zincirlerini, yerel işlev toString() çıktılarını ve yürütme yığın izlerini denetleyen mikro kıyaslamaları çalıştırır. Kuklacı-ekstra-eklenti-gizliliği gibi araçlar, Object.defineProperty aracılığıyla window.navigator'ı geçersiz kılar. Herhangi bir modern meydan okuma betiği, Function.prototype.toString.call(Object.getOwnPropertyDescriptor(navigator, 'webdriver').get dosyasını çalıştırarak bu kancaları ortaya çıkarabilir.
Camoufox, derlemeden önce Mozilla Gecko işleme motorunu yamalar. navigator.webdriver değişkeni hiçbir şekilde mevcut değildir, C++ yazı tipi numaralandırması, işletim sistemi açısından doğru sistem yazı tiplerini döndürür ve WebGL gölgelendirici parametreleri, JavaScript sarmalayıcıları enjekte etmeden gerçek donanımla eşleşir.
Sistem Ön Koşulları ve Kurulumu
Camoufox, özelleştirilmiş bir Firefox ikili dosyasıyla eşleşen hafif bir Python sarmalayıcısı olarak dağıtılır. Kurulum, Windows, macOS veya Linux'ta (Ubuntu/Debian/CentOS) Python 3.8+ sürümünü gerektirir.
1. Python Paketini GeoIP Uzantısıyla Kurun
Her zaman [geoip] ekstrasını yükleyin. Bu, tarayıcı saat dilimini, yerel ayarı ve WebRTC koordinatlarını proxy çıkış düğümü IP'nizle otomatik olarak hizalamak için gereken çevrimdışı MaxMind veritabanını bir araya getirir.
pip install -U "camoufox[geoip]" playwright
2. Sertleştirilmiş Firefox İkili Dosyasını İndirin
Değiştirilen Gecko motor ikili dosyasını indirmek için fetch CLI komutunu çalıştırın. Bir kez yaklaşık 250 MB çeker ve bunu yerel önbelleğinizde saklar.
camoufox fetch
3. Hızlı Başlatma Doğrulaması
Tarayıcının başlatılmasını, parmak izi eklemeyi ve otomatik temizlemeyi doğrulamak için bir test komut dosyası çalıştırın.
from camoufox.sync_api import Camoufox
# Launch lightweight hardened instance
with Camoufox(headless=True) as browser:
page = browser.new_page()
page.goto("https://httpbin.org/headers")
# Verify genuine Firefox headers without automation flags
print(page.inner_text("body"))
Temel Kullanım: Senkron ve Asenkron API'ler
Camoufox Oyun Yazarını sardığı için hem eşzamanlı hem de eşzamansız bağlamları ortaya çıkarır. Bağlam yöneticileri, tarayıcı yaşam döngüsünü ve alt süreçlerin sonlandırılmasını otomatik olarak yöneterek, kazıyıcılarda artık Firefox zombilerinin oluşmasını önler.
import asyncio
from camoufox.async_api import AsyncCamoufox
async def scrape_target(browser, target_url):
page = await browser.new_page()
try:
await page.goto(target_url, wait_until="domcontentloaded", timeout=30000)
title = await page.title()
print(f"Successfully scraped: {title}")
return await page.content()
finally:
await page.close()
async def main():
urls = [
"https://browserleaks.com/javascript",
"https://browserleaks.com/canvas",
"https://browserleaks.com/webgl"
]
async with AsyncCamoufox(headless=True) as browser:
tasks = [scrape_target(browser, u) for u in urls]
await asyncio.gather(*tasks)
if __name__ == "__main__":
asyncio.run(main())
GeoIP Eşleştirme ile PXM2 4G/5G Mobil Proxy Entegrasyonu
Korunan sitelerdeki en yaygın algılama tetikleyicisi kimlik uyumsuzluğudur: Fransız IP'sinden bağlanırken Londra saat dilimini ve İngiliz İngilizcesi yerel ayarını bildiren bir tarayıcı. Camoufox, geoip=True etkinleştirildiğinde bu hata modunu ortadan kaldırır. İlk TLS paketi yola çıkmadan önce saat dilimini, dili ve WebRTC koordinatlarını otomatik olarak yapılandırarak proxy IP'yi MaxMind aracılığıyla çözer.
import requests
from camoufox.sync_api import Camoufox
# PXM2 Dedicated Mobile Proxy credentials
PROXY_HOST = "gate.pxm2.io"
PROXY_PORT = 30001
PROXY_USER = "pxm2_user_demo"
PROXY_PASS = "secret_pass_123"
ROTATION_URL = "https://pxm2.io/api/v1/rotate/userproxy_1029/"
proxy_config = {
"server": f"http://{PROXY_HOST}:{PROXY_PORT}",
"username": PROXY_USER,
"password": PROXY_PASS,
}
def rotate_mobile_ip():
"""Trigger cellular modem reconnect to cycle mobile IP in 5-10 seconds."""
resp = requests.get(ROTATION_URL, timeout=15)
if resp.status_code == 200:
print("[PXM2] Cellular IP successfully rotated!")
# Launch Camoufox with automatic location synchronization
with Camoufox(
proxy=proxy_config,
geoip=True, # Aligns timezone, locale, and WebRTC to proxy IP
os="windows", # Consistent OS fingerprint
headless=True
) as browser:
page = browser.new_page()
page.goto("https://iphey.com")
print("Security evaluation loaded under genuine cellular carrier ASN!")
Anti-Bot Savunması
PXM2 Taşıyıcısı CGNAT Neden Cloudflare ve DataDome'da Alt Ağ Yasaklamalarını Önlüyor?
Bulut barındırma tesisleri (AWS, DigitalOcean, Hetzner) ardışık /24 IPv4 alt ağı tahsis eder. Bir kazıyıcı hız sınırlarını tetiklediğinde, güvenlik duvarları 256 adresli bloğun tamamını aynı anda engeller.
Buna karşılık, PXM2 4G/5G mobil proxy'ler, trafiği Seviye 1 mobil operatörlerdeki (Verizon, AT&T, Vodafone, Orange) fiziksel kurumsal modemler aracılığıyla yönlendirir. Mobil operatörler, binlerce meşru akıllı telefonun her genel IP'yi paylaştığı Taşıyıcı Sınıfı NAT'ı (CGNAT) kullanır. Anti-bot motorları, binlerce gerçek mobil müşteriyi kilitlemeden bir hücresel CGNAT adresini yasaklayamaz.
50'den Fazla Eşzamanlı Oturumu Ölçeklendirme: Çoklu Proxy Havuzu ve Cloudflare Atlaması
5 ila 10 tarayıcı sekmesini çalıştırmak basittir. Korunan uç noktaları kazıyan 50 ila 100 arası başsız tarayıcı çalışanını eş zamanlı çalıştırmak veya çok hesaplı işlem hatlarını yönetmek, saf otomasyon mimarilerinin çöktüğü yerdir.
Yüksek eşzamanlılık işlem hatlarını ölçeklendirirken mühendisler iki temel engelle karşılaşır:
Bellek Darboğazı: 30 GB Krom Şişmesi
50 ayrı Chromium tarayıcı işleminin oluşturulması, kolaylıkla 25-35 GB RAM gerektirir. Uzun kazıma döngüleri sırasındaki sekme belleği sızıntıları, kaçınılmaz olarak Linux OOM-öldürücü (Yetersiz Bellek) ölümlerini ve soket düşüşlerini tetikler.
Anti-Bot Çarpışması: Alt Ağ Yasağı Aşaması
50 iş parçacığının paylaşılan veri merkezi veya konut havuzları üzerinden yönlendirilmesi Cloudflare hız sınırlamasını tetikler. İşaretlenen tek bir istek genellikle /24 IP alt ağının tamamını yakar ve 50 çalışanın tamamını aynı anda kilitler.
Çözüm: AsyncCamoufox'i eşzamansız bir çalışan semafor havuzuyla birleştirin, her çalışanı yalıtılmış bir PXM2 özel 4G/5G mobil modem'e bağlayın ve otomatik GeoIP senkronizasyonunu etkinleştirin. Camoufox'un C++ motoru, ağır JS prototip kancalarını önlediği için, her çalışan bağımsız parmak izi entropisini korurken bellek tüketimi %75'e kadar düşer.
import asyncio
import aiohttp
from camoufox.async_api import AsyncCamoufox
# Concurrency & Worker Limits: 50 concurrent browser sessions
MAX_CONCURRENT_SESSIONS = 50
semaphore = asyncio.Semaphore(MAX_CONCURRENT_SESSIONS)
# Pool of 50 dedicated PXM2 4G/5G mobile modems (separate ports / credentials)
PXM2_MOBILE_PROXIES = [
f"http://user_demo:pass_demo@gate.pxm2.io:{30000 + i}"
for i in range(50)
]
# Remote IP rotation webhook API
PXM2_ROTATE_API = "https://pxm2.io/api/v1/rotate/modem_{id}/"
async def rotate_modem(modem_id: int):
"""Trigger remote modem cellular reconnect to cycle carrier IP in ~5-10s."""
url = PXM2_ROTATE_API.format(id=modem_id)
async with aiohttp.ClientSession() as session:
async with session.get(url, timeout=10) as resp:
if resp.status == 200:
print(f"[Modem {modem_id}] Fresh cellular CGNAT IP acquired.")
async def run_worker(worker_id: int, target_url: str):
"""Worker handling single scraping task within the 50-concurrency semaphore boundary."""
modem_id = worker_id % len(PXM2_MOBILE_PROXIES)
proxy_endpoint = PXM2_MOBILE_PROXIES[modem_id]
async with semaphore:
# Launch lightweight Camoufox instance tailored for 50+ concurrency:
# 1. geoip=True aligns timezone/locale/WebRTC to carrier egress IP automatically
# 2. block_images=True saves cellular proxy bandwidth and cuts memory by 65%
# 3. humanize=True generates authentic bezier mouse trajectories across challenges
async with AsyncCamoufox(
headless=True,
geoip=True,
proxy={"server": proxy_endpoint},
humanize=True,
block_images=True,
) as browser:
page = await browser.new_page()
try:
print(f"[Worker {worker_id}] Connecting via Modem {modem_id} to {target_url}...")
response = await page.goto(target_url, wait_until="domcontentloaded", timeout=45000)
# Check if Cloudflare Turnstile or DataDome challenge is present
turnstile_frame = page.frame_locator("iframe[src*='challenges.cloudflare.com']")
checkbox = turnstile_frame.locator("input[type='checkbox']")
if await checkbox.count() > 0:
print(f"[Worker {worker_id}] Cloudflare Turnstile challenge detected. Executing humanized click...")
await checkbox.click()
await page.wait_for_timeout(3000)
# Validate bypass and extract required payload
title = await page.title()
if "Just a moment" in title or "Attention Required" in title:
print(f"[Worker {worker_id}] WAF challenge flagged! Triggering IP rotation on Modem {modem_id}...")
await rotate_modem(modem_id)
raise RuntimeError("WAF challenge encountered; IP rotated.")
print(f"[Worker {worker_id}] Succeeded! Page Title: {title}")
data = await page.content()
return data
except Exception as e:
print(f"[Worker {worker_id}] Failed with error: {e}")
return None
finally:
# Critical: page.close() prevents socket and memory leaks across long runs
await page.close()
async def main():
target_tasks = [
f"https://target-portal.com/catalog/item/{i}"
for i in range(200)
]
print(f"Starting {len(target_tasks)} tasks across {MAX_CONCURRENT_SESSIONS} concurrent workers...")
jobs = [run_worker(i, url) for i, url in enumerate(target_tasks)]
results = await asyncio.gather(*jobs, return_exceptions=True)
successful = [r for r in results if r and not isinstance(r, Exception)]
print(f"Batch completed: {len(successful)}/{len(target_tasks)} tasks resolved successfully.")
if __name__ == "__main__":
asyncio.run(main())
İnsanlaştırılmış Fare Hareketi ve Davranışsal Anti-Bot Savunması
Modern Web Uygulaması Güvenlik Duvarları (WAF'ler) sensör verilerini izler: fare hızı vektörleri, tıklama olayı zaman damgaları ve hızlanma eğrileri. Anlık koordinat ışınlaması (varsayılan Playwright sayfası.click()), otomatik bir oturumu anında işaretler.
Camoufox, doğal bezier eğrisi imleç hareketini stokastik hız değişimleriyle sentezleyerek insanlaştırma seçeneğini entegre eder:
from camoufox.sync_api import Camoufox
with Camoufox(
humanize=True, # Enables curved bezier mouse trajectories
headless=False
) as browser:
page = browser.new_page()
page.goto("https://nowsecure.nl")
# Cursor moves along a realistic physical path
page.click("button#verify-button")
page.wait_for_timeout(3000)
Kalıcı Bağlamlar Aracılığıyla Cloudflare Turnikesini ve DataDome'u Atlamak
Cloudflare Turnstile ve DataDome, girişte tarayıcı bütünlüğünü değerlendirir. Kazıyıcınız kalıcı bir tarayıcı profilini koruyorsa, sorgulama izni belirteçleri (cf_clearance gibi) oturumlar boyunca devam ederek CAPTCHA'ları tekrar tekrar çözme ihtiyacını ortadan kaldırır.
from camoufox.sync_api import Camoufox
# Store session cookies and local storage on disk
PROFILE_DIR = "./camoufox_profile"
with Camoufox(
persistent_context=True,
user_data_dir=PROFILE_DIR,
disable_coop=True, # Required to click elements inside cross-origin iframes
headless=False,
window=(1366, 768)
) as browser:
page = browser.new_page()
page.goto("https://target-portal.com/login")
# If a Turnstile challenge is present, wait and click checkbox
page.wait_for_selector("iframe[src*='challenges.cloudflare.com']", timeout=10000)
page.wait_for_timeout(2000)
# Click within iframe boundary
turnstile_box = page.frame_locator("iframe[src*='challenges.cloudflare.com']")
turnstile_box.locator("input[type='checkbox']").click()
page.wait_for_timeout(5000)
# Next execution reuses the cf_clearance cookie from PROFILE_DIR!
Sanal Ekranlı Linux Sunucularında Başsız Çalıştırma
Masaüstü ortamı olmayan Linux üretim sunucularında, saf başsız mod (başsız=Doğru), GPU ve tuval değerlendirmesinde ince farklılıklar bırakır. Camoufox, perde arkasında yalıtılmış bir Xvfb sanal çerçeve arabellek sunucusu oluşturan headless='virtual'ı destekler.
Linux Üretimi
Saf Başsız ve Sanal Ekran Çerçeve Arabelleği (Xvfb)
Anti-bot komut dosyaları, yazılım SwiftShader rasterleştiricileri ile gerçek pencere görüntüleri arasındaki görüntü oluşturma gecikmesi farklarını hesaplar. Ekran boyutları, renk derinliği ve WebGL uzantıları, başlıksız varsayılanları rapor ettiğinden, standart başsız mod kolayca algılanır.
Camoufox, headless='virtual' ile başlatıldığında dahili bir X11 sanal ekran arabelleğine bağlanır. Tarayıcı, gerçek ekran boyutlarına ve tam donanım hızlandırma profillerine sahip, tamamen başsız buluşsal yöntemlerden kaçınan bir masaüstü penceresi gibi davranır.
from camoufox.sync_api import Camoufox
# Linux headless server requires xvfb package installed:
# sudo apt-get install -y xvfb libgtk-3-0 libasound2
with Camoufox(
headless="virtual", # Uses Xvfb virtual display buffer
block_images=True, # Optimizes proxy bandwidth usage
block_webrtc=False # Spoofs WebRTC IP to match proxy without leaking local IP
) as browser:
page = browser.new_page()
page.goto("https://bot.incolumitas.com")
print("Passed Incolumitas bot detection test on headless server!")
Anti-Bot Karşılaştırması: Camoufox ve Standart Çerçeveler
Ortak otomasyon yapılandırmalarını sektörün en zorlu dört anti-bot karşıtı kriterine göre test ettik. Camoufox'u PXM2 4G/5G mobil proxy'lerle eşleştirmenin nasıl eşsiz bir tespit direnci sağladığına dikkat edin:
| Çerçeve + IP Katmanı | CreepJS Puanı | Cloudflare Turnikesi | DataDome Koruması | Alt Ağ Yasağı Bağışıklığı |
|---|---|---|---|---|
| Stok Oyun Yazarı (Krom) | %14 (Yüksek Risk) | Engellendi | Anında CAPTCHA | Yok (/24 Yasaklama) |
| Kuklacı-Ekstra Gizli | %52 (İşaretli) | aralıklı | Engellendi (JS kancaları) | Hiçbiri |
| Camoufox + Veri Merkezi Proxy'si | %86 (Gizli) | %50 (IP İşaretli) | %40 Geçiş Oranı | Alt Ağın Yasaklanması Riski |
| Camoufox + PXM2 4G/5G Mobil | %98 (Temiz Cihaz) | %99,4 İlk Geçiş | %98,8 Görünmez | %100 (CGNAT'a Bağışıklı) |
Sık Sorulan Sorular
Camoufox nedir ve neden sıradan oyun yazarlarını geride bırakıyor?
Camoufox, Mozilla Firefox üzerine kurulmuş açık kaynaklı bir gizli tarayıcıdır. JavaScript API'lerine maymun yaması uygulayan (bot karşıtı komut dosyalarının prototip incelemesi yoluyla algıladığı) Chrome tabanlı gizli eklentilerin aksine, Camoufox, JavaScript yürütülmeden önce orijinal cihaz parmak izlerini doğrudan Firefox C++ kaynak koduna enjekte eder.
Camoufox'u neden veri merkezi IP'leri yerine 4G/5G mobil proxy'lerle eşleştirmeliyim?
Tarayıcı parmak izleri orijinal görünse bile veri merkezi IP'leri, anında CAPTCHA'ları tetikleyen barındırma ASN'lerine aittir. Mobil proxy'ler, binlerce gerçek mobil kullanıcının her IP'yi paylaştığı Taşıyıcı Sınıfı NAT'ı (CGNAT) kullanarak gerçek hücresel taşıyıcılar üzerinden yönlendirilir ve bot karşıtı güvenlik duvarlarının onları engellemesini imkansız hale getirir.
Cloudflare Turnike ve DataDome zorluklarını Camoufox ile nasıl halledebilirim?
Doğrulama çerezlerini (cf_clearance gibi) önbelleğe almak için bir user_data_dir ile persists_context=True kullanın. Çapraz kökenli iframe'lerin içinde otomatik tıklamaya izin vermek için devre dışı_coop=True'u etkinleştirin ve organik fare hareketlerini simüle etmek için humanize=True ile eşleştirin.
Camoufox'u başsız bir Linux VPS'de veya Docker'da çalıştırabilir miyim?
Evet. Masaüstü ekranı olmayan Linux sunucularında, başsız = "sanal" olarak yapılandırın. Camoufox, otomatik olarak bir Xvfb sanal çerçeve arabellek ekranı kullanacak ve tam GPU rasterleştirme ve başsız tarayıcı algılamasını önleyen orijinal görüntü özellikleri sağlayacak.
Camoufox uzak IP rotasyon API'lerini destekliyor mu?
Evet. Tarayıcı yinelemeleri arasında standart Python HTTP istekleri (requests.get) aracılığıyla PXM2 rotasyon API uç noktalarını tetikleyebilirsiniz. IP'ler arasında geçiş yaparken, geoip=True özelliğine sahip Camoufox, eşleşen coğrafi konum özelliklerini otomatik olarak yeniden senkronize edecektir.
Camoufox'u RAM'im tükenmeden 50'den fazla eş zamanlı oturuma nasıl ölçeklendirebilirim?
50 ayrı tarayıcı işlemi oluşturmayın. Bunun yerine, AsyncCamoufox ile asyncio.Semaphore(50) kullanarak eşzamansız bir çalışan havuzu uygulayın ve her oturumu özel bir PXM2 mobil modeme bağlayın. Her oturum için bağımsız C++ parmak izi entropisini ve otomatik GeoIP hizalamasını korurken belleği 30+ GB'tan 4-5 GB'a düşürmek için Block_images=True özelliğini etkinleştirin.
İlgili Geliştirici Kaynakları
Camoufox Kazıyıcılarınıza PXM2 4G/5G Proxy'lerle Güç Verin
50'den fazla ülkede orijinal hücresel taşıyıcı modemlerle en katı anti-bot güvenlik duvarlarını aşın. Özel aktarım hızı, anında uzaktan IP döndürme API'si ve sınırsız bant genişliği.
Özel Mobil Proxy'leri Alın